Skip to content
Input
Text
Unicode
17.0
Runtime
Browser

Normalize Unicode text with one explicit form

Apply exactly one canonical or compatibility normalization form to reviewed text.

Local processingNo sign-upNo fetch or upload

Input

Choose NFC, NFD, NFKC, or NFKD explicitly.

Local

Normalized text

Submit the example or replace it with your own text. The result appears here without a network request.

What this tool proves

Explicit Unicode interpretation

NFC and NFD preserve canonical equivalence with different composition. NFKC and NFKD also fold compatibility distinctions and can be intentionally lossy.

Normalization form is part of the transformation contract

NFC and NFD preserve canonical equivalence with different composition. NFKC and NFKD also fold compatibility distinctions and can be intentionally lossy.

The chosen form remains visible at submission; compatibility forms return a warning rather than pretending every presentation distinction survives.

Unicode text stays scalar, private, and bounded

Every operation rejects lone UTF-16 surrogates before processing. Inputs are capped at 256 KiB, report operations at 20,000 code points, and output at 1 MiB.

The work starts only after submission and stays in the current browser tab. Tool Swim does not upload text, call the developer API, retain results, or save presets.

Primary references

Questions and answers

Related Unicode tools