Converter Tools
CSV Deduplicator
Remove duplicate rows from a CSV, TSV, or pipe-separated file in your browser. Pick key columns, keep the first or last copy, and download the unique rows.
Source CSV
Paste, drop, or open your CSV file
Input delimiter
Detected: Comma
Parsed 12 rows x 4 columns (first row treated as header).
Duplicate key
Choose what makes a row a duplicate
Rows are compared across every column.
Deduplication options
Which copy to keep
The kept row always appears at the position of the first occurrence, so output order matches the input.
Comparison
Output delimiter
Deduplicated CSV
Unique rows ready to copy or download
8 data rows plus header from 11 input rows · 371 B
Duplicates removed
3
Duplicate groups
2
Blank rows dropped
0
Comparing rows by: emailnamecountryplan
Duplicate groups
What was collapsed
Showing the top 2 of 2 groups with two or more matching rows.
- 3 copiesFirst seen at line 2
ada@analytics.example | Ada Lovelace | UK | Pro
- 2 copiesFirst seen at line 3
grace@navy.example | Grace Hopper | US | Pro
What this tool covers
- Key column control: compare every column for an exact-row match, or pick a subset such as email or order_id so rows with different trailing fields still collapse correctly.
- Keep first or last: decide whether the earliest or latest occurrence of each duplicate wins, useful when later rows carry the freshest values.
- Case and whitespace: ignore casing and surrounding spaces by default so Alice@x.com, alice@x.com, and " alice@x.com " count as the same row.
- Header-safe: when the first row is a header, it stays pinned at the top while only the data rows are deduplicated.
- Stable output order: each kept row appears at the position of its first occurrence so the file stays predictable.
- Delimiter aware: comma, tab, semicolon, and pipe inputs are supported with auto-detection, and the output can use a different delimiter than the input.
How to use
- Paste or open a CSV in the source box. The delimiter is auto-detected, and the parsed row and column count appears below the input.
- Choose the duplicate key: All columns for an exact row match, or Choose key columns to pick the fields that define a duplicate (for example, email or order_id).
- Pick whether to keep the first or the last occurrence of each duplicate. Toggle Case sensitive, Trim whitespace, and Drop blank rows to match your data.
- Read the stats panel: duplicates removed, duplicate groups, and blank rows dropped. Scan the duplicate groups list to audit what was collapsed.
- Copy the deduplicated CSV with Copy CSV or grab a deduplicated.csv file with Download. Switch the output delimiter if you need a TSV or a pipe-separated file instead.
About this tool
CSV Deduplicator reads a CSV (or TSV, semicolon, or pipe-separated file) and emits a new file with duplicate rows removed. The duplicate key can be every column at once, which is the standard exact-row match, or a subset of columns such as email, order_id, or customer_id, which is the right policy when later columns carry rolling fields like updated_at or total_spend that should not block a match. The kept row can be the first occurrence (the typical default) or the last occurrence (useful when rows are sorted by time and the latest row carries the freshest values). Comparison can ignore casing and ignore surrounding whitespace, so ALICE@x.com, alice@x.com, and " alice@x.com " collapse into one row when those toggles are on. Blank rows can be dropped on the way in to keep the output clean. The header row, when present, is preserved at the top while only the data rows are deduplicated. The result panel reports the number of duplicate rows removed, the number of duplicate groups (two or more rows sharing the same key), and the number of blank rows dropped, and the top duplicate groups are listed with their occurrence count and the first source line so you can audit what was collapsed before downloading. Delimiters are auto-detected from the input across comma, tab, semicolon, and pipe, and the output delimiter can be different from the input delimiter so a TSV can be deduplicated and downloaded as a CSV. The parser follows RFC 4180, so quoted fields, embedded commas, embedded newlines, and escaped quotes round-trip correctly. Everything runs locally in your browser; the file you paste or open here is never uploaded to a server.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
CSV Sorter
Sort a CSV by one or more columns with per-column direction and type.
Open tool
ConverterCSV Merger
Combine two CSVs by appending rows or joining on a shared key column.
Open tool
DeveloperCSV Diff
Key-aware CSV compare with added, removed, and changed rows.
Open tool
TextDuplicate Line Remover
Paste a list, dedupe lines in your browser with rich options and live stats.
Open tool
ConverterCSV Column Extractor
Pick CSV columns, reorder them, and export a clean CSV with only those columns.
Open tool