# Unicode normalizer

- Human page: https://happytails.ai/en/text-tools/normalize-unicode/
- Markdown: https://happytails.ai/en/text-tools/normalize-unicode.md
- Structured JSON: https://happytails.ai/agents/en/text-tools/normalize-unicode/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `normalize-unicode` |
| Category | text-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 |

### Implementation notes

NFC combines equivalent accents; NFD separates them. NFKC and NFKD also change compatibility characters such as full-width letters. Review the result before replacing identifiers.

### Inputs and settings

Text input: Your text.

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

```text
Type or paste your input…
```

Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `form` | Normalization form | select | "NFC" | Allowed: NFC, NFD, NFKC, NFKD |

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

NFC combines equivalent accents; NFD separates them. NFKC and NFKD also change compatibility characters such as full-width letters. Review the result before replacing identifiers.

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

### Complete machine-readable capability record

```json
{
  "id": "normalize-unicode",
  "category": "text-tools",
  "built": true,
  "requirements": "NFC combines equivalent accents; NFD separates them. NFKC and NFKD also change compatibility characters such as full-width letters. Review the result before replacing identifiers.",
  "implementation": {
    "fields": [
      {
        "key": "form",
        "label": "Normalization form",
        "value": "NFC",
        "type": "select",
        "values": [
          "NFC",
          "NFD",
          "NFKC",
          "NFKD"
        ]
      }
    ],
    "live": true,
    "note": "NFC combines equivalent accents; NFD separates them. NFKC and NFKD also change compatibility characters such as full-width letters. Review the result before replacing identifiers.",
    "experience": {
      "automatic": true,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Change the input or settings to update your result. 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

Make equivalent Unicode text use the same character representation.

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 Unicode normalizer

1. Choose NFC for composed accents, or a different normalization form if your destination requires it. Paste your text and copy the normalized result.
2. The two-code-point sequence e plus a combining acute accent becomes the single character é in NFC.

## Useful next steps

- [Remove diacritics](https://happytails.ai/en/text-tools/remove-diacritics/) ([Markdown](https://happytails.ai/en/text-tools/remove-diacritics.md))

- [Remove invisible characters](https://happytails.ai/en/text-tools/remove-invisible-characters/) ([Markdown](https://happytails.ai/en/text-tools/remove-invisible-characters.md))

- [Character counter](https://happytails.ai/en/text-tools/character-counter/) ([Markdown](https://happytails.ai/en/text-tools/character-counter.md))

## How to use it

Choose NFC for composed accents, or a different normalization form if your destination requires it. Paste your text and copy the normalized result.

### Try a small example

The two-code-point sequence e plus a combining acute accent becomes the single character é in NFC.

### What to know

NFC combines equivalent accents; NFD separates them. NFKC and NFKD also change compatibility characters such as full-width letters. Review the result before replacing identifiers.
