Text cleaner
Paste the mess, keep the words. Runs in your browser — nothing is uploaded, nothing is stored.
Runs in your browser0 bytes uploadedPaste the mess, keep the words. Runs in your browser — nothing is uploaded, nothing is stored.
Runs in your browser0 bytes uploadedWhat is in this text
Nothing at the counter yet.
When you copy a selection out of a web page, a Word document or a PDF, your clipboard does not hold one thing. It holds several representations of the same selection at once. One of them is text/plain — characters and nothing else. Another istext/html, carrying fonts, sizes, colors, list markup and whatever the source page happened to have in its stylesheet. Every editor that is capable of choosing takes the HTML one, because that is what makes a paste look like where it came from. WordPress does it. Word does it. Pages does it. Most rich-text fields in most content management systems do it.
So the formatting that lands in your document was not added by the copy. It was already sitting on the clipboard, waiting for a destination willing to read it. That is why the advice you find everywhere — open the file in a browser, highlight the text, right-click and copy — fixes nothing at all. It describes the copy, and the copy was never the problem.
A <textarea> accepts only text/plain. When you paste into the box above, the browser discards the HTML flavor before the tool sees a single character. The paste is the cleaning. Bold, headings, link colors, the font the source used, the invisible span wrappers a CMS leaves behind — all of it is gone at the moment the text lands, without any code of ours running.
Everything the checkboxes do happens afterward, on plain text that already survived that step. We would rather say that plainly than dress it up as an engine. A tool that is cheap to build and reliable to use is worth returning to, and a tool you return to without a search engine in the middle is worth more than an impressive-sounding one you use once.
Converting means one format in and a different format out: HTML to text, Markdown to rich text, a document to PDF. Nothing on this page does that. Text goes in and text comes out, in the same format it arrived in. What changes is which characters are present — a line break that should not be there, a zero-width space, a curly quote.
The distinction matters because roughly half the people searching for a plain text converter want the other job entirely, and sending them here would waste their time. If you need a format changed, you need a converter. If your text is the right format and the wrong shape, you need cleaning, and that is this.
Text pasted out of an AI chat interface arrives with a recognizable set of characters: em dashes, curly single and double quotes, ellipsis as one glyph rather than three periods, non-breaking spaces, and sometimes zero-width characters that come from the chat interface's rendering layer rather than from the model. None of it is visible in the chat window. All of it survives into your CMS, your code editor and your database.
Two options here cover it. Straightening turns curly quotes into straight ones, an em dash into two hyphens, an en dash into one, an ellipsis into three periods, and every exotic space width into an ordinary space. Removing invisible characters takes out the zero-width spaces, word joiners, byte order marks and soft hyphens.The invisible character viewer shows you where each one sits and what it is, if you want to look before deciding, andwhat Unicode is and how it works explains why characters you cannot see are characters at all.
The tool makes no claim about where your text came from and has no way of knowing. It counts characters and removes the ones you ask it to. It is not an AI detector, and a clean result proves nothing about authorship in either direction.
Paste as plain text is built into Google Docs, Microsoft Word, Slack and nearly every code editor: Ctrl+Shift+V on Windows and Linux, Cmd+Shift+V on a Mac. Where it works it is quicker than loading any web page, including this one, and pretending otherwise would be the one thing that could make this page dishonest.
Three situations are left over. Some editors and comment fields do not offer it at all, and a keyboard shortcut that does not exist is no help. Some text is still broken after a plain paste — line breaks copied out of a PDF are ordinary newline characters and survive plain pasting perfectly well, which is whyremoving line breaks is a separate task with its own page. And sometimes you want to see what was wrong rather than make it disappear, which a shortcut can never show you.
Joining single line breaks inside a paragraph while keeping the blank lines between paragraphs is the one that is on by default, because it is the reason most people arrive here. Capping runs of blank lines at two collapses the gaps left behind by a page footer or a header that came along for the ride. Emptying whitespace-only lines clears lines that hold nothing but spaces and tabs — it empties them rather than deleting them, since a line of three spaces between two paragraphs is the paragraph boundary. The last two are the invisible-character and punctuation options described above.
Four start off because straightening punctuation and stripping characters are real edits to your writing. An em dash in the middle of a sentence is usually deliberate, and a tool that changes text you did not ask it to change is a tool you have to check afterward. Every checkbox carries a count measured on the text you submitted, before anything is changed and regardless of whether that box is checked, so a switched-off option still tells you whether it has work to do. Line endings are the one exception: Windows carriage returns are normalized before anything else runs, because none of the line-based options can be defined without it. That change is silent but it is not hidden — the receipt says so when it happens.
There is no language processing here. Nothing corrects spelling, rewrites sentences, adjusts grammar or changes a word. Nothing converts a file from one format to another. The five options touch whitespace, line breaks, invisible characters and punctuation glyphs, and nothing outside that list. Deduplication is a different job with a different page — removing duplicate lines handles it.
Nothing you paste leaves this tab. There is no upload endpoint for this tool, nothing is stored, and nothing is logged. You can confirm it in about ten seconds: open your browser's developer tools, switch to the Network panel, paste your text and check the boxes. The request list does not move. Whatever you pasted stays a string held in your own tab, and it is gone the moment you close it.
Because a PDF does not store paragraphs. It stores text positioned on a page, line by line, and copying it out gives you a break wherever the line ended visually rather than where the sentence ended. Joining lines inside paragraphs while keeping the blank lines between them is the first checkbox, and it is on by default because it is the reason most people arrive here.
Zero-width spaces, word joiners, byte order marks and non-breaking spaces are real characters that take up no visible room. They arrive from web pages, from word processors, and increasingly from AI writing tools. They break search, they break sorting, and they make two identical-looking strings compare as different — which is exactly the kind of bug that takes an afternoon to find.
No. Nothing here rewrites language. The five options only touch whitespace, line breaks, invisible characters and punctuation glyphs, and four of the five are off until you turn them on. The tool does not change text you did not ask it to change.
It is, when the place you are pasting into supports it. Paste-as-plain-text is built into Google Docs, Word and most code editors, and if that works for you it is faster than any web page. This tool exists for the editors that do not have it, for text that is still broken after a plain paste — line breaks from a PDF survive plain pasting perfectly well — and for the times you want to see what was wrong rather than just make it go away.
No. Everything runs as JavaScript in this tab; there is no upload endpoint on this site for this tool, and nothing is stored or logged. You can check with your browser's Network tab open — paste something and watch that nothing goes out.