text TOOL / NO ACCOUNT NEEDED

Text Cleaner

Normalize copied text with explicit controls for spaces, empty lines, and invisible characters.

YOUR TEXTProcessed in this tab
Up to 500,000 UTF-16 units per input. No drafts are saved.

Choose exactly what to normalize. Spaces and tabs can carry alignment; zero-width joiners used in emoji are retained. CRLF and CR line endings become LF.

Paste text to see the result.

Choose only the cleanup you need

Normalize spaces replaces runs of spaces and tabs with one space. Trim lines removes whitespace at their boundaries. Remove invisible characters removes zero-width space and byte-order-mark characters; it does not remove emoji joiners.

Cleanup can alter indentation and alignment. Do not apply it to source code, poetry, or tab-separated data unless that change is intentional. The input stays available while you inspect a separate output.

Example: normalize spacing without rewriting words

With Normalize spaces and tabs enabled, the input below becomes a b. Trimming and removing empty lines are separate options. Do not normalize tabs in a tab-separated table unless losing its column delimiters is intentional.

a	  b

Invisible does not mean interchangeable

Zero-width space (U+200B) can create a break opportunity, while U+FEFF may appear as a byte-order-mark character in pasted text. The dedicated removal option targets those two; it does not strip every invisible Unicode character.

Try one operation at a time and compare the retained input. Clear resets the options. Input is limited to 500,000 UTF-16 units and is not saved after refresh.

Frequently asked questions

Does cleaning correct spelling or grammar?

No. It applies the selected whitespace and character operations without rewriting sentences.

Will it break family emoji by removing joiners?

The dedicated invisible-character option preserves U+200D, which joins many emoji sequences.

Why are some unusual spaces still present?

Normalize spaces and tabs handles ordinary spaces and tab runs. It does not replace every Unicode space; line trimming can remove boundary whitespace.