← All tools

Unicode Normalizer

Normalize text to any of the four Unicode normalization forms — NFC (canonical composition), NFD (canonical decomposition), NFKC (compatibility composition), and NFKD (compatibility decomposition). See which characters change: accented letters split into a base + combining mark (or merge back), ligatures and superscripts fold to their plain equivalents under the K forms, and look-alikes like the ohm sign Ω or ångström Å resolve to their canonical letters. Useful for comparing strings, storing keys, deduplicating, and understanding why two visually identical strings aren't equal. Everything runs locally in your browser.

Input
Normalize to

Output

In code units
Out code units
In code points
Out code points
In graphemes
Changed code pts

Input is already in form…

Per-code-point changes

Unicode assigns some characters more than one representation: é can be the single code point U+00E9 or the pair U+0065 U+0301 (an e plus a combining acute accent). Canonical equivalence (NFC/NFD) treats these as equal and switches between composed and decomposed forms. Compatibility decomposition (NFKC/NFKD) additionally folds characters that are merely similar in appearance — the ligature (U+FB01) becomes fi, the superscript ² (U+00B2) becomes 2, the ohm sign Ω (U+2126) becomes the Greek capital omega Ω (U+03A9), and the ångström Å (U+212B) becomes Å (U+00C5) — even though those changes are not strictly identity. NFC is the recommended general form; NFKC is common for search and identifier matching. Code units are UTF-16 units (so a supplementary-plane character counts as 2); code points and graphemes count what you see. Everything runs locally — nothing leaves your browser.