Text pasted out of a PDF, an email or a web page arrives carrying damage you cannot see. Line breaks in the middle of sentences, two spaces where there should be one, non-breaking spaces that look identical to ordinary ones, and a trailing tab that will break a spreadsheet import. Fixing that by hand is slow and unreliable, because the characters causing the trouble are invisible. Each of these problems has a specific cause and a specific fix.
A PDF has no concept of a paragraph. It has text positioned at coordinates, and the line breaks you see are a consequence of where each run of characters was placed on the page.
When you copy, the extraction inserts a line break at the end of every visual line, because it has no way to tell a line wrap from a paragraph end. You get a block where every line is roughly the same length and none of the breaks are meaningful.
Everything downstream then breaks. A spell checker treats each fragment as a sentence. A word count is right but a sentence count is nonsense. Reflowing the text in a new column leaves ragged lines.
Remove line breaks flattens the block back into continuous text, which is the first thing worth doing to any PDF paste before you read or edit it.
A non-breaking space renders identically to an ordinary one and is a different character. Word processors and web pages insert them to stop a line breaking in an awkward place, and they come along when you copy.
The consequences are all of the same kind: something that matches on spaces stops matching. A find and replace for a phrase fails. A CSV split on spaces produces wrong columns. A URL slug generator leaves a character it did not expect.
There are several more of these. Thin spaces, hair spaces, zero-width spaces and the zero-width non-joiner all exist for typographic reasons and all survive a copy.
Whitespace remover collapses runs and normalises the variants to ordinary spaces, which is usually what you want before doing anything programmatic with the text.
A space at the end of a line is invisible and consequential.
In a spreadsheet import, a trailing space makes a cell value different from the identical-looking value above it, so a lookup fails or a deduplication misses a match. In a form, it can make a validated field fail a comparison against a stored value. In a filename it can produce a file you cannot open by typing its name.
Leading whitespace has the same effect with the added annoyance that it shifts alignment in anything monospaced.
Text trimmer strips both from every line. It is the least interesting operation on the site and it fixes more real problems than most of the styling ones.
These are two different jobs and it is worth knowing which you need.
Deduplicating lines is for lists: an export with repeated rows, a set of URLs collected from several places, a keyword list assembled from multiple sources. Duplicate line remover keeps the first occurrence of each line and drops the rest.
Deduplicating words is for prose, and for a narrower problem: the repeated word that appears when an edit goes wrong, as in a a sentence like this one. Remove duplicate words catches those.
Be careful with the second on text where repetition is deliberate, because it cannot tell an editing error from a rhetorical repeat. Read the output rather than trusting it, which is the rule for every destructive text operation.
Word processors substitute characters as you type. Two hyphens become an em dash, straight quotes become curly ones, three periods become an ellipsis character.
Those substitutions are fine in the document and troublesome everywhere else. A curly apostrophe in a code sample is a syntax error. An em dash in a CSV can confuse a parser. An ellipsis character is one character where three periods were three, which matters against a character limit.
They are also a strong visual signal in certain contexts, which is why some writers want them gone entirely.
Em dash remover replaces them with ordinary punctuation. Plain text converter goes further and maps a wider set of typographic characters back to their ASCII equivalents.
Once text is clean, reordering it is straightforward and there are a few tools worth knowing.
Alphabetical sorter sorts lines. Be aware that sorting follows character codes rather than dictionary order, so capitals sort before lowercase unless the sort is case insensitive, and accented letters sort after unaccented ones.
Number sorter sorts numerically, which matters because sorting numbers as text puts 10 before 2.
Filter text keeps or drops lines matching a pattern, which is the fastest way to pull a subset out of an export.
Shuffle words randomises order, useful for generating variation rather than for cleanup.
Count text lines reports line, word and character counts for a block. Calculate string length reports characters and storage units separately.
The second distinction matters when your text contains anything outside the ASCII range. Styled characters, emoji and many accented letters are stored as more than one unit, so a field that counts storage sees a larger number than you do.
For prose in English the two numbers are the same and either tool answers the question. For a bio containing styled text or emoji they diverge sharply, and the divergence is what decides whether a value fits a field.
The social media character counter does the same job against specific platform limits, which saves you looking them up.
Cleanup operations are not commutative, and running them in the wrong order produces worse results than running them at all.
Flatten line breaks first, because every later operation depends on knowing where lines actually end.
Normalise whitespace second, so runs of spaces and exotic space characters become ordinary ones before anything tries to match on them.
Trim third, to remove what the first two steps left at the edges.
Deduplicate fourth, once the lines are comparable. Running deduplication before trimming misses pairs that differ only by a trailing space.
Convert case or apply styling last, since both assume tidy input and both are easier to check on clean text.
Every tool named here runs locally. The text you paste is processed by JavaScript in the page and is never sent to a server, because there is no server involved in the transformation.
That matters for the material people actually clean up. Draft contracts, exported customer lists, internal documents and unpublished copy all go through cleanup tools, and all of them are things you would rather not upload to a service whose logging policy you have not read.
It also means the tools work with no network connection once the page has loaded, and that nothing you paste can appear in a log, a cache or a backup.
The privacy policy covers this in detail, and the short version is that a tool which never receives your text cannot do anything with it.
Beyond removing things, there is a set of operations that restructure text, and they save more time than they look like they should.
Add line numbers prefixes each line with its position, which turns an unordered list into something you can refer to in a conversation. Reviewing a list with somebody over a call is much easier when both of you can say line fourteen.
Merge words joins lines into a single run with a separator of your choosing, which is how you turn a column copied out of a spreadsheet into a comma-separated list for a form that wants one.
Text repeater produces a run of the same string, useful for dividers and for generating padding of a known length when you want to test how a field behaves at its limit.
Reverse text flips character order, which is a novelty in most cases and occasionally the fastest way to check whether a string is a palindrome.
A few tools sit next to the cleanup set and do something different, which is worth knowing so you do not reach for one by mistake.
Anagram generator rearranges the letters of a word into other arrangements. It is a puzzle tool rather than a text operation, and it works on single words rather than on blocks.
Word mixer combines two inputs into blended results, which is useful for naming and useless for editing.
Numbers to words spells a numeral out in full, which has one genuinely practical use: writing an amount on a document where the figure and the words both have to appear.
Lorem ipsum produces filler for layout work, where the point is text that nobody reads as content.
None of these is destructive to an original, which puts them in a different category from everything above.
A PDF stores text positioned at coordinates with no concept of a paragraph, so extraction inserts a break at the end of every visual line because it cannot tell a wrap from a paragraph end.
It renders identically to an ordinary space but is a different character, so anything matching or splitting on spaces stops working correctly.
No. Every transformation runs in your browser, so the text never reaches a server and cannot appear in a log or a backup.