Justility.

CSV comparison

Match two CSV files by key columns and review added, removed and changed records with downloadable reports.

WorkspaceProcessed on your device

UTF-8 CSV/TSV up to 20 MB and 50,000 records. A header row is required.

UTF-8 CSV/TSV up to 20 MB and 50,000 records. A header row is required.

Read columns, then choose the columns that uniquely identify a record. Row order and column order do not affect matching; values remain text, including leading zeros.

Case and whitespace settings apply to keys and cell values. Empty or duplicate keys stop comparison. Renamed keys appear as removed and added records. Formula protection can prefix an apostrophe to sensitive CSV cells.

Processed on your device. Your files are never uploaded by Justility.

How privacy works

How it works

Paste or select original and revised UTF-8 CSVs, read their columns, and choose shared columns that uniquely identify records. Compare the files, review changes, then download the difference report and added or removed records.

Supported formats

Two CSV/TSV files up to 20 MB and 50,000 data records each; required unique, nonempty headers, up to 200 columns and two million cells per file. Comma, tab, semicolon or pipe delimiters. Three CSV reports up to 50 MB combined.

Good to know

Keys must be nonempty and unique in each file. Values remain text. Header and row order do not affect matching; added or removed columns count as changes even when empty. No fuzzy matching. Previews show 50 differing records with shortened long cells.

Worked example

Before

Original: id,name,amount / 001,Ada,10 / 002,Sam,20 / 003,Lee,30. Revised: 001,Ada,12 / 002,Sam,20 / 004,Robin,40. Key: id.

After

1 added (004), 1 removed (003), 1 changed (001), 1 unchanged (002).

The comparison CSV includes status, key, changed column names and complete before/after JSON objects. Added and removed record downloads preserve the respective source columns.

Match records with a stable identifier

Select an ID, email or combination of columns that identifies exactly one record. Duplicate or empty keys stop the comparison. Leading zeros remain significant. Optional whitespace and case normalization applies to both keys and values. Renaming a key produces a removal and addition.

CSV cleaner & deduplicator

Troubleshooting

How do I fix duplicate CSV comparison keys?

Select additional key columns to create a unique combination, or inspect duplicates in CSV cleaner. Do not delete a legitimate repeated record just to satisfy a key: choose the columns that represent its actual identity.

Common questions

What if a column was added, removed or reordered?

Reordered columns match by exact header name. Added and removed column names appear in the summary and matched rows count as changed. Before/after JSON preserves missing fields separately from empty values.

Can I use this without an internet connection?

Yes, after you prepare this tool from Offline help and the browser retains its assets. Installation is optional. All processing dependencies are bundled locally.