Ten single-purpose filters for scrubbing messy text — stray spaces, phantom lines, duplicates, tabs, markup, punctuation, digits and emojis. Toggle what to remove and watch the grime come off live, right in your tab. Nothing is uploaded, nothing is stored.
Filters10
Updateslive
Uploads0
Backendnone
Costfree
Remove Extra Spaces✱Remove Blank Lines✱Remove Duplicate Lines✱Remove Duplicate Words✱Remove Empty Lines✱Remove Tabs✱Remove HTML Tags✱Remove Punctuation✱Remove Numbers✱Remove Emojis✱Word Counter✱JSON Formatter✱Regex Tester✱
In order, 01 → 10
What each filter does, with examples.
( 01 )
Collapses every run of two or more spaces into one, trims spaces from the start and end of each line, and turns non-breaking spaces into ordinary ones. It's the single most common fix for text pasted from PDFs, where spacing always arrives damaged.
Example
The quick brown fox
↓
"The quick brown fox" — runs collapsed, edges trimmed.
Use it for pasted PDFsOCR outputchat exportscode comments
Deletes any line that contains only whitespace — spaces, tabs, nothing visible — along with the truly empty ones. Triple paragraph gaps become single line breaks, and those "empty-looking" lines that secretly contain twelve spaces finally disappear.
Example
A draft with five "empty" lines — each secretly full of spaces and tabs…
↓
0 whitespace-only lines left — paragraph gaps collapse to single breaks.
Use it for exported docsmarkdown draftslog filescopied web pages
Scans line by line and keeps only the first occurrence of each exact line — case-sensitive, whitespace included. Repeated log entries, pasted-twice list items and copy-paste echoes are gone in one pass, original order preserved.
Example
apple
banana
apple
cherry
↓
3 lines — the second "apple" is dropped, order kept.
Use it for log filesmailing listskeyword listsCSV row dedupe
Keeps the first occurrence of every word across the whole text — case-insensitive, so "The" and "the" are the same word — and reflows the result with single spaces. Built for stuttering transcripts and drafts where a phrase got pasted twice.
Example
the The quick brown fox jumps over the lazy dog
↓
"the quick brown fox jumps over lazy dog" — repeats of "the/The" removed, first one kept.
Use it for transcriptsdictation fixeskeyword-stuffing cleanupdraft polish
The strict version: removes only lines with zero characters between two line breaks. A line that contains even a single space survives this filter — if you want those invisible lines gone too, switch on Remove Blank Lines as well.
Example
A CSV export with 14 truly empty rows between data rows…
↓
14 rows removed — any line with even one character survives.
Use it for CSV & TSV exportssubtitle filessource codedata dumps
Deletes every tab character (\t) outright. Tabs are invisible column-pushers that wreck alignment when text moves between editors, spreadsheets and web forms — removing them is the fastest way to flatten an indented paste. Need gaps instead? Run Find & Replace afterwards.
Example
name email phone
↓
"nameemailphone" — tabs gone; add spaces first if you need the gaps.
Use it for spreadsheet pastesTSV leftoversindent flatteningform data
Strips every <tag> — including comments — and keeps the readable text between them. Attributes, inline styles and markup noise disappear; your words survive untouched.
Example
<p>Hello <b>world</b>! <!-- note --></p>
↓
"Hello world! " — markup gone, text kept.
Use it for web page pastesHTML emailsRSS feedsCMS exports
Deletes every Unicode punctuation mark — periods, commas, quotes, dashes, brackets, apostrophes. What remains is pure words and numbers, ready for counting, indexing or analysis. Pair with Remove Extra Spaces to close the gaps left behind.
Example
Wait — what?! (really;)
↓
"Wait what really" — run Extra Spaces after to close the double gap.
Use it for NLP prepword frequencykeyword extractionclean slugs
Removes every digit in any script — 0–9 and their Unicode cousins. Useful whenever numbers are noise: prices, dates, IDs, version strings, phone fragments.
Example
Room 42, booked for 2026-07-27.
↓
"Room , booked for ." — digits gone; run Punctuation + Spaces after for a full strip.
Use it for light anonymisingprose extractionnumber-free readingredaction prep
Removes pictographs, flags, skin-tone and variation selectors — the whole emoji family, including the invisible joiners they travel with. Your text keeps its words and its tone, minus the pictures.
Example
Ship it 🚀🔥 today!! 😀
↓
"Ship it today!! " — pictures out; punctuation is filter 08's job.
Use it for professional rewritesdata cleaningplain-text archivesemail sanitising
Pipeline order · html tags → emojis → numbers → punctuation → tabs → extra spaces → empty lines → blank lines → duplicate lines → duplicate words · duplicate lines = exact & case-sensitive · duplicate words = case-insensitive, first kept · badges count what each filter finds in your raw input
The privacy promise
Paste anything. We couldn't read it even if we wanted to.
This page has no backend and no database. Every filter you just toggled ran as JavaScript inside your own browser tab — your text never traveled a single centimeter of cable. Close the page and it's gone for good.
DIRTY TEXT→SCRUBBED IN YOUR BROWSER→CLEAN TEXT
✕ SERVER · DATABASE · LOGS · ANALYTICS
Databasenull
Backendnone
Text uploads0
Session logs0
Questions
Asked often, answered plainly.
( 02 )
What's the difference between Remove Blank Lines and Remove Empty Lines?
An empty line has zero characters — just a line break. A blank line may hide spaces or tabs while still looking empty on screen. Remove Empty Lines deletes only truly empty lines; Remove Blank Lines deletes both empty lines and whitespace-only lines. Turn both on for a full collapse.
Are duplicate lines and words matched case-sensitively?
Duplicate Lines is exact and case-sensitive — "Apple" and "apple" are different lines. Duplicate Words is case-insensitive — "The" and "the" count as the same word. Both filters keep the first occurrence and delete every later repeat, preserving the original order.
Why did my paragraph breaks disappear?
Because a line filter was enabled — collapsing the gaps between paragraphs is exactly what removing blank or empty lines does. Turn both line filters off to keep paragraph structure, and use Remove Extra Spaces alone for a lighter cleanup.
Is the text I paste saved anywhere?
No. IrisTool has no backend and no database. All cleanup runs inside your browser tab and disappears the moment you close or refresh the page. There is nothing to leak, because nothing is ever collected.
Can I use these tools offline?
Yes. Once the page has loaded, every filter on it keeps working offline, because all the logic runs locally in your browser.