What is a text cleaner?
Copying text from a PDF, an email or a web page often drags along stray line breaks, empty lines, duplicate rows and messy spacing. This text cleaner fixes all of that at once with a set of checkboxes — results update instantly and everything runs locally in your browser, with no upload.
What it can do
- Remove line breaks: reflow a hard-wrapped paragraph back into one block.
- Remove duplicate lines: de-duplicate a list while keeping order.
- Delete empty lines and collapse extra spaces.
- Sort: A→Z, Z→A, or reverse the line order.
Common use cases
- Restore a paragraph that was hard-wrapped when copied from a PDF.
- Tidy up lists, keywords or email addresses and remove duplicates.
- Strip the extra spaces and blank lines left over when pasting code or data.
- Need a word count? Pair it with the word counter; to change capitalization use the case converter.
Two lines look identical — why weren't they de-duplicated?
When you copy a list out of a PDF, an email or a web page, lines often carry invisible trailing spaces or tabs, so two rows that look identical aren't equal to the computer and slip past de-duplication. The fix is to tick "trim each line" before removing duplicates — then it comes out clean. Another common case is restoring a paragraph that a PDF hard-wrapped: choose "remove line breaks (join with a space)", not "join directly," or the words run together. Need the length afterwards? Pair it with the word counter.
Why is the output identical to the input when nothing is ticked?
Because each checkbox is exactly one transformation, and an unticked box leaves the text alone. That is deliberate, not broken. One real run: the input This sentence was copied out of a PDF. It has broken lines. returns This sentence was copied out of a PDF. It has broken lines. with collapse whitespace and remove empty lines ticked. Laid out over several lines it is clearer:
This sentence was
copied out of a
PDF.
It has broken lines.The doubled spaces and the blank lines are gone while the line structure survives. If a cleaner changed text you had not asked it to change, you could never put it in an automated pipeline — so "unticked means untouched" is more useful than clever guessing.