Skip to main content

CSV Compare

Analyze two CSV tables side by side, spot additions, removals, or changes, and get a clear report of the differences.

  • Clipboard

Embed this widget

Customize the result, check the live preview, then copy the code.

Preview

Embed code type

Code to copy

Responsive and automatically resized by Bethemesh.

Use a name or 1-based column number. Leave empty to compare complete rows.

Was this tool useful?

How does this tool work?

Comparing two CSV exports helps distinguish records genuinely added, removed or changed from a simple change in row order. Put the reference version on the left and the version to inspect on the right, then decide whether one column identifies records. The result is a report rather than a merged file, useful for reviewing a delivery, synchronisation or catalogue update. Identity depends on your key. Without a key, changing a field makes the old complete record a removal and the new complete record an addition.

Without a key column, complete records are compared while retaining their occurrence counts. Two copies of one record in the reference and one copy in the new version produce one removal. Record order is not a difference criterion. With a key, associated records are compared field by field and changed positions are reported. Choose an exact heading or a column position starting at 1. When the file has no header, use a position rather than a name.

Repeated keys are not overwritten. The engine first matches identical records within each group, then pairs the remaining versions. Extra occurrences become additions or removals. A change within a repeated-key group is therefore a technical pairing, not proof that the two records represent the same business object. Empty keys are grouped too; use a populated, unique key for a more reliable interpretation. Columns are compared by position, without automatic realignment based on their headings.

The header option starts enabled and excludes the first record from compared data. Surrounding spaces are ignored initially, while case remains significant unless its option is enabled. These rules affect both keys and values. Numbers are not normalised as quantities. Automatic detection lets each input use its own comma, semicolon, tab or vertical-bar delimiter; an explicitly selected delimiter applies to both inputs. Quoted multiline cells use the same shared CSV reader. The text export contains the numerical summary, while individual difference details are displayed separately on the page.

How to use this tool

  1. Place the versions in the right direction

    Paste or import the reference on the left and the new version on the right. Confirm delimiters and matching column order. Added and removed are always interpreted relative to that orientation.

  2. Choose how records are identified

    Enter a reliable key to follow modifications, or leave it blank to compare complete records. Confirm the header setting and deliberately choose whether surrounding spaces and case should affect the comparison.

  3. Read the summary together with the details

    Run the comparison, then inspect additions, removals and changed column positions on the page. Export the summary if needed, retaining both source versions so every difference can be reviewed before an update.

Use cases

Review a revised catalogue

Use a product reference as the key to distinguish a changed description from an added or removed item. Check repeated references before interpreting how their versions have been paired.

Compare successive data deliveries

Compare the previous delivery with the new one using the same column order. Moving a record elsewhere in the file should not be mistaken for changing its contents.

Check occurrence counts

Leave the key blank to detect added or missing complete records, including cases where several identical records occur in one or both versions of the source file.

Examples

Track a change by identifier

With id as the key, reference 1 changes, reference 2 is removed and reference 3 is added. No record is unchanged. Without a key, Alice becoming Alicia would not be classified as a modification of the same identity.

Input

id;name
1;Alice
2;Ben
---
id;name
1;Alicia
3;Chloe

Result

Added: 1
Removed: 1
Changed: 1
Unchanged: 0

Find one missing occurrence without a key

Without a key, one identical record is unchanged and the other is removed. A value merely existing on both sides is insufficient: its multiplicity is compared too, without automatically deduplicating either source before comparison.

Input

id;name
1;Alice
1;Alice
---
id;name
1;Alice

Result

Added: 0
Removed: 1
Changed: 0
Unchanged: 1

Tips and best practices

  • Reorder columns before comparison if their layout changed. The engine does not match cells by heading or treat a column permutation as a harmless presentation change; positional comparisons would then be misleading.
  • Ignore case only when it does not distinguish identifiers in your system. Normalisation can deliberately hide a spelling difference that the receiving application considers meaningful, even though the report calls the records equal.
  • Missing or repeated keys weaken the interpretation of changed records. Check completeness and uniqueness instead of treating every automatic pairing as a certain match between real business entities.

Frequently asked questions

Does changing record order count as a modification?

No. Matching searches for complete records or their keys independently of their position in the file. Column order must remain compatible, however, because cells are compared by position rather than automatically associated by heading.

What does changed mean when a key occurs several times?

Identical records are paired first, then remaining occurrences are paired in their remaining order. Counts are preserved, but such pairing does not prove the records' real identity. A unique key provides a clearer interpretation.

Why are 12.50 and 12,50 reported as different?

CSV values are compared as strings after the selected space and case options. Comparison does not convert numbers or currencies. Standardise those formats beforehand only when you are certain that doing so preserves their meaning.

Does the download contain every different record?

It contains the summary counts for added, removed, changed and unchanged records. Individual details appear separately on the page. The tool creates neither an automatically applicable patch nor a file combining both input versions.

Related tools

Tools similar or complementary to this one.

Similar tools

Remove duplicate CSV rows using the columns you choose as matching criteria.

Data & spreadsheetsUse this tool

Select the CSV columns you want to keep in the final result.

Data & spreadsheetsUse this tool
GuideBest practicesBeginner

Split a CSV or Excel table into smaller files

Discover when to split a large table by row count or by a column value, and how to preserve a useful structure in every output file.

29 August 20261 min