{
  "title": "Binary file comparator",
  "human_url": "https://happytails.ai/en/developer-tools/binary-file-comparator/",
  "agent_url": "https://happytails.ai/agents/en/developer-tools/binary-file-comparator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/developer-tools/binary-file-comparator.md",
  "content": "Binary file comparator\nCompare two local files byte by byte and download the changed offset ranges.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Binary file comparator\nChoose the local file or files.\nReview the action and limits, then run the inspection.\nCheck the result and download a separate output or report.\nUseful next steps\nByte order mark editor\nLine ending auditor\nFile hash\nChoose two files\nSelect both local files. Their selection order determines the left and right byte streams.\nInspect changed regions\nEach contiguous difference becomes an offset range. Extra bytes at the end also count as differences.\nExport a precise report\nDownload CSV with decimal and hexadecimal starting offsets and JSON with the byte counts. Neither original file is modified.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Byte order mark editor",
      "url": "https://happytails.ai/en/developer-tools/byte-order-mark-editor/"
    },
    {
      "name": "Line ending auditor",
      "url": "https://happytails.ai/en/developer-tools/line-ending-auditor/"
    },
    {
      "name": "File hash",
      "url": "https://happytails.ai/en/developer-tools/file-hash/"
    }
  ],
  "tool": {
    "id": "binary-file-comparator",
    "category": "developer-tools",
    "built": true,
    "requirements": "Exactly two files, up to 256 MiB each and 512 MiB total. Offsets start at zero; range ends are exclusive. Comparison uses corresponding offsets and does not realign insertions. Up to 10,000 ranges are exported, with the total count retained.",
    "implementation": {
      "fields": [],
      "files": true,
      "input": false,
      "multiple": true,
      "maxFileBytes": 536870912,
      "presentation": "metrics",
      "deferImagePreview": true,
      "note": "Select exactly two files, each up to 256 MiB. Compare corresponding byte offsets; inserted data is not realigned. Download changed regions with decimal and hexadecimal offsets.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Up to 1,000,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Binary file comparator\n\n- Human page: https://happytails.ai/en/developer-tools/binary-file-comparator/\n- Markdown: https://happytails.ai/en/developer-tools/binary-file-comparator.md\n- Structured JSON: https://happytails.ai/agents/en/developer-tools/binary-file-comparator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `binary-file-comparator` |\n| Category | developer-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSelect exactly two files, each up to 256 MiB. Compare corresponding byte offsets; inserted data is not realigned. Download changed regions with decimal and hexadecimal offsets.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\nAccepted browser files: `See implementation notes`. Multiple files are supported.\n\nBrowser file-input limit: 536870912 bytes in total. HTTP limits can differ.\n\nNo additional settings are declared for this tool.\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nExactly two files, up to 256 MiB each and 512 MiB total. Offsets start at zero; range ends are exclusive. Comparison uses corresponding offsets and does not realign insertions. Up to 10,000 ranges are exported, with the total count retained.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"binary-file-comparator\",\n  \"category\": \"developer-tools\",\n  \"built\": true,\n  \"requirements\": \"Exactly two files, up to 256 MiB each and 512 MiB total. Offsets start at zero; range ends are exclusive. Comparison uses corresponding offsets and does not realign insertions. Up to 10,000 ranges are exported, with the total count retained.\",\n  \"implementation\": {\n    \"fields\": [],\n    \"files\": true,\n    \"input\": false,\n    \"multiple\": true,\n    \"maxFileBytes\": 536870912,\n    \"presentation\": \"metrics\",\n    \"deferImagePreview\": true,\n    \"note\": \"Select exactly two files, each up to 256 MiB. Compare corresponding byte offsets; inserted data is not realigned. Download changed regions with decimal and hexadecimal offsets.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCompare two local files byte by byte and download the changed offset ranges.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Binary file comparator\n\n1. Choose the local file or files.\n2. Review the action and limits, then run the inspection.\n3. Check the result and download a separate output or report.\n\n## Useful next steps\n\n- [Byte order mark editor](https://happytails.ai/en/developer-tools/byte-order-mark-editor/) ([Markdown](https://happytails.ai/en/developer-tools/byte-order-mark-editor.md))\n\n- [Line ending auditor](https://happytails.ai/en/developer-tools/line-ending-auditor/) ([Markdown](https://happytails.ai/en/developer-tools/line-ending-auditor.md))\n\n- [File hash](https://happytails.ai/en/developer-tools/file-hash/) ([Markdown](https://happytails.ai/en/developer-tools/file-hash.md))\n\n## Choose two files\n\nSelect both local files. Their selection order determines the left and right byte streams.\n\n### Inspect changed regions\n\nEach contiguous difference becomes an offset range. Extra bytes at the end also count as differences.\n\n### Export a precise report\n\nDownload CSV with decimal and hexadecimal starting offsets and JSON with the byte counts. Neither original file is modified.\n"
}