1. Home
  2. Free tools
  3. Email list tools
  4. Keep the newest row per email

Keep the newest row for each email: dedupe a CSV by a date column

In short: Upload a list, choose the column that must be unique and a date column, and keep the newest or oldest row of each repeat, whatever order the rows are in. Limit: It finds exact repeats only; a typo makes a different value.

Upload a CSV or .xlsx file, or paste it with a header row. Choose the column that must be unique, such as Email, and the column holding a date. For every value that repeats, the row with the newest date is kept, or the oldest if you prefer, wherever it sits in the file. You download the kept rows and the removed ones.

Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. Check your list free nowSee pricing

Runs in your browser. Nothing is uploaded.
Sample result from the Keep the newest row per email
Show the sample result as

Sample result

Five example rows keep 3: the newest row for ava@ and for ben@, and cara@ once. One date could not be read.

Rows kept
3 of 5
Chosen by
Last updated
Keep
Newest

What this means for you

The newest row is not proof the mailbox works; a check shows which addresses exist.

Next step:Verify the list
  • Date decides, not row order
  • Newest or oldest
  • Three date formats
  • Removed rows saved
  • Dedupe
  • Dates
  • CSV

By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us

Kept the newest rows?

  1. Download the list, or use the check button under the result, which carries its addresses across.
  2. Upload or paste it at /verify. Every address gets a live mailbox check, and the first 100 email checks are free with a Google sign-in, no card.
Check the list

How do I keep the newest row for each email?

  1. Upload the file as a CSV or .xlsx, or paste the cells with the header row first.
  2. Choose the column that must be unique, and the column that holds the date.
  3. Choose newest or oldest, and how the dates are written.
  4. Download the list with one row per value, and the rows removed if you want to see them.

Example

You enter
Five rows with Email, Name and Last updated columns: ava@ twice (the second in capitals), ben@ twice (one date is not a date) and cara@ once, keeping the newest row.
You get
3 rows kept and 2 removed. AVA@example.com (2026-09-30) replaces the March row, and the 2026-05-14 row for ben@ replaces the one whose date could not be read, which is counted.
Limits
Runs in your browser with no row cap; an uploaded file can be up to 25 MB. Nothing is uploaded.

Why not just keep the first or last row?

Keeping the last row only works if the file is in date order. A list made by joining exports from two tools rarely is, so the last row for an address can be the older one.

Here the date decides. If the same address appears three times, the row with the newest date wins, wherever it sits. Equal dates keep the row that came first. For plain first or last, use remove CSV duplicates by column.

Which date formats are read?

Year first (2026-11-14, with an optional time after it), month first (11/14/2026), day first (14/11/2026) and Excel's day numbers. Month first and day first look the same for dates like 03/04/2026, so you choose which one your file uses.

A date that cannot be read counts as older than any readable date. The result shows how many rows in repeated groups had one, so you can fix the format setting if that number looks wrong.

What is matched as a repeat?

Values are trimmed and compared without regard to upper and lower case, so AVA@example.com repeats ava@example.com. Rows with a blank value in the unique column are always kept.

Only exact repeats are found. Addresses that differ by a typo or a dot are different values; the near duplicate email finder looks for those.

Who uses this tool, and for what?

Cold emailers
Keep the most recently updated record for each address after joining exports from two tools.
Marketers
Keep each customer's newest signup row after a re-export.
Sales teams
Keep the oldest row to find when a contact first entered the list.

What can’t this tool tell you?

  • It finds exact repeats only; a typo makes a different value.
  • The whole row with the winning date is kept; cells are not copied from one row to another.
  • Only the first sheet of a workbook is read.
  • A newer row is not proof the mailbox still works.

Common questions

What if two rows have the same date?
The row that came first in the file is kept.
What if a date cannot be read?
That row loses to any repeat with a readable date. The result counts these so you can check the date format setting.
Does the file need to be in date order?
No. The date column decides, not the order of the rows.
Are rows with a blank email removed?
No. They are kept, because there is nothing to compare them with.
Can I see what was removed?
Yes. The removed rows are shown and saved as a second file with the row that replaced each one.
Is my file uploaded?
No. The file is read in your browser and goes nowhere.

A tidy list can still be full of dead addresses.

Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.

  • Upload the cleaned file as it is: CSVs up to 100,000 rows
  • A real SMTP mailbox check on every row, with catch-all detection
  • Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime

Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe