Changelog
CSVUndo rewrites the file you drop on it, so “is this still maintained, and what did it change?” is a fair question to ask before trusting it with a customer list. This page answers it. Entries that made a repair less eager are listed as prominently as new features, because on a repair tool those are the important ones.
12 August 2026
Repairs made more conservative
- A
postcodecolumn is no longer padded to five digits. Five is the US ZIP width; Germany uses five, Austria and Switzerland use four, and one German row in a DACH export was enough to arm the pad for every Austrian and Swiss row. The word names no width without a country, so it is now offered in the column picker unticked, with the width for you to state. - A column that kept a leading zero anywhere is never pre-ticked. Excel strips a code column in every row, so one surviving
0800proves it came through as text and its short values are genuinely short. That keeps Australian postcodes and 8-digit UPC-E codes out of the default repair. - …and a column Excel stripped in every row IS pre-ticked again. A previous change asked the damaged data to prove the width the damage had removed, which switched the site's headline repair off on exactly the files it exists for.
- Nothing unwraps
="00501"unless it is putting the wrapper straight back. The converter, cleaner, splitter, merger and joiner had begun stripping the site's own Excel protection out of already-repaired files and re-writing bare digits, which Excel then re-damaged on the next open.
Fixed
- A classic-Mac (CR-only) file with a quoted first field no longer collapses into a single column.
- A file whose UTF-8 byte order mark lied about its contents no longer glues
onto the first column name, and the page no longer reports the encoding it did not use. - A Windows-1252 file containing one accidental valid byte pair is reported as Windows-1252 again, not UTF-8.
- BOM-less UTF-16 holding non-Latin text (a Japanese header row) is detected instead of being called “ASCII, safe to treat as UTF-8”.
- A binary file dropped on a repair tool is refused with the same message the encoding checker gives, instead of parsing into nonsense.
- The joiner no longer deletes a cell from a row wider than its own header, and no longer emits two columns with the same name.
- An unterminated quotation mark is now reported by every tool, not only the repair pages.
- The splitter refuses an absurd number of parts before building them rather than after.
New
- Cells that spreadsheets execute as formulas (
=,@) are counted and reported. Nothing is rewritten — an apostrophe prefix would fix the file for Excel and break it for everything else. - Every tool ends with a next step instead of a full stop.
- An accessibility statement, including the parts that still fall short.
- The encoding checker has a sample to try when you have not got a file to hand.
Accessibility
- Every comparison table in the guides is now keyboard-scrollable and names its columns; they were reachable only with a mouse.
- The skip link's target is programmatically focusable on all pages.
- The splitter's number box is named for what it currently means, and changes name with the mode.
1 August 2026
- Renamed from FixMyCSV to CSVUndo and moved to csvundo.com. (
fixmycsv.comis an unrelated third party that uploads your file to a server; we are not it.) - Moved to Cloudflare Pages, with
connect-src 'none'in the Content-Security-Policy — the browser now enforces the no-upload promise rather than us asserting it. Verify it in 30 seconds.
Older changes predate this file. Dates are the day the change went live, not the day it was written.