CSV Export Desk · preview

Use for general operations exports. Do not process payment-card data or protected health information with these tools.

Preview: desktop browser checks are complete. Physical-phone, native file-picker and spoken screen-reader checks remain. Review results before using them in another system.

Compare CSV exports by key

See what changed between two exports, even if their rows moved. Duplicate and blank keys are excluded visibly so an ambiguous match never silently picks a winner.

Preview: treat results as a review aid; check exclusions before using them to update another system.

1. Old export

2. New export

Per input: UTF-8 text, at most 2 MiB, 20,000 data records, 100 columns, and 200,000 total cells. One header row required. No automatic separator detection or numeric conversion. Choosing a file replaces that side’s pasted text, even if rejected; paste or choose a valid replacement to continue.

Use a column such as an ID that identifies one record. Headers and nonblank keys match exactly, including case, spaces, and leading zeroes. Empty or whitespace-only keys are excluded. Duplicate keys on either side exclude all matching records on both sides.

Ready for two exports.

Worked example: a small amount export

Imagine two synthetic exports with columns id,amount. The old export contains A=10, B=20, C=30. The new export contains C=30, A=11, D=40. Choose id as the key.

If A appears twice in the old export, both old A records and the new A record are excluded. The new A is not called “added”: its matching old record is ambiguous. A blank key is excluded independently. Use the row references to resolve these records in your original files and compare again.

Supported inputs and exact matching

Choose comma or tab separators for each input. Quoted separators, doubled quotes, quoted newlines, empty cells, and a leading UTF-8 BOM are supported. Values such as 00123 and 123 stay different strings. A, a, and A are separate keys. There is no date, number, case, or whitespace normalization.

Blank or repeated headers, inconsistent field counts, invalid UTF-8, NUL bytes, and malformed quotes block the whole comparison. Blank lines are records, not silently skipped; they may fail field counts or be excluded as blank keys. Empty and header-only exports remain distinguishable. A leading BOM is removed; line-ending characters inside quoted cells are preserved and can themselves produce a difference.

Data handling

File contents are read and compared locally in this page; they are not uploaded. This pilot stores no input in browser storage and includes no analytics or advertising. The hosting service receives requests for the page and its static assets. Downloads happen when you choose them. Clearing removes displayed input and results; downloaded files remain on your device. Browser extensions and other software on your device are outside this page’s control.