What it does: cleans pasted text from a spreadsheet export, a website copy-paste, or a messy list — extra spaces, non-breaking spaces, invisible characters, blank lines, and (optionally) duplicate lines.
Privacy: this tool runs entirely in your browser. It makes no network requests and has no backend. Your pasted text is not uploaded. Closing the page discards it.
Before you paste it back into Excel or Sheets: check the output. This tool cleans text. It does not change a value's data type, so a cleaned number is still text until you convert it in the spreadsheet (for example, with VALUE() or Text to Columns). It also does not parse quoted CSV fields — commas inside quotes are not treated specially.
1. Paste messy text
2. Cleaned result
3. What changed
No cleaning run yet.
Excel / Google Sheets equivalent
For one cell, the closest spreadsheet equivalent of the default options is:
=TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " ")))
SUBSTITUTE(..., CHAR(160), " ") handles non-breaking spaces first — TRIM alone does not remove them.
CLEAN removes non-printing characters 0–31, but not CHAR(160).
TRIM removes leading/trailing spaces and collapses internal runs of spaces to one.
Blank-line and duplicate-line removal have no single-cell equivalent. On a range, use UNIQUE() and FILTER(), or Power Query, and always work on a copy.
Order matters: this tool replaces non-breaking spaces before trimming and collapsing, mirroring the formula order above. If you turn off “Replace non-breaking spaces”, a line that looks empty but contains only CHAR(160) will not be treated as blank.
Limitations
Text only. It does not open .xlsx, .csv, or .ods files, and it does not preserve spreadsheet formatting, formulas, or column structure beyond line breaks.
Duplicate detection is exact after cleaning. “Smith” and “smith” are not treated as the same unless they become identical, and a space before punctuation is preserved (for example, “Smith , John” stays “Smith , John”; only runs of spaces are collapsed).
It does not convert text numbers to numeric values, parse dates, or fix locale decimal separators (comma vs point). Those are separate spreadsheet fixes — see numbers stored as text and date formats.
Very large pastes (over 500,000 characters) are refused with an error, to avoid freezing the browser tab. Split large lists and clean them in parts.