commafield.

Runs in this tab. Nothing is uploaded.

THE LOCAL DATA DESK / NO UPLOADS

CSV cleaner & CSV compare tool

Remove duplicate rows, empty rows and stray spaces, change the delimiter, or compare two CSV files by a key column. Every change is marked in the table before you download.

Ready
  • Removed row
  • Trimmed cell, · marks a removed space
  • Filled-in empty cell

Download: UTF-8 with BOM, every row.

One key or a combination. A report you can hand over.

Match up to three key columns, such as customer ID and region. Review how differently named columns pair up, then download changed, added or removed records—or a complete status report with source line numbers. Large files are processed in a local background worker with a cancel button; files never leave this browser.

What the workbench handles

Real-world CSV

  • Commas and line breaks inside quoted cells
  • Escaped quotes: "Sam ""Sammy"" Ito"
  • UTF-8 BOM from Excel exports (detected and kept on download)
  • Files that are not UTF-8: Windows-1252 is detected; Shift_JIS, GBK, Big5, Cyrillic, UTF-16 and more can be chosen. Downloads are UTF-8
  • Comma, semicolon, tab and pipe separators, in and out

Problems it points out

  • Short rows: filled with empty cells and marked
  • Rows with extra filled cells: download stops and the line is named
  • Unclosed quotes: the starting line is named
  • Duplicate or empty key values when comparing, including combined keys

Private by design

Files are read by this browser tab and never sent anywhere. The page only remembers your option choices on this device. Files up to 15 MB each; the table previews the first 400 rows and downloads include every row.

Questions

How do I remove duplicate rows from a CSV?

Open your CSV. “Remove duplicate rows” is on by default and matches the entire row; you can match by one column instead, ignore upper/lower case, and keep the first or the last copy. Each removed row is marked with the line that is kept.

How do I compare two CSV files?

Switch to “Compare two CSVs,” add the earlier file as A and the newer file as B, and pick a shared column with a unique value in each row (a filled, unique column is suggested). The table marks changed cells, rows only in A and rows only in B across columns with matching names. You can ignore differences in upper/lower case or in spaces at the start or end of a cell.

Are my files uploaded or stored?

No. Your files are read and processed in the browser. No account or upload endpoint is used. The page remembers your option choices in this browser, never file contents. Optional analytics loads only after consent and does not receive file contents. Cloudflare Web Analytics counts visits and page speed and does not receive file contents either. See the privacy notice.

What file formats and limits are supported?

Use CSV or TSV files up to 15 MB each; comma, semicolon, tab and pipe separators are detected. UTF-8 and UTF-16 are read directly, a file that is not valid UTF-8 is read as Windows-1252, and you can pick Shift_JIS, GBK, Big5, Windows-1251 and other encodings; downloads are UTF-8. Short rows are padded and marked. Rows with extra filled cells or broken quoting are pointed out by line number and must be fixed before downloading.

How do I change a CSV from semicolons to commas?

Open the file in Clean a CSV. The semicolon separator is detected automatically. Choose Comma in Output and download. Cells that contain a comma are quoted, so values such as 12,50 stay in one column. Semicolon, tab and pipe output are available too. More on changing the delimiter.

Can a downloaded CSV run formulas in Excel?

A spreadsheet may treat a cell that starts with =, +, - or @ as a formula. Protect against spreadsheet formulas is on by default and adds an apostrophe before such cells; the page shows how many cells that affects. Turn it off for a file that goes into a database or another import, so values such as +44 phone numbers or @handles are not changed. The differences report is always protected, and plain numbers like -12.5 are never changed.