Free CSV cleaner
Trim spaces, remove duplicate and empty rows, fix letter case and convert dates, then download a clean CSV. No sign-up.
Runs in your browser. Your file is never uploaded.
1. Add your CSV
or paste CSV text
2. Choose what to fix
Per column: set the letter case and date handling. Tick Match on one or more columns to find duplicates using only those columns, for example Email. Leave them all unticked to compare whole rows.
| Column | Case | Dates | Match |
|---|
3. Check and download
Preview (first 10 rows)
How to use the results
Open the downloaded file in Excel or Google Sheets. Dates come out as YYYY-MM-DD, which both programs recognize as real dates in any regional setting. For more manual fixes, such as numbers stored as text or keeping the latest duplicate rather than the first, see our guides to cleaning messy data in Excel and removing duplicates but keeping the right row.
FAQ
Is my file uploaded anywhere?
No. The cleaner runs entirely in your browser tab. Your file is read on your device, and the page's security policy blocks it from sending data to any server. You can even disconnect from the internet after the page loads and it still works.
What does it change?
Only what you tick: extra and non-breaking spaces, empty rows, exact duplicate rows (optionally ignoring case, or matching on columns you choose), letter case per column, and dates per column, converted to YYYY-MM-DD. A report shows the counts, and a row check confirms nothing else was dropped.
How does it handle dates like 03/04/2026?
If a column contains dates such as 31/12/2025, it knows they're day-first. If every date could be read either way, it assumes month-first (US) and warns you, so you can switch the column to “day first” and run it again.
Can I clean an Excel file?
Save it as CSV first (File > Save As > CSV UTF-8), clean it here, then open the result in Excel. Keep “Add Excel-friendly encoding” ticked so accented characters display correctly.
What is formula-injection protection?
Cells starting with = or @ can run as formulas when a CSV is opened in a spreadsheet. With this option on, those cells get a leading apostrophe so they stay plain text. Negative numbers such as -125 aren't changed.