Description
Test whether text already matches a chosen Unicode normalization form.
Text comparison depends on the character policy used. Whitespace changes and Unicode normalization can alter a string even when parts of it look similar. An explicit transformation or status check makes that policy visible without establishing that two identifiers have the same real-world meaning.
Test whether text already matches a chosen Unicode normalization form.
When to use this tool
Use Unicode Normal Form Status when you need to disclose or test the selected character transformation before comparing text.
How to use the tool and how it works
- Enter text, form. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read normalized. Inspect normalized before interpreting the associated values.
Require form NFC, NFD, NFKC, or NFKD. Normalize text with JavaScript String.normalize(form) and return normalized when the original string equals that result exactly.1
NFC and NFD use canonical equivalence, while NFKC and NFKD include compatibility normalization.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| text | Text | Required. Text; maximum UTF-16 length 8192. |
| form | Form | Required. Text; one of "NFC", "NFD", "NFKC", "NFKD"; maximum UTF-16 length 8192. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| normalized | Boolean status; the normalized string itself is not returned. | Required. Boolean. |
{
"input": {
"text": "é",
"form": "NFC"
},
"output": {
"normalized": false
}
} Limitations and assumptions
- The output is a status flag rather than the transformed text. Unicode data depend on the JavaScript runtime; normalization does not establish visual identity, case equivalence, safe identifiers, or language correctness.
- The field tables state structural bounds; the mechanics also specify cross-field constraints. Malformed inputs and unsupported domains cause errors. A successful false flag, empty branch value, or zero placeholder has the meaning stated above and is distinct from an input error.
Alternative or Complementary methods
Choose the character policy explicitly before comparing or transforming identifiers. Inspect the original text when normalization or whitespace removal could change its meaning.
References
-
Calculation and input contract: validate/unicode-normal-form-status — tool.io
-
Unicode Standard Annex #15: Unicode Normalization Forms — Unicode Consortium
Similar or alternative tools
- Identifier Whitespace Normalization Disclosure
Remove all JavaScript whitespace characters when removeInternal is true, otherwise trim only the ends.
- Ark Qualifier Leading Separator Check
Return valid when qualifier is empty or starts with slash or dot.