Skip to content

Main content

Unicode Normal Form Status Tool

Calculate unicode normal form status from explicit caller-supplied inputs.

Loading tool…

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

  1. Enter text, form. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. 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 fieldMeaning and unitsAccepted input
textTextRequired. Text; maximum UTF-16 length 8192.
formFormRequired. Text; one of "NFC", "NFD", "NFKC", "NFKD"; maximum UTF-16 length 8192.
Output fieldInterpretationReturned shape
normalizedBoolean status; the normalized string itself is not returned.Required. Boolean.
json
{
  "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

  1. Calculation and input contract: validate/unicode-normal-form-status — tool.io

  2. Unicode Standard Annex #15: Unicode Normalization Forms — Unicode Consortium

Similar or alternative tools