Text cleaner
Stack line, whitespace, stripping, and extraction operations into a pipeline — reorder them, tweak their settings, and watch the result update as you type.
Your text never leaves your browser.
Pipeline
Add one or more steps below. They run top to bottom, live, and you can reorder or remove any of them.
No steps yet — add one above, or try an example that already has a few queued up.
Result
Why a pipeline instead of one button per operation
Real cleanup jobs are rarely one operation. A block of text copied from a chat log usually needs its duplicate lines removed and its stray whitespace trimmed and the result sorted — in that order, because sorting before deduplicating can put two copies of a line next to each other, while deduplicating first makes the sort trivial. A single-purpose "remove duplicate lines" tool can't express that order; this one does, because every operation here is a step in an ordered list rather than a page of its own.
Natural sort
Alphabetical sort puts file10 before file2, because it compares character by character and "1" sorts before "2" regardless of what follows. Natural sort reads the embedded number as a number, so file2 correctly comes before file10. This is the sort order most people actually want for filenames, version numbers, and numbered lists, and it is the one most text tools skip.
Paragraph-aware line-break removal
Text copied out of a PDF usually has a hard line break at the end of every visual line, not just at the end of every paragraph. Removing every line break turns the whole document into one unreadable paragraph; removing none leaves the ragged wrapping intact. "Remove line breaks" with paragraph mode on joins the lines within a paragraph into flowing text while keeping the blank line between paragraphs, which is what people actually want when un-wrapping pasted text. Seecleaning up text pasted from PDFs for more on why this happens and how to spot it.
What this tool declines to do
Stripping HTML here uses a plain text scan for tags and entities — it never inserts your pasted content into a live DOM node, which is the actual attack surface for HTML-in-the-browser tools. A script tag's contents are deleted along with the tag, not executed. And a "copy pipeline as a link" button encodes only the steps and their settings, never your text — the link is safe to paste into a chat even if the text you were cleaning wasn't.