Prepare the input
Paste a representative sample containing accents, combining marks, width variants, ligatures, symbols, or imported text that behaves inconsistently.
Normalize equivalent Unicode sequences deliberately
Convert text to NFC, NFD, NFKC, or NFKD while reporting code-point changes, preserving the source for comparison, and documenting compatibility risks. Canonical forms can change encoding without changing appearance, while compatibility forms can intentionally fold distinctions such as width or presentation characters.
Counting and transformations run locally. Nirmion does not send the text in this workspace to an API.
Product guide
Paste a representative sample containing accents, combining marks, width variants, ligatures, symbols, or imported text that behaves inconsistently.
NFC composes canonical sequences, NFD decomposes them, NFKC composes after compatibility folding, and NFKD decomposes after compatibility folding.
Compare code points and test the result in search, validation, signatures, identifiers, rendering, and downstream systems before changing stored production data.
How it works
JavaScript String.normalize receives one of the four standardized forms. NFC and NFD apply canonical equivalence, while NFKC and NFKD also apply compatibility mappings. The tool counts Unicode code points before and after but does not transliterate, case-fold, trim, or remove invisible characters. The operation handles at most 500,000 input units and one million output units, and rejects any unlisted normalization form. The operation runs in this browser tab, applies explicit bounds before expensive work, and does not send workspace text to a Nirmion API.
Useful when
Use Unicode normalization when equivalent-looking sequences create a known technical problem and the chosen form matches the data contract.
Questions answered
Practical boundaries matter with text tools. These answers explain what is measured, what is retained, and when a manual review is still needed.
NFC is a common storage default, but the correct choice belongs to the receiving specification. Do not choose compatibility forms without understanding their folding behavior.
No. NFD can separate a base letter and mark, but both remain. Use Accent Remover only when mark deletion is actually intended.
Yes. Canonically equivalent sequences often render identically while code-point count and bytes change.
Privacy and retention
Nirmion performs these operations with browser JavaScript. The workspace does not call the catalogue API with your source text, and completed-job content is kept only in this component memory for re-download.
A downloaded file remains in your browser downloads, device storage, backups, and any location where you share it. Clear or close the page when working on a shared device, and avoid pasting secrets into extensions or third-party clipboard managers.
Tool details
Nirmion Unicode Normalizer applies NFC, NFD, NFKC, or NFKD to text up to 500,000 characters and reports input and output code-point counts. It helps developers, editors, data teams, and localization workflows inspect equivalent-looking sequences before storage or comparison. JavaScript String.normalize receives one of the four standardized forms. NFC and NFD apply canonical equivalence, while NFKC and NFKD also apply compatibility mappings. The tool counts Unicode code points before and after but does not transliterate, case-fold, trim, or remove invisible characters. This makes the behavior inspectable and repeatable instead of presenting an unexplained result.
The result downloads as text_nirmion_tools_unicode_normalized.txt. The page distinguishes canonical composition from compatibility folding and warns about identifiers, signatures, hashes, byte offsets, width forms, ligatures, and symbols. The operation runs in this browser tab, applies explicit bounds before expensive work, and does not send workspace text to a Nirmion API. Downloading clears the active workspace while the latest three completed results remain available in this tab for re-download.