Skip to main content
WizTools123
WizTools123
Free Online Tools

Tool Categories


CSV Tools New Tool

Free Online CSV Cleaner, Tidy Rows, Spaces and Blanks

Tidy up a messy CSV export in your browser. Ragged rows are squared up so columns stop shifting, stray spaces and invisible characters are removed, empty rows and columns go, and headings can be tidied into a consistent form. Values are never retyped, so a product code of 007 stays exactly as it is.

Free Forever Nothing Uploaded Nine fixes Values never retyped
Free Online CSV Cleaner, Tidy Rows, Spaces and Blanks
Share this tool
Advertisement Slot (Top Banner) Google AdSense Unit • Responsive Banner
Bulk CSV Cleaner Your file is read inside this tab. Nothing is uploaded anywhere.
Drop the CSV files you want cleaned Your originals are never touched. Cleaned copies come back as a download or a zip. Choose files Up to 25 MB per file. Nothing is uploaded.
0%
Or paste it
Reading the file
The shape
The values
The headings
Writing the result

0 files 0 rows out 0 values changed 0 rows removed

Before
Nothing to show yet.
After
Nothing to show yet.
Buy Us A Coffee

Enjoying WizTools123? Help keep our server infrastructure 100% free and open for everyone.

Buy Us A Coffee
Sponsored Content (Below Tool) Google AdSense Placement

How to Clean Up a CSV File

A few steps, and nothing is uploaded.

1
Drop the files in One or many. The originals are never modified; you get cleaned copies back.
2
Decide what to do with ragged rows Padding short rows is the safe default. Removing them is right when a short row means a broken record rather than a missing value.
3
Choose the value and heading fixes Trimming and removing invisible characters are on by default because they are almost always wanted. The heading styles are there for feeding a database or an API.
4
Check the summary, then download The list under the options says exactly what was changed and how many times. Download one file, or all of them as a zip.

What to Know About Cleaning a CSV

What gets changed, and the one thing deliberately left alone.

Values are never retyped, and that is the most important thing here. A product code of 007 stays 007, a price of 1,240.50 keeps its comma, and a date keeps the spelling it arrived with. Most tools that call themselves cleaners parse values into numbers and write them back, which quietly destroys codes, phone numbers and anything with a leading zero.
Squaring up the rows is what stops an import shifting columns. A row with one field missing loads every later value one column to the left, so a postcode ends up in the country field. Padding it with an empty value keeps the alignment, and the alignment is what matters.
Trimming spaces changes more than it looks like. To every database, API and spreadsheet lookup, " Leeds" and "Leeds" are different values, which is why a join silently returns nothing. This is the single most useful switch on the page and it is on by default.
Invisible characters are the version of that problem you cannot see. A zero width space or a soft hyphen inside a word makes two identical looking values fail to match, and no amount of staring at the file reveals it. They are removed; a non breaking space becomes an ordinary space rather than disappearing, because it is doing the job of a space.
Making a formula safe means prefixing it, not deleting it. A value beginning with an equals sign is run as a formula by spreadsheets. The fix is to put an apostrophe in front, which spreadsheets read as "this is text" while the value itself stays readable. Deleting the character would lose data.
Renaming headings is for machines, not for people. The underscore and camel case styles exist because databases and APIs dislike spaces and punctuation in field names. If the file is going to a human, leave the headings alone; a column called "Order ID" reads better than "order_id".
Removing exact duplicate rows here compares the whole row. If you need duplicates judged on one or two columns, such as the same email twice with different dates, the duplicate remover does that properly.

Key Features & Capabilities

What this tool does, and what it deliberately does not.

Rows squared up Short rows padded, long ones trimmed or kept, so columns stop shifting on import.
Spaces and invisibles Trimming, collapsing and removing the characters that make identical values fail to match.
Values left alone Nothing is parsed and rewritten, so leading zeros, currency symbols and date spellings survive.
Heading styles Trim, snake case, camel case or title case, with unnamed columns named and repeats numbered.
A folder at a time Clean a whole batch with one set of settings and take them away as a single zip.
Says what it did A list of every fix applied with a count, so nothing is changed without you seeing it.

About the CSV Cleaner

Exports arrive messy in predictable ways. The system that wrote the file put a trailing comma on the header, so there is a nameless extra column. Somebody typed a space before a city name. A row is missing its last field because a value was empty at the end. None of it looks serious, and all of it makes the next step fail.

The failures are quiet, which is what makes them expensive. A trailing space means a lookup finds nothing and a report shows a gap. A short row means every value after the gap loads into the wrong column, and the data is wrong rather than missing, so nothing complains. A zero width space pasted in from a web page means two identical looking customer names are two different customers forever.

What this page deliberately does not do is tidy your values. It is tempting for a cleaner to parse every field, decide 007 is the number seven and 1,240.50 is 1240.5, and write them back in a canonical form. That turns a product code into a different product code and a formatted figure into a bare one. Alignment, whitespace and headings can all be fixed safely; the contents of a field cannot, so they are passed through untouched.

Frequently Asked Questions

Ragged rows, spaces, headings and leading zeros.

No. Values are moved and trimmed but never parsed and rewritten, so leading zeros, currency symbols, thousands separators and date spellings all come out exactly as they went in.

It adds empty values at the end until the row is as wide as the header. That keeps every existing value in its own column, which is the alternative to having them all shift left on import.

Only if the file is going into a database or an API that dislikes spaces. For a file a person will open, leave them alone. "Order ID" is easier to read than "order_id" and nothing is gained by changing it.

Because it is doing the job of a space. Removing it would join two words together. The characters that are removed are the ones with no visible width at all, such as the zero width space and the soft hyphen.

An apostrophe is put in front of the value. Spreadsheets read that as "treat this as text" and do not run it, while the value stays readable. Nothing is deleted, because deleting would lose data.

Yes. Drop in as many files as you like, set the options once, and download all the cleaned copies as a zip. Each file is cleaned independently, not merged.

Other CSV Tools

Advertisement Slot (Bottom Banner) Google AdSense Unit • Responsive Banner