1. Home
  2. Free tools
  3. Email list tools
  4. Suppression list merger

Suppression list merger: combine unsubscribes, bounces and complaints from every platform

In short: Takes any number of suppression files (CSV, Excel, or the Mailchimp audience export .zip) and pasted addresses, labels each address unsubscribed, bounced, spam complaint or suppressed, and merges them with every source named. Optionally removes them, and Gmail dot or +tag versions of them, from a send list. Limit: It only knows the suppressions in the files you add; a platform you didn't export from is missing.

To merge suppression lists, add every unsubscribe, bounce and complaint export you have: the Mailchimp audience export .zip, Klaviyo suppressed profiles, HubSpot, SendGrid or Brevo CSVs. Each address gets a reason from the file's reason column or its name, repeats merge into one row with every source listed, and an optional send list is cleaned against the result.

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. See pricing

1. Suppression files: unsubscribes, bounces, complaints

Add as many as you have: the Mailchimp audience export .zip, Klaviyo suppressed profiles, HubSpot unsubscribes, SendGrid or Brevo suppression CSVs, any CSV or Excel list.

Every suppressed address, and Gmail dot or +tag versions of one, is removed from it. Other columns are kept.

Runs in your browser. Nothing is uploaded.
Sample result from the Suppression list merger
Show the sample result as

Sample result

3 suppression files merged into 7 addresses, then 3 removed from the send list.

Suppressed
7 addresses
Sources
3
Left to send
3

What this means for you

Each address keeps its strongest reason and every source; Gmail +tag variants are caught.

Next step:Verify the cleaned list
  • Any number of files, any platform
  • Reason from column or file name
  • Strongest reason first, sources kept
  • Applied to your send list
  • Suppression
  • Unsubscribes
  • Merge

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

How do I merge suppression lists into one?

  1. Export suppressions from each platform: Mailchimp's audience export (a .zip with unsubscribed and cleaned CSVs), Klaviyo suppressed profiles, HubSpot unsubscribed or bounced contacts, SendGrid or Brevo suppression lists.
  2. Add the files here, several at once; a .zip is opened in the browser. Paste any loose addresses too.
  3. Optionally paste or upload the list you're about to send. A Mailchimp subscribed file inside the .zip is used as the send list when the box is empty.
  4. Press Merge suppression lists, then download the merged list for your new platform and the cleaned send list.

Example

You enter
Mailchimp unsubscribed and cleaned CSVs plus a Klaviyo suppressed-profiles file, 8 rows in all, and a 6-row send list containing Kim.N+promo@gmail.com.
You get
7 suppressed addresses: 3 unsubscribed, 3 bounced, 1 spam complaint; mia.chen@outlook.com is on two lists and kept once with both sources. 3 rows are removed from the send list, including the Gmail +tag variant of kim.n@gmail.com, leaving 3 to send.
Limits
Runs in your browser with no row cap; each file can be up to 25 MB, and a .zip is opened locally.

Why merge suppression lists from different platforms?

Each email platform only knows the unsubscribes and bounces it saw. When you move from Mailchimp to Klaviyo, send from two tools, or hand a list to an agency, the suppressions from the old tool don't travel unless you take them. The first send from the new tool then reaches people who already said no, and addresses that already bounced.

Unsubscribes have to be honoured whichever tool you send from: the FTC's CAN-SPAM guide for the US, and Gmail and Yahoo for bulk senders (Gmail sender guidelines). One merged list, imported into every tool, keeps them honoured.

What's in a Mailchimp audience export?

Mailchimp's export is a ZIP file with one CSV per contact type: subscribed, unsubscribed, non-subscribed and cleaned (Mailchimp: export contacts). Cleaned contacts are addresses Mailchimp stopped sending to after hard bounces or repeated soft bounces (about cleaned contacts).

Drop the .zip here as it is. Unsubscribed files are read as unsubscribes, cleaned files as bounces, non-subscribed as suppressed, and the subscribed file becomes the send list to clean.

How is each address's reason decided?

From the file's own reason column first (Suppression Reason, reason, type, UNSUB_REASON): values mentioning spam or complaint become Spam complaint, bounce, invalid or SMTP 5xx text becomes Bounced, unsubscribe or opt-out becomes Unsubscribed. When a row has no clear reason, the file name decides (unsubscribed_…, cleaned_…, bounces.csv, spam_reports.csv), and anything else is Suppressed.

An address listed several times keeps every reason and source, with the strongest first: a complaint, then a bounce, then an unsubscribe. To compare two lists any other way, use compare two email lists.

Is this faster than merging the files in Excel?

This toolExcel or Sheets
Mailchimp .zipOpened as it isUnzip, open each CSV
Different column namesEmail column found in each fileCopy each email column by hand
Reason per addressFrom the reason column or file nameAdd a column per file
Gmail dots and +tags in the send listCaughtMissed by MATCH or VLOOKUP

Who uses this tool, and for what?

Platform migrations
Carry every unsubscribe and bounce from Mailchimp, HubSpot or SendGrid into the new tool before the first send.
Agencies
Keep one master suppression list per client across every tool the client has used.
Cold emailers
Merge the do-not-contact lists from several sending tools and clean each new lead list against it.
Compliance
Keep a record of every opt-out, with the source and reason, in one file.

What can’t this tool tell you?

  • It only knows the suppressions in the files you add; a platform you didn't export from is missing.
  • Reasons come from each file's reason column or its name, so an oddly named file is labelled Suppressed.
  • Whole-domain suppressions aren't applied; use the compare or remove-by-domain tools for those.
  • It can't tell which of the remaining addresses still have a working inbox.

Common questions

How do I move unsubscribes from Mailchimp to Klaviyo?
Export the audience from Mailchimp, drop the .zip here, download the merged suppression list and import it into Klaviyo as suppressed profiles before the first send.
Can I add files from several platforms at once?
Yes. Add as many CSV, Excel or .zip files as you have. Each is listed with the rows and addresses it added and where its reason came from.
Does it catch Gmail variants of a suppressed address?
Yes, when cleaning a send list: jane.doe+promo@gmail.com is removed if janedoe@gmail.com is suppressed, since Gmail delivers both to the same inbox.
What's the difference between this and compare two email lists?
Compare takes two lists and gives set operations. This takes any number of suppression files, keeps a reason and source per address, and opens platform exports such as the Mailchimp .zip.
Are my files uploaded?
No. Files and the .zip are read in your browser. Nothing is sent unless you choose to check the cleaned send list afterwards.

Sources

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

One plan, 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