Skip to content

Text Cleaner

Paste messy text, switch on the fixes you need and copy the clean result. Every step runs in order, live, in your browser.

RunsIn browser
Sign-upNone
UploadsZero
Input
Clean output
Cleaning steps · run in number order

How the cleaner works

Each step you switch on runs in number order, from 01 to 18, and the output updates as you type. A small changed tag appears next to any step that actually altered your text, so you can see which fixes mattered.

Join into paragraphs is the fix for text copied out of PDFs and emails: single line breaks inside a paragraph become spaces, blank lines between paragraphs are kept, and words split with a hyphen at the end of a line are rejoined. Remove all puts everything on one line.

Hidden characters covers zero-width spaces, byte-order marks, soft hyphens and control codes that often sneak in from Word, Slack or web pages and break search, code and spreadsheets. Non-breaking spaces are turned into ordinary spaces.

Find and replace tips

Plain mode matches your text literally. Tick Regex to use JavaScript regular expressions; refer to groups as $1, $2 or $<name>. In either mode, type \n in the replacement to insert a line break and \t for a tab.

Questions

How do I remove line breaks from copied PDF text?

Paste the text, switch on Fix line breaks and choose Join into paragraphs. Lines inside a paragraph are joined with spaces and paragraph breaks stay. The “Fix pasted text” preset does this plus trimming and space cleanup in one click.

How do I remove duplicate lines but keep the original order?

Switch on Remove duplicate lines and leave Sort lines off. The first copy of each line is kept where it was; later copies are dropped. Choose whether “Apple” and “apple” count as the same line.

What does natural sort do?

It orders numbers by value rather than character by character, so “item 2” comes before “item 10”. Plain A → Z would put “item 10” first.

Is my text uploaded anywhere?

No. All cleaning happens in your browser. Your last input and chosen steps are saved in this browser’s local storage so they are still there after a refresh; clearing the input removes the saved copy.

Why are there still odd characters after cleaning?

Some symbols are ordinary printable characters (for example “•” bullets or “→” arrows), so the hidden-character step leaves them alone. Use find and replace to remove or swap them, e.g. find • and replace with -.