CSV Deduplicator
Find and remove duplicate rows in a CSV, comparing whole rows or only the columns you choose.
Processed locally in your browser· Your data stays in your browser.
What is CSV Deduplicator?
Merged exports and repeated imports create duplicate records. This tool compares rows and keeps a single copy of each. By default a row is a duplicate only when every column matches; list one or more columns, such as email, to treat rows as duplicates whenever those columns match.
You choose whether the first or the last occurrence survives, and whether comparison ignores letter case. Surviving rows keep their original order. The result reports how many rows were before, how many duplicates were removed and how many remain.
How does it work?
- Paste the CSV or open a file.
- Leave "Compare columns" empty to compare whole rows, or list columns such as email or 1,3.
- Choose to keep the first or last occurrence and tick ignore case if needed.
- Read the statistics, then copy or download the deduplicated CSV.
Common use cases
- Cleaning a mailing list so each email appears once.
- Removing rows repeated after merging several exports.
- Keeping only the latest record for each customer ID.
- Checking how many duplicate rows an import contains.
Examples
Try this input in the tool above:
id,email,plan 1,alice@example.com,free 2,bob@example.com,pro 3,ALICE@example.com,pro 4,bob@example.com,free
id,email,plan 1,alice@example.com,free 2,bob@example.com,pro
Privacy
CSV Deduplicator runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.
Limitations
Only exact matches are detected (optionally ignoring case). Near-duplicates such as "Jon" and "John" or different spacing are treated as different values.
Frequently asked questions
What does keeping the last occurrence do?
When several rows share the same key, the final one in the file is kept and earlier ones are dropped. Useful when newer rows update older data.
Are the rows reordered?
No. The surviving rows stay in their original relative order.
Is the header row ever removed?
No. With "First row is a header" enabled, the header is excluded from comparison and always kept.
Related tools
CSV Sorter
Order the rows of a CSV by one column, comparing values as text, natural text, numbers or dates.
JSON & Data
CSV Filter
Keep only the CSV rows that match a condition on one column, or on any column at once.
JSON & Data
CSV Merger
Combine two CSV texts into one, either by stacking their rows or by placing them next to each other.
JSON & Data
CSV Column Extractor
Keep only the columns you need from a CSV, chosen by header name, position or range, in the order you list them.
JSON & Data
Remove Duplicate Lines
Paste a list and keep only unique lines, in the original order or sorted, with a count of what was removed.
Text Tools
CSV Viewer
Paste CSV text or open a .csv file and inspect it as a table, with row and column counts and the detected delimiter.
JSON & Data
CSV Validator
Check that a CSV is well-formed before importing it, and get a list of problems with line numbers.
JSON & Data