CSV Cleaner & Deduplicator
Clean a messy CSV in your browser. Deduplicate rows, trim whitespace, drop empty rows and columns, strip BOM, fix headers. No upload, no sign-up, no watermark.
- Auto-detects comma, semicolon, tab and pipe
- Dedupe by all columns or selected columns
- Live preview and row-by-row stats
- Copy or download the cleaned CSV
Nothing uploaded. The file is read on your device only.
Cleaning options
Toggles
Paste CSV data above or drop a file. Cleaning options apply live and the cleaned file appears below.
Everything runs in your browser. Nothing is uploaded. Nothing is logged.
- 100% Free
- No Sign-Up
- No Upload
- Auto Delimiter
- Live Preview
- Works Offline
Every cleaning option explained
Nine toggles, each one there to fix a specific kind of mess. Here is what each one does and when to use it.
| Option | What it does | When to use it |
|---|---|---|
| Delimiter | Which character separates columns | Force comma, semicolon, tab or pipe if auto-detection picks wrong |
| Trim whitespace | Removes leading and trailing spaces and tabs from every cell | Almost always. This is the number one source of duplicate-looking rows |
| Drop empty rows | Removes rows where every cell is blank | Exports with trailing blank lines or section gaps |
| Drop empty columns | Removes columns where every data cell is blank | Database exports that carry columns from removed tables |
| Remove duplicates | Keeps the first occurrence of each unique row | Merged exports, mail lists, survey data with repeat respondents |
| Dedupe by columns | Compares only the columns you select | Dedupe by email only, or by email plus date, ignoring other differences |
| Lowercase headers | Converts every header to lower case | Downstream code expects snake_case headers |
| Strip BOM | Removes the invisible byte order mark from Excel exports | Header cell looks empty but a comparison fails |
| Quote every cell | Wraps every value in double quotes | Downstream parser is strict about field types |
Which delimiter does your file use?
Four delimiters cover almost every CSV in the wild. The tool picks one automatically, but you can force it.
| Delimiter | Symbol | Common in |
|---|---|---|
| Comma | , | US and UK Excel, Google Sheets, most web exports |
| Semicolon | ; | European Excel (Germany, France, Spain), some EU CSVs |
| Tab | \t | Database exports, TSV files, clipboard from spreadsheets |
| Pipe | | | Legacy mainframe exports, some analytics tools |
Why this is the best free CSV cleaner
Most online CSV tools push your file through a server. This one never does, and it gives you column-level deduplication that Excel and Sheets hide behind formulas.
| Feature | TToolDeck | Typical online CSV tool | Spreadsheet apps |
|---|---|---|---|
| Runs entirely in your browser | Yes | Partial | Yes |
| No sign-up or email | Yes | Partial | Partial |
| Auto-detects delimiter | Yes | Partial | Partial |
| Dedupe by selected columns | Yes | No | Yes |
| Drop empty rows and columns | Yes | Partial | Yes |
| Trim whitespace in every cell | Yes | Partial | Yes |
| Strip BOM from Excel exports | Yes | Partial | Yes |
| Live preview of cleaned file | Yes | Partial | Yes |
| Copy or download cleaned CSV | Yes | Partial | Yes |
| Works offline after first load | Yes | No | Yes |
Comparison reflects publicly available information at the time of writing. Features may change. Representative examples of common patterns.
More free data and text tools
Free browser-based tools. Nothing uploaded, ever.
CSV Cleaner
You are hereDeduplicate, trim, drop empty rows, strip BOM
CSV Formatter
Comma to semicolon and back for stock metadata
Excel to CSV
Convert .xlsx and .xls spreadsheets to clean CSV
Merge CSV Files
Combine multiple CSVs with column alignment
JSON Formatter
Format, validate and minify JSON
Word & Character Counter
Words, characters and reading time
Diff Checker
Compare two texts or code files side by side
Case Converter
UPPERCASE, lowercase, Title Case, camelCase
Base64 & URL Encoder
Encode and decode Base64 and URL strings
How it works
- 1
Paste or drop your CSV
Copy the file contents in, or drop a .csv file onto the box. The tool reads it locally. Nothing is uploaded.
- 2
Pick your cleanups
Turn on trimming, deduplication, drop empty rows or columns, strip BOM, lowercase headers. If you want dedupe on specific columns, click those column chips.
- 3
Copy or download
Check the preview and stats, then copy the cleaned CSV to your clipboard or download it as a file ready to import into any tool.
Everything you get for free
Auto-detects the delimiter
Comma, semicolon, tab and pipe are all supported. The tool reads the first few lines and picks whichever delimiter appears most often, so exports from Excel Europe, Google Sheets and PostgreSQL all just work.
Deduplicate by any column set
Remove rows where every cell is identical, or only where the columns you pick match. Dedupe by email alone, by email plus date, or by the whole row. Case-insensitive by default.
Trim every cell
Leading and trailing spaces, tabs and non-breaking spaces are removed from every cell. This is the number one cause of duplicate rows that look identical but are not.
Drop empty rows and columns
Blank rows at the bottom of an export and phantom columns at the right are removed in one step. The header row is always preserved, even if the data below it is empty.
Strip BOM and lowercase headers
Excel exports often start with a byte order mark that hides in the first header cell. The tool strips it. A toggle also lowercases every header so downstream code stops breaking on capitalisation.
Handles real RFC 4180 CSV
Quoted fields, escaped double quotes, embedded commas, embedded newlines inside a cell. All parsed correctly, all re-emitted in the same style so nothing breaks downstream.
Live preview and stats
Every change updates a preview table and a stats strip in real time: rows in, rows out, duplicates removed, empty rows dropped, cells trimmed. No guessing whether the cleanup worked.
Zero upload, zero logging
The CSV never leaves your device. There is no server side parsing, no temporary file storage, no analytics on the content itself. Everything runs in JavaScript you can inspect.
What people use it for
Deduplicate an email list
Marketing exports often contain the same email twice with slightly different casing or a trailing space. Trim and dedupe by email column in one step before importing into your CRM.
Clean up a database export
PostgreSQL and MySQL CSV exports have a BOM, quoted fields, and empty columns from removed tables. Strip all three in a few clicks before you load the file into a spreadsheet.
Fix a broken spreadsheet import
Some tools refuse CSV with an extra empty column at the right, or a header with a stray space. Drop empty columns and trim cells and the file imports cleanly.
Prepare data for a mail merge
A mail merge chokes on duplicate recipients. Dedupe on the email column, or dedupe on the full name plus address, and the merge sends one copy to each person.
Normalise an e-commerce product feed
Product feeds from multiple suppliers arrive with different delimiters, different headers and different casing. Unify the format here before pushing to Google Merchant Center or Meta.
Clean a survey export
Survey tools export every response with a blank row between sections. Drop empty rows, trim cells, dedupe on respondent ID, and the file is ready for analysis in R or Python.
Questions people ask
What does a CSV cleaner do?
A CSV cleaner reads a comma-separated values file, applies a set of normalisation rules (trim whitespace, remove empty rows, drop empty columns, deduplicate rows, fix headers) and writes a new CSV that is ready to import somewhere else. It is the equivalent of opening the file in Excel, doing ten manual fixes, and saving again, but in one step and without risk of Excel mangling your data.
Is this CSV cleaner free?
Yes. Every option is free to use with no sign-up, no watermark and no daily limit. ToolDeck may show ads to pay for hosting, but they never lock a feature.
Is my CSV uploaded to a server?
No. The whole thing runs in your browser using JavaScript. The file is read with the browser File API, parsed in memory and re-serialised in memory. Nothing is uploaded to ToolDeck or any third party, and you can verify this by watching your browser network tab while using the tool.
Is there a size limit?
There is no server side limit because nothing is uploaded. The practical limit is your device memory. Files of a few megabytes are trivial. Files of tens of megabytes are usually fine on a modern laptop or phone.
How does deduplication decide what counts as a duplicate?
By default two rows count as duplicates if every cell matches after trimming and lowercasing. If you select specific columns in the "Deduplicate by columns" section, only those columns need to match. Comparison is case-insensitive so ada@example.com and ADA@example.com are treated as the same value.
Which row is kept when there are duplicates?
The first occurrence is kept and all later occurrences are removed. That means the earliest row in the file wins. If you want a different row to win, sort the input file before pasting it in.
What is a BOM and why strip it?
A byte order mark is an invisible character that Excel sometimes writes at the start of a UTF-8 CSV. It hides inside the first header cell, so a header that looks like "name" is actually "\uFEFFname" and comparisons fail. Stripping it makes the first column behave like every other column.
Will this break quoted fields?
No. The parser understands RFC 4180 CSV including quoted fields, escaped double quotes, embedded commas and embedded newlines inside a cell. Fields that need quoting are re-quoted on output so the cleaned file is still valid CSV.
Can I convert the delimiter while cleaning?
Yes. If your input uses semicolons, you can select comma in the Delimiter dropdown and the output will use commas. This is useful when your analysis tool insists on one specific delimiter.
Does it work with TSV or pipe-separated files?
Yes. TSV is just CSV with a tab delimiter, and the tool has a Tab option. Pipe-separated files use the Pipe option. The auto-detect logic usually picks the right one on its own.
Can I undo?
There is no undo button, but every change is a toggle. Turn the option off and the preview reverts to the previous state immediately. Your original pasted data is never modified, so you can always start over.
Which browsers are supported?
Current versions of Chrome, Edge, Firefox and Safari, on desktop and mobile. Everything uses standard web APIs and no browser specific features.
Your CSV never leaves your browser
The file is read with the browser File API, parsed in memory and re-serialised in memory. There is no server side parsing, no temporary storage and no analytics on the content itself. You can confirm this by watching the network tab while using the tool. Read how we keep it private.