Normalize text to Unicode NFC, NFD, NFKC or NFKD as you type. Convert full-width letters and half-width katakana, and unify accented characters. Shows how many code points changed, so differences that look identical on screen become visible. Runs in your browser.
In Unicode, the same visible text can be stored in more than one way. é can be a single character (U+00E9) or e followed by a combining accent (U+0065 U+0301). Full-width A and half-width A, or ① and 1, are also different characters with related meanings. Normalization converts text to one consistent form so that searching, comparing and sorting work as expected.
This tool applies the browser's built-in String.prototype.normalize() with the form you choose.
| Form | What it does | Typical use |
|---|---|---|
| NFC | Composes characters (e + accent → é) | Standard form for storing and exchanging text on the web |
| NFD | Decomposes characters (é → e + accent) | Removing accents, or matching filenames created on macOS |
| NFKC | Replaces compatibility characters, then composes | Search keys, user input cleanup, full-width/half-width unification |
| NFKD | Replaces compatibility characters, then decomposes | Text analysis where accents are handled separately |
The "K" (compatibility) forms change how some text looks, for example fi becomes fi and x² becomes x2, so use them for matching rather than for text you will display as-is.
| Input | NFC | NFD | NFKC |
|---|---|---|---|
ABC123 | unchanged | unchanged | ABC123 |
ガギ (half-width) | unchanged | unchanged | ガギ |
① / ㍻ / ™ | unchanged | unchanged | 1 / 平成 / TM |
é (1 code point) | é (1) | é (2) | é (1) |
Use NFC for storing and sending text. Use NFKC when you want to treat full-width and half-width characters, circled numbers and similar variants as the same, for example to build search keys or to clean up form input.
Many changes are invisible. A decomposed é and a composed é look identical but differ in code points. Check the code point count below Output text to see whether the text actually changed.
No. Normalization does not change kana type or letter case. Use the Hiragana / Katakana Converter or the Case Converter for that.
No. Normalization runs in your browser.