CSV Migration Check
THE MIGRATION WORKBENCH

Know what made the move.

Match renamed columns. Inspect changes. Keep uncertain rows in view.

01 Your two snapshots

BEFORESource system
No file selected
AFTERDestination system
No file selected

UTF-8 only. 500,000 cells total, including headers. Up to 500 columns per file. Values stay exact strings, including leading zeros and long IDs.

02 Define the match

Map each source column to one destination column. Pick 1–3 keys and the fields you want checked.

Your column map appears here after both files are loaded.

No trimming or type conversion. Empty key components are invalid; whitespace remains significant.

03 Review the evidence

STRICT STRINGS

A clear picture of your migration.

Changes are compared field by field.
Duplicate keys are held aside as complete groups.

+ Added− Removed~ Changed
How this check works · Privacy & limits

Your data stays in this tab

Files and filenames are processed in browser memory. This app sends no data requests, uses no analytics, cookies or browser storage, and does not save your source files. Clearing the session or closing the tab releases this app’s references to them.

The host receives ordinary page requests, such as your IP address. A private preview may require the hosting provider’s sign-in. Browser extensions, your device and files you download are outside this app’s control. Once loaded, the tool works offline in this tab; a fresh offline visit needs the standalone HTML package.

What a result means

“Unchanged” covers selected comparison fields only. Unmapped and excluded fields are unverified. A duplicate key on either side isolates every row with that key on both sides. Invalid rows have at least one empty key component.

Record numbers are logical CSV records: header = 1, first data record = 2. A quoted field can span text lines. This check does not validate business rules or certify a migration. All values remain strings, and the source files are never modified.