How to use CSV Cleaner
- Paste your rows into CSV or TSV text, or choose a file.
- Set Delimiter and the header row option to match the file.
- Choose a Header names style and tick the rules you want.
- Select Clean the CSV, read the change log, then download cleaned.csv.
Example: CSV Cleaner
Clean a small CSV that holds a padded cell, a duplicate row and a blank row.
Options
- Header names
- Trim surrounding spaces is the default. Snake case turns First Name into first_name, and a repeated name gets a numeric suffix such as name_2.
- Trim spaces around every cell value
- Runs before duplicate comparison, so two rows that differed only by surrounding spaces count as the same row.
- Protect spreadsheet formulas
- Stops a cell that begins with =, +, - or @ from running as a formula in a spreadsheet. The apostrophe prefix is the default, and there is an option to leave cells exactly as typed.
Supported inputs and limits
Where your input is processed
This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.
The order the rules run in
Header names first, then trimming, then letter case, then empty markers, then blank rows, then duplicate rows, with the formula guard last. That order is why trimming makes two rows count as duplicates, and why marking empty cells protects a blank row from removal.
Why values stay text
A spreadsheet turns 0012 into 12 the moment it can read a number, and a phone number into scientific notation. This cleaner keeps every cell as the string it arrived as.
Questions about CSV Cleaner
Why did my formula cell gain an apostrophe?
The guard is on by default, because a value starting with =, +, - or @ would otherwise run in a spreadsheet. Choose Leave cells exactly as they are to turn it off.
Does cleaning overwrite my file?
No. The page reads a copy and offers a new cleaned.csv, so the file on your device is left as it was.
Why are blank rows still present after I marked empty cells?
Marking runs before blank-row removal, so a row whose cells all became N/A is no longer empty.
What happens to a repeated column name?
The duplicate gets a numeric suffix, so two columns called Name become Name and Name_2.