# Byte order mark editor

- Human page: https://happytails.ai/en/developer-tools/byte-order-mark-editor/
- Markdown: https://happytails.ai/en/developer-tools/byte-order-mark-editor.md
- Structured JSON: https://happytails.ai/agents/en/developer-tools/byte-order-mark-editor/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `byte-order-mark-editor` |
| Category | developer-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Inspect, add or remove a leading encoding marker. Adding validates the selected encoding; this does not transcode the payload. Maximum 256 MiB.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

Accepted browser files: `See implementation notes`. Choose one file.

Browser file-input limit: 268435456 bytes in total. HTTP limits can differ.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `action` | Action | select | "Inspect" | Allowed: Inspect, Add marker, Remove marker |
| `encoding` | Encoding to validate when adding | select | "UTF-8" | Allowed: UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

One file up to 256 MiB. Adding a marker validates the selected UTF-8, UTF-16 or UTF-32 encoding. Removing a marker strips only a recognized leading marker. No encoding conversion is performed.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "byte-order-mark-editor",
  "category": "developer-tools",
  "built": true,
  "requirements": "One file up to 256 MiB. Adding a marker validates the selected UTF-8, UTF-16 or UTF-32 encoding. Removing a marker strips only a recognized leading marker. No encoding conversion is performed.",
  "implementation": {
    "fields": [
      {
        "key": "action",
        "label": "Action",
        "value": "Inspect",
        "type": "select",
        "values": [
          "Inspect",
          "Add marker",
          "Remove marker"
        ]
      },
      {
        "key": "encoding",
        "label": "Encoding to validate when adding",
        "value": "UTF-8",
        "type": "select",
        "values": [
          "UTF-8",
          "UTF-16LE",
          "UTF-16BE",
          "UTF-32LE",
          "UTF-32BE"
        ]
      }
    ],
    "files": true,
    "input": false,
    "multiple": false,
    "maxFileBytes": 268435456,
    "presentation": "metrics",
    "deferImagePreview": true,
    "note": "Inspect, add or remove a leading encoding marker. Adding validates the selected encoding; this does not transcode the payload. Maximum 256 MiB.",
    "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"
  }
}
```

## Page guide

Inspect, add or remove a UTF byte order mark without changing the encoded payload.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Byte order mark editor

1. Choose the local file or files.
2. Review the action and limits, then run the inspection.
3. Check the result and download a separate output or report.

## Useful next steps

- [Line ending auditor](https://happytails.ai/en/developer-tools/line-ending-auditor/) ([Markdown](https://happytails.ai/en/developer-tools/line-ending-auditor.md))

- [Binary file comparator](https://happytails.ai/en/developer-tools/binary-file-comparator/) ([Markdown](https://happytails.ai/en/developer-tools/binary-file-comparator.md))

- [File hash](https://happytails.ai/en/developer-tools/file-hash/) ([Markdown](https://happytails.ai/en/developer-tools/file-hash.md))

## Inspect the leading bytes

Choose a local file and inspect the detected marker. A missing marker does not identify the file encoding.

### Add or remove explicitly

Choose the action. Adding validates the payload against the selected encoding; conflicting markers and invalid code units are rejected.

### Keep the original

Download a new binary file. Every byte after the marker is preserved, and the source is never modified.
