Kit-Bin
Donate

Drop a CSV file here or click to browse

Processed entirely in your browser. Never uploaded to a server.

A CSV exported from a spreadsheet, a form, or a database dump often carries small problems that break an import somewhere else: stray whitespace around values, rows that are entirely blank, columns nobody ever filled in, or the same row appearing twice because a script ran twice. This tool fixes exactly those four things, nothing more, nothing that guesses at your data.

What this tool actually does, in order

  1. Trims leading and trailing whitespace from every cell.
  2. Drops any column that is empty in every single row.
  3. Drops any row that is empty across every remaining column.
  4. Removes exact duplicate rows (comparing all columns, after trimming).

What it will not do

It won't detect or convert delimiters (comma vs. semicolon vs. tab), fix rows with the wrong column count, normalize date formats, fix character-encoding problems, or catch near-duplicates that differ by case or a typo. Those require knowing the intent behind your specific data, which a generic cleaner can't safely assume. See why CSV imports fail for how to diagnose those specific problems.

Troubleshooting

Rows → rows count didn't change: your file had no fully-empty rows/columns and no exact duplicates, nothing to clean.

Result looks like one giant column: your file likely uses a delimiter other than a comma.

Two rows that look identical to you weren't merged: check for invisible differences, trailing spaces beyond what trimming catches, a different letter case, or a hidden character copied in from another source.

FAQ

What exactly counts as a duplicate row?
Rows where every column value matches exactly, after trimming leading/trailing whitespace. A row is not treated as a duplicate if even one column differs, including differences in case.
Does this fix a CSV with the wrong delimiter, like semicolons instead of commas?
No, the parser expects standard comma-delimited CSV. If your file uses semicolons, tabs, or a different delimiter, it may parse as one column instead of several. Open the file in a text editor first to check which delimiter it actually uses.
Will this fix rows with the wrong number of columns?
No. Rows with more or fewer columns than the header (common when a text field contains an unescaped comma) are left as-is. The cleaner only trims, drops empty rows/columns, and dedupes; it doesn't try to repair malformed rows, since guessing which column a stray value belongs in would risk silently corrupting your data.
What happens to a column that only contains empty values in some rows, not all?
It stays. Only columns that are empty in every single row are dropped. A column with even one non-empty value anywhere in the file is kept as-is.
Can this fix an encoding problem, like garbled accented characters?
No. Encoding (a file saved as Windows-1252 or ISO-8859-1 instead of UTF-8, which is the usual cause of accented letters or curly quotes turning into garbled symbols) happens before the file gets to this tool, in whatever program exported it. Re-export or re-save the source file as UTF-8, then run it through this cleaner for whitespace, duplicates, and empty rows/columns.

Then convert the cleaned file with CSV to Excel or CSV to JSON.