Free CSV cleaner: remove duplicates, fix dates, tidy headers
Paste a messy CSV or pick a file and clean it in one click. It runs in your browser, nothing is uploaded.
Read locally in your browser.
Two-digit years: 00–69 become 20xx and 70–99 become 19xx.
Preview
How to use it
- Paste your CSV, or choose a file. Click Load example to see a messy sample cleaned.
- Tick the fixes you want. If your dates can be read two ways (03/04/2024), choose day-first or month-first.
- Check the preview and the summary of what changed, then download a CSV or an Excel file.
How to clean a messy CSV file
Most CSV problems come from the same few places: a person typed the data, two systems exported it differently, or somebody merged files by hand. This tool fixes the common ones without a spreadsheet and without writing code.
What each option does
- Trim spaces removes the invisible space before or after a value. " Ana" and "Ana" otherwise count as different people, which breaks lookups and pivot tables.
- Remove empty rows deletes rows where every cell is blank, a typical leftover from exports and copy-paste.
- Remove duplicates keeps the first copy of a row that matches another row exactly. Trimming runs first, so rows that only differed by spaces are caught too.
- Normalize headers turns "Order ID" and "Customer Name" into
order_idandcustomer_name, which is what databases, pandas and most import tools expect. - Normalize dates rewrites dates such as 3/4/24, 13 April 2024 or Apr 16 2024 as 2024-04-16, the one format every tool reads the same way. It only touches columns where most values really are dates.
Why day-first or month-first matters
Is 03/04/2024 the third of April or the fourth of March? Nothing in the text says. The US reads month first, most other countries read day first. Pick the convention your source uses. Values like 25/12/2024 are unambiguous and are always converted correctly.
Delimiters and Excel exports
Excel in many European and Latin American regions saves CSV files with semicolons, because the comma is the decimal mark. The tool detects commas, semicolons, tabs and pipes automatically, and you can write the result back with a different delimiter.
When a one-off cleaner is not enough
If you repeat the same cleanup every week, merge several files, or need rules like "match company names that are spelled differently", a saved script is better than clicking through options each time. That is a small, fixed-price job.
Questions people ask
Is my file uploaded anywhere?
No. The file is read by your browser and cleaned with JavaScript on your own computer. Nothing is sent to a server, so it is safe for customer lists and internal exports.
How does it decide between day-first and month-first dates?
If a date can only be read one way, such as 13/04/2024, it is converted correctly whatever you choose. Dates that could be either, like 03/04/2024, follow your choice, and the summary tells you how many were ambiguous.
Will it break leading zeros or long numbers?
No. Only the fixes you tick are applied. Values such as 007 or 0123456789 stay exactly as they are, and the Excel download stores everything as text so Excel does not reformat it.
How big a file can I clean?
A few hundred thousand rows works on a normal laptop, since the limit is your browser memory. For millions of rows, a small Python script is faster and repeatable.
Cleaning the same export every week? We can turn these steps into a Python script or a spreadsheet that does it in one click, with your own rules.
See Python automation