Developer
CSV Editor
Open a spreadsheet file, fix what is wrong with it, and save it again — sorting, find and replace, and the tidying up an export always needs. The file is read by your own browser and never uploaded, which matters more here than almost anywhere: a payroll sheet or a customer list is exactly the file you should not be handing to a website to find out what is in it.
How to use it
- Drop a CSV or TSV onto the page, or choose it. It is read on your device and not uploaded.
- Check the line above the table. It shows the encoding and how many rows and columns were found — if the text looks wrong, change the encoding there and the same file is re-read.
- Say whether the first row is a header. That decides what sorting leaves in place and what counts as an empty column.
- Click any cell to edit it. Enter commits, Tab moves to the next cell, Escape cancels.
- Sort with the arrows in a column heading, filter with the box above the table, and use Find and replace for anything bigger.
- Tidy up removes duplicate rows, empty rows and columns, and stray spaces — each one tells you how much it removed.
- Save. Choose the separator and line endings, and keep the byte-order mark if the file has non-English text and is going into Excel.
How it works
A CSV file is just text: rows separated by line breaks, fields separated by a character that the file never actually names. That missing information is where nearly every problem with these files comes from. The separator has to be inferred, and so does the encoding — the rule that turns the raw bytes into letters. Guess either one wrong and the file opens as gibberish or as a single column.
The separator is worked out by parsing the start of the file with each candidate and seeing which one produces a consistent number of columns per row. That is a better signal than frequency: a column of addresses is full of commas even when the real separator is a semicolon.
The encoding is settled by trying UTF-8 in a strict mode where invalid byte sequences raise an error instead of being quietly replaced with question marks. If the file passes, it was UTF-8. If it fails, Windows-1252 is used, which is what Excel writes on a Western Windows install and which cannot fail because every possible byte maps to some character. That order matters: the encoding that always succeeds has to be tried last, or it would swallow everything.
Editing happens on the parsed rows in memory. Only the rows scrolled into view are turned into elements on the page, so a file with a hundred thousand rows opens as quickly as one with a hundred. Filtering hides rows without touching them, and edits are written back to the real row rather than the visible one — so changing a cell in a filtered table changes the cell you are looking at.
Saving reverses the process: fields that contain the separator, a quote or a line break are wrapped in quotes, the text is encoded as UTF-8, and a byte-order mark is added unless you turn it off. None of this involves a server at any point.
Common questions
Is my file uploaded anywhere?
No. Your browser reads the file from your disk and everything happens there — the sorting, the editing, the saving. There is no upload endpoint to trust, because there isn't one. Load the page, switch off your network, and the tool still works: that is the easiest way to check the claim rather than take it.
Why do the accented or Arabic characters look wrong in other tools?
Because a CSV file does not say what encoding it is in, and most tools assume UTF-8. Excel on a Western Windows install writes Windows-1252 instead, so names like José or مرحبا come back as nonsense. This editor tries UTF-8 strictly first and falls back to Windows-1252 only when the file genuinely is not valid UTF-8 — and if it still guesses wrong you can change the encoding with the dropdown and it will re-read the same bytes.
My file uses semicolons, not commas. Will that work?
Yes. Semicolons are the normal separator anywhere the decimal separator is a comma, which is most of Europe. The separator is detected by checking which one gives every row the same number of columns, rather than by counting characters — a file of addresses contains far more commas than semicolons and counting gets it backwards. Tabs and pipes are recognised too, and you can choose a different separator when you save.
Can I use formulas, like in Excel?
No, and that is deliberate. This edits the file rather than computing over it. A CSV has no formulas in it — it is rows of text — so a formula would exist only inside this page and would vanish the moment you saved. If you need calculation, do it in a spreadsheet and export the result.
How big a file can it open?
Up to 40 MB, which is roughly a few hundred thousand rows. The limit is real rather than arbitrary: keeping the promise that nothing is uploaded means the whole file is held in your browser's memory, and past that point the tab becomes unreliable. Only the rows on screen are actually drawn, so scrolling stays smooth well before the limit.
What happens to quotes and commas inside a cell?
They are preserved. A field containing the separator, a quote mark or a line break is quoted when the file is written, and quotes inside it are doubled, which is what the CSV convention expects. An address cell with a comma and a line break in it survives being opened and saved unchanged.