Zero Signup ToolsFree browser tools

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

  1. 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.
  2. 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).
  3. 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.
  4. Read the stats panel: duplicates removed, duplicate groups, and blank rows dropped. Scan the duplicate groups list to audit what was collapsed.
  5. 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

All tools
All toolsConverter Tools