Messy CSV in.
Clean CSV out.

Files up to
128 KiB · 1,000 rows
Every step
Reversible
Example preview of customers_q3.csv: one name has stray spaces, one city is blank, one row repeats an earlier row, and a blank city has been filled with “Unknown”.
  • Stray spaces show as · dots, so you can see what a trim will change.

  • Blank cells are counted per column. Fill a column’s blanks with a value you choose.

  • Duplicates are counted before you apply anything, and every step can be undone.

Private by default

One account · one cookie · no third-party scripts

Your file stays in your account. Only you can open it, and deleting it takes the original, every version and its history with it.

What it fixes

Six tools · one table · nothing to install
  1. 01

    Spot missing values

    Counted per column, with a completeness meter. “N/A” stays data; only real blanks count.

  2. 02

    Remove duplicate rows

    Keeps the first occurrence, drops exact repeats.

  3. 03

    Trim whitespace

    Leading and trailing spaces, tabs and line breaks — often hiding duplicates.

  4. 04

    Fill blanks

    Give one column’s empty cells a value you choose, up to 100 characters.

  5. 05

    Preview, then undo

    See how many cells a fix will change before it lands. Undo or reset any time.

  6. 06

    Export clean CSV

    UTF-8 that Excel opens correctly. Formula-like cells are exported as text.

Try it on
eight rows

Toggle the fixes. Order matters — without a trim, “·Ben Okafor·” doesn’t match its duplicate.
8 rows in · 8 rows out6 issues left
Preview of the sample file with the selected fixes applied
Rownameemailcitymrr
1Ana Souzaana@northwind.ioLisbon49
2Ben Okafor (extra spaces)ben@okafor.devLagos19
3Chloé Martinchloe@martin.frblank49
4, duplicateAna Souzaana@northwind.ioLisbon49
5, Emptyblankblankblankblank
6Ben Okaforben@okafor.devLagos19
7Dev Pateldev@patel.coblank29
8Eli Novakeli@novak.czPrague (extra spaces)19
  • 2 stray spaces
  • 2 blank cells
  • 1 empty row
  • 1 duplicate

This demo runs in your browser with sample data. Your own files are cleaned the same way, in your private workspace.

Where your file goes

The round trip, in three stops
  1. 01 · Your computerYou upload a CSV

    Checked for size, encoding and shape before anything is saved.

  2. 02 · Your private workspaceProfiled and cleaned, one reversible step at a time

    Only your account can open it. The original upload is kept for reset.

  3. 03 · Your computerA clean copy downloads

    A new file named after your dataset. The one on your disk is never touched.

Ads · analytics · third-party scriptsNot on the route. One sign-in cookie, and nothing else follows you around.

Who it’s for

Anyone holding an export they don’t trust
  • Marketing

    Dedupe a list before it hits your email tool.

    newsletter_export.csv
  • Research

    Tidy survey responses before you analyse them.

    survey_wave2.csv
  • Operations

    Fix inventory sheets before the next import fails.

    stock_levels_oct.csv
  • Finance

    Clean a transactions export before it reaches the books.

    transactions_q3.csv

Why not just a spreadsheet?

You can. It’s just slower, and it’s easy to miss what you can’t see.

SpreadsheetCleanYourDataset
Find duplicate rowsHelper column and a formulaCounted on upload
See stray spacesInvisibleMarked in every cell
Check a fix firstApply and hopeExact count, then apply
Undo a mistakeHope it’s still in historyUndo, or reset to the upload
Original dataEasy to overwriteKept for reset
Cells starting =, +, - or @Can run as formulasExported as text

The limits, up front

Outside them? You get a clear reason, not a crash
File size
128KiB
Data rows
1,000rows
Columns
20cols
Per cell
500chars
Per account
100files

Free CSV tools

No account · nothing uploaded · see all 9

Free for small files.
Ready in a minute.

Create an account

Already have one? Log in