Free tool · no signup · no upload

What is actually sitting in your contact count?

Klaviyo bills per active profile — bots, typos and dead addresses included. Drop in your export to see how many there are, split into what is provably unreachable and what needs your judgement. Anyone who has ever bought from you is excluded before anything else runs.

🔒 Your list never leaves this page — everything runs in your browser
Drop your profile export here or click to choose a file
In Klaviyo: Audience → Profiles → Manage → Export profiles to CSV
Works with any list export that has an email column — Mailchimp, Omnisend, Shopify customers, a spreadsheet.

Match your columns

Only the email column is required. Every extra column you can map makes the estimate sharper — and the engagement columns are what unlock the biggest savings.

Estimated monthly saving

What is in your list

Each contact appears once, in the first category it matches. Duplicate rows are merged, not flagged — and never exported, because Klaviyo suppresses by address, so removing a "duplicate" removes the real person.

CategoryContactsShare of listVerdictWhat it is

Take it to Klaviyo

Every file carries orders, last engagement and signup date on each row, so you can spot a mistake before you upload rather than after. Start with the first — those addresses cannot receive mail from anyone.

Before you suppress anything 1. In Klaviyo, suppressing a profile takes it off your billable count while keeping its history — that is what you want here. Deleting is irreversible and you lose the purchase data attached to it.
2. Once you unsuppress a profile, Klaviyo won't let you suppress it again for 90 days. So don't bulk-suppress a group you're unsure about "just to see the bill drop."
3. Your bill drops when you cross a tier boundary, not with every contact removed. If you're 40 contacts above a boundary, removing 3,000 and removing 40 save you the same amount this month — check the tier ladder below before doing anything drastic.
4. Never bulk-apply the correction column. "john@gmial.com → john@gmail.com" is a guess at a different human being who never subscribed to you. Mailing them is a spam complaint and a GDPR/CAN-SPAM problem, and complaints damage the sending reputation of your entire account.
5. Suppress in small batches and watch your revenue for a fortnight. If open tracking is lying to you — and since Apple Mail Privacy Protection it often is — you want to find that out at 200 contacts, not 20,000.

Your tier ladder

Profiles up toPer monthWhere you'd sit
How each category is detected (and what it will get wrong)

Provably unreachable — the only things marked safe

  • Typo of a major providergmial.com, yahooo.com. Note that gmail.co and similar are deliberately not in this list: .co is Colombia's real TLD, not a typo.
  • Disposable inbox — a maintained list of throwaway-mail providers whose inboxes expire.
  • Automated mailboxnoreply@, postmaster@, mailer-daemon@. No human reads these.

Everything else needs your eyes, and here is why

  • Shared company addresses (info@, orders@, purchasing@) are junk on a consumer list and the buying contact on a wholesale one. This tool cannot tell which kind of business you run, so it will not decide for you. If you sell B2B, keep them.
  • Syntax failures — our checker is Unicode-aware, but international addresses still vary more than any regex. It is a heuristic, not a verdict, so it never sits in the safe bucket.
  • Possibly machine-generated — Vietnamese, Polish and Czech romanised names are consonant-dense, and vowel-dropped handles were the style for anyone who made an address between 1998 and 2012. This is the weakest signal here and it is treated as such.
  • No engagement on record — the biggest category on most lists, and the most dangerous to act on. See below.

Where this is wrong

  • Apple Mail Privacy Protection broke open tracking in 2021. A large share of "opens" are Apple pre-fetching, and some real readers register no open at all. This is why no engagement-based category is ever marked safe. Map a click column and an orders column if you possibly can.
  • Anyone with a purchase is excluded before classification starts — but only if you map an orders or revenue column. If you don't, that protection is simply not running, and the tool says so in orange.
  • Duplicates are merged, not flagged. Your real profile count is the unique-address count, which is usually lower than the row count of your export.
  • The price table is third-party and Klaviyo changes it. That is why the headline is a contact count and the dollars are secondary. Switch to "I'll enter my own" and type what your invoice says.
  • Suppressed and unsubscribed profiles may already be filtered out of your export, in which case the total here is lower than your billable count.

Also on this site

If you carry stock as well as a list: the Stockout Cost Calculator prices what running out cost you, and Reorder Copilot ($49, one file, no subscription) turns that into what to order this week. Both free of accounts and uploads, same as this.