Text Normalisation

Whitespace, case, newlines (CRLF / LF)

About this tool

Choose transformations and normalise. Input remains unchanged. Defaults keep Unicode, whitespace and case; the browser input already uses LF. Copy/download preserves the selected LF/CRLF/CR bytes even though the preview uses LF. Blank lines and final endings remain.

Order: Unicode normalisation, tab conversion, trim/collapse per line, case conversion, ending conversion. NFC/NFD preserve canonical meaning; NFKC/NFKD also change compatibility forms. Some transformations lose information and are not reversible. No automatic empty-line removal.

Tabs advance to the next stop, not a fixed number of spaces. Spaces-to-tabs preserves visual columns, including internal runs. Printable ASCII widths are exact; Unicode/emoji/wide character widths are a monospaced-font heuristic and may differ by font. Case uses the selected text language. Title mode uppercases the first scalar of each word-like segment, not a linguistic title-style rule; uppercase can expand ß to SS.

Only active tab conversion needs width1–16. Local cancellable worker, 3-second deadline, no saved data. Limits: 2000000 input UTF-16 units, 100000 lines, 4000000 output units. Edits clear old results.