How to use the whitespace cleaner
Documents that several people have edited, or text scraped off a web page, usually mix tabs with spaces and leave stray blanks at the end of lines. This tool walks your text line by line, removes the whitespace you do not want and leaves every line break exactly where it was.
There are five independent options. The first converts the ideographic space (U+3000) and the non-breaking space (U+00A0) into an ordinary space. Both look like a plain blank on screen but count as different characters in search, sorting and duplicate checks, which is where they cause real damage. The second deletes invisible characters such as the zero-width space (U+200B) and the byte-order mark (U+FEFF); the zero-width joiner (U+200D) is deliberately kept so composed emoji such as family sequences do not fall apart. The third and fourth turn tabs into spaces and squeeze runs of blanks down to one. The fifth trims the start and end of every line.
Character counts use Unicode code points, so one emoji counts as one character instead of two. If you also want to delete blank lines, run the empty line remover afterwards. Everything happens inside your browser and nothing is uploaded.
Frequently asked questions
It looks like a normal blank but has a different code point, so searches, sorts and duplicate checks treat it as another character. Leaving the first option ticked normalises it to a plain space.
No. This tool only edits whitespace inside a line and keeps every line break. To drop blank lines, run the empty line remover afterwards.