Skip to content
Input
Text
Unicode
17.0
Runtime
Browser

Check text against all four Unicode normalization forms

Compare one string against NFC, NFD, NFKC, and NFKD without silently changing the input.

Local processingNo sign-upNo fetch or upload

Input

Enter text to test against all four forms.

Local

Normalization report

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

A string can already satisfy more than one form, and compatibility forms answer a different question from canonical forms. The report keeps all four booleans and results separate.

A normalization check reports state instead of rewriting it

A string can already satisfy more than one form, and compatibility forms answer a different question from canonical forms. The report keeps all four booleans and results separate.

Checking does not mutate the source. Each candidate serialization is shown so a pipeline can choose its own policy.

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