# HTML escape

- Human page: https://happytails.ai/en/developer-tools/html-escape/
- Markdown: https://happytails.ai/en/developer-tools/html-escape.md
- Structured JSON: https://happytails.ai/agents/en/developer-tools/html-escape/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `html-escape` |
| Category | developer-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Automatic updates after valid input or file selection. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Inputs and settings

Text input: HTML source.

Example or placeholder shown in the interface (not a validated fixture):

```text
<p>Hello <strong>world</strong>.</p>
```

Paste HTML markup, not a website URL. Results update as you type. Up to 1,000,000 characters.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `direction` | Direction | select | "Encode" | Allowed: Encode, Decode |

### 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

Escape/unescape modes; clarify encoding is not complete HTML sanitization.

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

### Complete machine-readable capability record

```json
{
  "id": "html-escape",
  "category": "developer-tools",
  "built": true,
  "requirements": "Escape/unescape modes; clarify encoding is not complete HTML sanitization.",
  "implementation": {
    "fields": [
      {
        "key": "direction",
        "label": "Direction",
        "value": "Encode",
        "type": "select",
        "values": [
          "Encode",
          "Decode"
        ]
      }
    ],
    "experience": {
      "automatic": true,
      "single": false,
      "label": "HTML source",
      "placeholder": "<p>Hello <strong>world</strong>.</p>",
      "help": "Paste HTML markup, not a website URL. Results update as you type. Up to 1,000,000 characters.",
      "action": null
    },
    "mode": "automatic",
    "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

Escape/unescape modes.

## Useful next steps

- [Base64 encoder decoder](https://happytails.ai/en/developer-tools/base64-encoder-decoder/): Encode/decode tabs. ([Markdown](https://happytails.ai/en/developer-tools/base64-encoder-decoder.md))

- [URL encoder decoder](https://happytails.ai/en/developer-tools/url-encoder-decoder/): Encode or decode a URL component. ([Markdown](https://happytails.ai/en/developer-tools/url-encoder-decoder.md))

- [JWT decoder](https://happytails.ai/en/developer-tools/jwt-decoder/): Decode header/payload locally. ([Markdown](https://happytails.ai/en/developer-tools/jwt-decoder.md))

## How to use HTML escape

1. Enter html source in the input field.
2. The result updates as you type. Adjust the available settings if needed.
3. Review the result, then use Copy result or a download link when available.

## Working with html escape

Formatting makes existing data or code easier to read. Validation checks whether it follows a syntax or schema. Conversion maps it into another representation. Choosing the right operation helps avoid treating a neatly formatted result as proof that the underlying data is correct.

## Common questions

### Does valid JSON mean the data is correct?

Syntax validation only establishes that the text can be parsed as JSON. A schema can check required fields and types, but neither proves that an email address, price or external record is factually correct.

### Is decoding the same as decrypting or verifying?

No. Base64 and URL encoding are representations, not encryption. Reading a token payload does not verify its signature. Use the specific validation or verification process required by the system receiving the result.

Continue your workflow: [Base64 encoder decoder](https://happytails.ai/en/developer-tools/base64-encoder-decoder/), [URL encoder decoder](https://happytails.ai/en/developer-tools/url-encoder-decoder/), [JWT decoder](https://happytails.ai/en/developer-tools/jwt-decoder/).
