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.
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.
- 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?
- 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.
- Add the files here, several at once; a .zip is opened in the browser. Paste any loose addresses too.
- 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.
- 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.comis on two lists and kept once with both sources. 3 rows are removed from the send list, including the Gmail +tag variant ofkim.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 tool | Excel or Sheets | |
|---|---|---|
| Mailchimp .zip | Opened as it is | Unzip, open each CSV |
| Different column names | Email column found in each file | Copy each email column by hand |
| Reason per address | From the reason column or file name | Add a column per file |
| Gmail dots and +tags in the send list | Caught | Missed 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.