Related tools
What this CSV Compare tool offers
Compare two CSV files by row content. See counts for rows only in the first file, only in the second, and in both. Preview tables show the first 25 rows of each set. Download or copy each set. Toggle case-insensitive comparison and set an optional download prefix. All processing is client-side.
- Compare by full row: Two rows match only if every cell matches. Order does not matter. Toggle case-sensitive or case-insensitive.
- Only in first, only in second, in both: Counts, preview tables (first 25 rows), and download or copy for each set.
- Download and copy: Download only_in_csv1, only_in_csv2, and common as CSV; or copy any set. Optional filename prefix.
- Delimiters: Auto or fixed delimiter for each input file separately. Choose output delimiter for exported files.
- Encoding for file upload: Select UTF-8, Windows-1252, or ISO-8859-1 when uploading files.
- Client-side and private: Comparison happens in your browser; nothing is sent to a server.
Why compare CSV files?
Comparing two CSVs finds added or removed rows between exports, versions, or sources. Downloading difference sets helps audit changes or sync data.
- Spot differences fast: See counts and previews without opening both files manually.
- Export splits: Save only-in-first, only-in-second, or common rows as separate CSVs.
CSV parsing and comparison run entirely in your browser with no server upload; heavy result updates are deferred to keep the interface responsive on larger files.
Options at a glance
- Delimiter CSV 1 / CSV 2: Auto-detect or choose comma, semicolon, tab, or pipe for each file.
- Output delimiter: Comma, semicolon, tab, or pipe for downloaded and copied result CSVs.
- Encoding: UTF-8, Windows-1252, or ISO-8859-1 for file uploads.
- Case-sensitive comparison: When on (default), row content matches case. When off, comparison is case-insensitive.
- Download prefix: Optional prefix for downloaded filenames (e.g. diff → diff_only_in_csv1.csv).
Frequently asked questions
How are rows compared?
Rows are compared by their full content (all cells). Two rows match only if every cell matches. Row order does not matter. You can use case-sensitive (default) or case-insensitive comparison.
Can I download the rows that are in both files?
Yes. Use Download in both to get the common rows as CSV. You can copy any result set (only in CSV 1, only in CSV 2, or in both) to the clipboard.
What is the download prefix for?
If you set a prefix (e.g. diff), downloaded files are named prefix_only_in_csv1.csv, prefix_only_in_csv2.csv, and prefix_common.csv. Leave blank for only_in_csv1.csv, only_in_csv2.csv, and common.csv.
What delimiters are supported?
CSV 1 and CSV 2 each have their own delimiter (Auto or comma, semicolon, tab, or pipe). Output delimiter sets how exported CSV files are written (no Auto).
Is my data secure?
Yes. Comparison runs entirely in your browser. Your data never leaves your device.