# What Is a Good Email Bounce Rate? 2026 Guide | ContactLint

- **Canonical URL**: https://contactlint.com/what-is-a-good-email-bounce-rate
- **Author**: John Alewine

> A good email bounce rate is under 2%, and under 1% is better. See the thresholds Amazon SES, Klaviyo and Postmark publish, and how to lower yours.

---

[Home](/) / What Is a Good Email Bounce Rate? The Published Thresholds and How to Lower Yours

# What Is a Good Email Bounce Rate? The Published Thresholds and How to Lower Yours

Published November 5, 2026 · Updated November 5, 2026

[Email this to yourself](mailto:?subject=What%20Is%20a%20Good%20Email%20Bounce%20Rate%3F%20The%20Published%20Thresholds%20and%20How%20to%20Lower%20Yours&body=https%3A%2F%2Fcontactlint.com%2Fwhat-is-a-good-email-bounce-rate)

By [John Alewine](https://www.linkedin.com/in/johnalewine/), founder of ContactLint ([LinkedIn](https://www.linkedin.com/in/johnalewine/)). Pages checked November 5, 2026. Markdown copy: [/what-is-a-good-email-bounce-rate.md](/what-is-a-good-email-bounce-rate.md).

## What is a good email bounce rate?

A good email bounce rate is under 2% of sent mail, and under 1% is better. Amazon SES says to keep it below 2% and places accounts under review at 5% ([AWS](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html)). The catch: each provider counts bounces differently, so the number that matters is the one your own sending tool enforces.

Bottom line

- Pick signup validation if most of your bad addresses come in through forms, trials or AI agents writing to your CRM.

- Pick an SMTP mailbox verifier if you are about to mail an old or imported list and need mailbox-level checks.

- Skip a paid tool unless your rate is above 1%, it is climbing, or you are about to mail addresses you have not contacted in months.

On this page: [is a good email](#what-is-a-good-email-bounce-rate) · [Key facts](#key-facts) · [email bounce rate is,](#what-email-bounce-rate-is-and-what-it-is) · [Our data: how bounce](#our-data-how-bounce-rate-articles-back-u) · [How email bounce rate](#how-email-bounce-rate-is-calculated) · [bounce rate is considered](#what-bounce-rate-is-considered-good) · [Why emails bounce](#why-emails-bounce) · [How AI assistants answer](#how-ai-assistants-answer-what-is-a-good) · [How to lower your](#how-to-lower-your-bounce-rate-step-by-st) · [Mistakes that cost the](#mistakes-that-cost-the-most) · [Your options for reducing](#your-options-for-reducing-bounces) · [How we compared the](#how-we-compared-the-options) · [Which option fits you](#which-option-fits-you) · [Who this is not for](#who-this-is-not-for) · [Next step: check addresses](#next-step-check-addresses-before-you-sen) · [FAQ](#faq) · [Changelog](#changelog)

Want a quick read on your own list? Paste a few addresses into our [free checker](/tools), then run your send volume through the [bounce cost calculator](/email-bounce-cost-calculator) to see what bounces cost you.

Most pages we checked repeat one number, 2% (19 of 23), and few say where it comes from. This guide shows where that number comes from, what sending platforms actually enforce, and what to do when your rate is too high. It also covers how to stop bad addresses before you send, so they never get the chance to bounce.

Check addresses before they bounce

Get an API key at [signup](/signup) and use 250 free checks every month, no card needed. Credit packs are listed on [our pricing page](/email-validation-api-pricing).

[Get a free API key](/signup)

## Key facts

- Amazon SES: aim below 2%, review at 5%, possible pause at 10% ([AWS FAQ](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html)).

- SES counts only hard bounces to unverified domains in the rate it reviews at 5% ([AWS FAQ](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html)).

- Klaviyo rates under 1% healthy and over 2% as needing attention ([Klaviyo Help](https://help.klaviyo.com/hc/en-us/articles/115000201131)).

- Klaviyo judges these rates over the last 30 days, not one campaign ([Klaviyo Help](https://help.klaviyo.com/hc/en-us/articles/115000201131)).

- Postmark requires bounce rates under 10% of all emails sent, or pauses the account ([Postmark](https://postmarkapp.com/support/article/does-postmark-have-a-daily-send-limit)).

## What email bounce rate is, and what it is not

An email bounce happens when the receiving mail server rejects your message and sends a failure notice back over the [Simple Mail Transfer Protocol](https://www.wikidata.org/wiki/Q160453) (SMTP), the protocol mail servers use to pass email along. Bounce rate is the share of your sent messages that came back this way. It belongs to [email marketing](https://www.wikidata.org/wiki/Q1155133) and transactional sending.

It is not your website bounce rate, which counts visitors who leave after one page. It is not your unsubscribe rate or spam complaint rate, which measure mail that arrived. It is also not inbox placement: a message can get through and still land in spam. Bounces split into two kinds. Hard bounces are permanent, like an address that does not exist. Soft bounces are temporary, like a full mailbox. We explain the split in [hard bounce vs soft bounce](/hard-bounce-vs-soft-bounce).

## Our data: how bounce rate articles back up their numbers (checked November 5, 2026)

Method. This is a snapshot taken on November 5, 2026. We ran three searches: "what is a good email bounce rate", "acceptable email bounce rate" and "email bounce rate benchmark". We kept 23 distinct article, glossary, tool and documentation pages, and skipped forums, video, social, Reddit and Quora. We opened 7 in full (Mailtrap, Campaign Monitor, Microsoft Learn, monday.com, Apollo, Verified.email and SenderReputation.org) and judged 16 from their search snippets. For each one we recorded the threshold it gives and whether it names a source, separates hard and soft bounces, gives fix advice, mentions validation, and shows a 2025 or 2026 date.

Limits. If a snippet did not show something, we counted it as "no". So the feature counts may run low for the 16 pages we did not open. Opening 4 more pages changed some of our snippet calls in both directions. For opened pages we used the date shown on the page. For snippet-only pages we used the search result's age. This is a one-day sample, not a census.

| Check | Pages (N of M) | 

| States a numeric threshold for a good or acceptable rate | 20 of 23 | 

| Names where the threshold comes from | 5 of 23 | 

| Separates hard and soft bounces | 19 of 23 | 

| Says what to do when the rate is too high | 21 of 23 | 

| Mentions email validation or list verification as a fix | 8 of 23 | 

| Shows a 2025 or 2026 date | 16 of 23 | 

| Range of thresholds found | A 2% figure (under, up to or about 2%) on 19 pages, under 3% on 1 page; one product limit of 8% (Microsoft) | 

What it means. Nearly every page says 2%, but fewer than one in four (5 of 23) says where the figure comes from. The closest primary source we found is Amazon SES, and SES applies it only to hard bounces to domains you have not verified. Only 8 of 23 pages mention checking addresses before you send, even though that is the step you control most directly.

## How email bounce rate is calculated

The standard formula divides bounced messages by messages sent, then multiplies by 100. [Klaviyo's Help Center](https://help.klaviyo.com/hc/en-us/articles/115000201131) defines bounce rate as bounced emails divided by total emails sent. Use sent, not delivered, as the denominator. A bounced message was never delivered, so dividing by delivered inflates the rate.

`bounce_rate = bounced / sent * 100
hard_rate   = hard_bounced / sent * 100`
Worked example (hypothetical, not a measurement): you send 8,000 emails. 90 hard bounce and 30 soft bounce. Total bounce rate is 120 / 8,000 x 100 = 1.5%. Hard bounce rate is 90 / 8,000 x 100 = 1.125%.

Your platform may not use this formula. Amazon SES says [its bounce rate includes only hard bounces to domains you haven't verified](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html). It also works out the rate over a "representative volume" of your sending, not a fixed date range. AWS says you cannot rebuild its figure from your own CloudWatch send and bounce counts. So read the number your platform reports, and track your hard bounce rate on its own line.

## What bounce rate is considered good

We only list limits from pages we opened. Mailbox providers such as Gmail are where bounces happen, but we found no Gmail bounce-rate number in the pages we opened. The Gmail figure Klaviyo passes on is a spam-rate limit, not a bounce limit.

| Source | Published threshold and the catch | 

| [Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html) | Below 2% for best results; review at 5%; possible pause at 10%. Catch: counts only hard bounces to unverified domains. | 

| [Klaviyo](https://help.klaviyo.com/hc/en-us/articles/115000201131) | Healthy under 1%; 1% to 2% room for improvement; over 2% needs attention. Catch: meant as an average over the last 30 days, not one campaign. | 

| [Postmark](https://postmarkapp.com/support/article/does-postmark-have-a-daily-send-limit) | Must stay under 10% of all emails sent, or the account is paused with messages queued. Catch: a ceiling, not a goal; bounces to blackhole addresses, sandbox bounces and SMTP API errors do not count. | 

| Microsoft Dynamics 365 (Microsoft Learn, listed in Sources) | 2% in most cases; the product accepts up to 8%. Catch: 8% is a product policy line, not a safe target. | 

| Mailtrap Email Sending (Mailtrap blog, listed in Sources) | Its bounce chart marks 5% as the critical line. Catch: a dashboard flag inside one product. | 

Put together: Klaviyo rates under 1% as healthy, 1% to 2% as room for improvement and over 2% as needing attention. Amazon SES places accounts under review at 5% and may pause sending at 10%. So under 1% is good, 1% to 2% is fine to watch, and anything over 2% needs work before your next send.

## Why emails bounce

| Cause | What it looks like and the fix | 

| Typos | jane@gmial.com hard bounces. Fix: suggest the corrected domain on the form before the address is saved. | 

| Nonexistent domains | The domain has no MX or A record, so mail has nowhere to go. Fix: run a DNS check with our [MX record checker](/mx-record-checker). | 

| Disposable addresses | Throwaway inboxes accept a signup, then expire and start bouncing. Fix: block or flag them with a [disposable email checker](/disposable-email-checker). | 

| Full mailboxes | A soft bounce, usually temporary. SES does not count it. Fix: retry, then suppress if it keeps failing. | 

| Old lists | People change jobs and close accounts, so dead mailboxes pile up. Fix: validate first, then send to a small slice. | 

| Catch-all domains | The server accepts everything, then may bounce later. Fix: treat as unknown; see [catch-all email](/catch-all-email). | 

## How AI assistants answer "what is a good email bounce rate"

People ask ChatGPT, Claude, Perplexity, Gemini and Google AI Overviews this question too. We did not test what those assistants answer, so we make no claim about it. What we can report is what the pages they might draw on say: in our check, 19 of 23 pages gave a 2% figure and only 5 named where it came from.

[Google explains](https://developers.google.com/search/docs/appearance/ai-features) how its own AI features pick links. To be eligible to be shown as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet. Google also says both features may use "query fan-out", meaning they run several related searches across subtopics and combine the results. It adds that there are no extra requirements to appear, and that indexing and serving are not guaranteed. We did not review OpenAI, Anthropic or Perplexity documentation for this guide, so we say nothing about how their assistants choose sources.

Why might answers differ? The primary sources disagree: 1% healthy at Klaviyo, 2% at SES, a 10% ceiling at Postmark. An assistant may blend these or pick one. What to do:

- Ask the assistant which provider it is quoting, then open that provider's page.

- Check the answer against the docs for the tool you actually send with.

- If you publish on this topic, link primary sources and keep the answer in one quotable paragraph. Google says its standard SEO guidance still applies to AI features in Google Search. None of this guarantees you will be cited or shown.

## How to lower your bounce rate, step by step

### 1. Find your real number and what it counts

Open your sending tool's bounce report. Split hard and soft bounces. Check its docs to see whether the rate uses sent or delivered, and whether it counts soft bounces at all.

Time: 15 to 30 minutes.

Done when: you have a hard bounce rate and a total bounce rate for the last 30 days, written down.

### 2. Suppress every hard bounce now

AWS says to remove bounced addresses and stop sending to them immediately. It also suggests automating this with bounce notifications once your volume grows. Most platforms suppress hard bounces for you. Confirm it is turned on, and make sure imports do not quietly add those addresses back.

Time: 30 minutes to set up, then automatic.

Done when: no address that hard bounced can get another send.

### 3. Check syntax and MX on the rest of your list

Run a sample of your list through our [free tools](/tools), starting with the [MX record checker](/mx-record-checker). Addresses on domains with no MX or A record will hard bounce. For a full file, follow [clean an email list CSV](/clean-email-list-csv). Our batch endpoint takes up to 50 addresses per request.

Time: an hour for a few thousand rows.

Done when: malformed, dead-domain and disposable addresses are flagged or removed.

### 4. Validate on signup

Stop bad addresses at the form. Check syntax, MX, disposable domains and common typos the moment someone submits, and show a "Did you mean" suggestion. Setup is in [validate email on signup](/validate-email-on-signup). If an AI agent writes contacts to your CRM, put the same check in front of it: [email validation for AI agents](/email-validation-for-ai-agents).

Time: about an hour for a server-side check.

Done when: a typo like gmial.com triggers a suggestion before the form saves.

### 5. Add double opt-in

AWS recommends double opt-in: new users click a link in a confirmation email before they get anything else. This also catches real-looking addresses whose mailbox does not exist, which DNS checks cannot catch.

Time: 1 to 2 hours in most email platforms.

Done when: unconfirmed signups never reach your marketing list.

### 6. Re-mail old addresses in small slices

AWS advises that if you must send to addresses you have not mailed lately, do it with only a small part of your sending. Validate first. Then send to a small segment, check the bounce rate, and grow from there.

Time: several sends spread over days or weeks.

Done when: each slice stays under your platform's healthy line before you send the next.

### 7. Set an alert below the enforcement line

SES lets you build CloudWatch alarms on its reputation metrics. Set yours well below 5% so you hear about a problem before the review threshold. On other platforms, use their deliverability alerts.

Time: 20 minutes.

Done when: a rising bounce rate pages someone before your platform does.

When you are ready to automate steps 3 and 4, compare [validation pricing](/email-validation-api-pricing), get [a free key](/signup), and read our [email verification API](/email-verification-api) guide for the difference between DNS validation and mailbox verification.

## Mistakes that cost the most

### Mailing an old or bought list: a pause at 10%

Both [Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html) and [Postmark](https://postmarkapp.com/support/article/does-postmark-have-a-daily-send-limit) can pause your sending at a 10% bounce rate. One bad batch from an old export can push you over. AWS also says not to buy, rent or share addresses. Fix: validate the list, then send to a small slice first.

### Letting hard bounces repeat: 2% of a 10,000 send is 200 addresses

On a 10,000-email campaign, 200 hard bounces puts you right at the 2% line [AWS](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html) recommends staying below (200 / 10,000 x 100 = 2%). If those addresses stay on the list, they bounce again on every send. Fix: suppress on the first hard bounce.

### Aiming for the wrong number: 1% vs 2%

[Klaviyo](https://help.klaviyo.com/hc/en-us/articles/115000201131) calls under 1% healthy, which is half the 2% most blogs quote. A Klaviyo sender at 1.8% is in "room for improvement", not in the clear. Fix: use the threshold in your own platform's docs.

## Your options for reducing bounces

| Option | What you get, what it costs, the catch | 

| Platform suppression only | Free and automatic in most tools. Catch: it only acts after an address has already bounced once. | 

| DIY regex plus DNS lookups | No fee, full control. Catch: you have to maintain disposable lists and typo rules, and it still cannot see mailboxes. | 

| Double opt-in | Free, and [recommended by AWS](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html). Proves the inbox receives mail. Catch: some people never confirm. | 

| SMTP mailbox verifier | Asks the mail server whether a mailbox exists. Paid per check; see [ZeroBounce vs Kickbox vs NeverBounce](/zerobounce-vs-kickbox-vs-neverbounce). Catch: catch-all domains still come back unknown. | 

| ContactLint | Syntax, MX/A, disposable, role, free-provider and typo checks. 250 free a month, then $9 for 5,000. Catch: no SMTP probing, so it cannot prove a mailbox exists. | 

## How we compared the options

| Criterion (weight) | What it measures | 

| Catches bounces before send (35%) | How many likely hard bounces it stops before the first message goes out. | 

| Cost at small volume (25%) | What a small team pays to cover a signup form or a first list clean. | 

| Setup effort (20%) | Time to get working, and upkeep after that. Higher means less effort. | 

| Works in real time at signup (20%) | Whether it can run while someone fills in a form or an agent saves a contact. | 

Each verdict below lists our 0 to 10 rating for each criterion, in the order above. The score is the weighted sum (35%, 25%, 20%, 20%), rounded to one decimal. The ratings are our judgment, not test results. Disclosure: ContactLint sells one of these options. Our credit packs are 5,000 checks for $9, 25,000 for $35 and 100,000 for $99, after 250 free checks a month. We did not list outside verifier prices because we did not open their price pages for this guide.

Platform suppression only: Best for senders whose rate is already under 1%. Ratings: 2, 10, 10, 0. Score: 5.2/10 (judgment). Trade-off: every bad address costs you one bounce first.

DIY regex plus DNS: Best for teams with spare engineering time. Ratings: 6, 10, 2, 7. Score: 6.4/10 (judgment). Trade-off: you keep the disposable lists and typo rules up to date yourself.

Double opt-in: Best for newsletters and marketing lists. Ratings: 6, 10, 6, 5. Score: 6.8/10 (judgment). Trade-off: some real people never click the confirmation link.

SMTP mailbox verifier: Best for old or imported lists. Ratings: 8, 4, 8, 6. Score: 6.6/10 (judgment). Trade-off: you pay per check, and catch-all results stay uncertain.

ContactLint: Best for signup forms, CSV cleanup and AI agents. Ratings: 6, 9, 8, 9. Score: 7.8/10 (7.75 rounded; judgment; we sell it). Trade-off: it cannot prove a mailbox exists, so pair it with double opt-in.

## Which option fits you

| If you are ... | Start with / watch out for | 

| A developer adding a signup form | Validation on submit plus typo suggestions. Watch out: it does not confirm the mailbox. | 

| A marketer about to mail a year-old list | Validate, then a mailbox verifier, then small slices. Watch out: catch-all domains. | 

| Sending on Amazon SES | A CloudWatch alarm under 5%. Watch out: SES counts only hard bounces, so soft bounces will not show up there. | 

| Sending on Klaviyo | Aim for under 1%. Watch out: a 1.5% rate is "room for improvement", not healthy. | 

| Building an AI agent that writes contacts | A validation tool call before every CRM write. Watch out: the agent will save typos if nothing checks them first. | 

## Who this is not for

- Bulk senders using bought lists. No checker fixes consent. AWS tells senders not to buy, rent or share addresses. Build an opt-in list instead.

- Teams that must prove each mailbox exists. DNS validation cannot do that. Use an SMTP verifier and treat catch-all results as unknown.

- Anyone asking about website bounce rate. That is an analytics metric about page visits. Use your web analytics documentation.

## Frequently asked questions

### Is a 2% email bounce rate good?

It is acceptable but not great. Amazon SES says to stay below 2% for best results, and Klaviyo calls 1% to 2% "room for improvement". Treat 2% as a ceiling, not a goal.

### What is an acceptable email bounce rate?

Under 2% total for most senders, with hard bounces well under that. Enforcement starts higher: SES reviews accounts at 5%, and Postmark pauses at 10%. Use the threshold your own platform publishes.

### What is the average email bounce rate?

There is no single average, and we found no primary source for one. Published averages come from each platform's own customers, so compare yourself to your platform's own benchmark, not a blog average.

### Is a 50% bounce rate bad?

For email, yes, very bad. It is five times the 10% level where Postmark pauses accounts and SES may pause sending. If you mean website bounce rate, that is a different metric with different norms.

### What is a good hard bounce rate?

As close to zero as you can get, and under 1% at most. Hard bounces are permanent, and SES counts only hard bounces (to unverified domains) in its rate. Suppress them after the first failure.

### How do I reduce my email bounce rate?

Suppress hard bounces, validate addresses at signup, add double opt-in, and re-mail old addresses in small slices. Check MX records and syntax before any large send. Set an alert below your platform's review threshold.

### Does email validation stop all bounces?

No: DNS and syntax validation catches typos, dead domains and disposable inboxes. It cannot tell whether a specific mailbox exists or whether a full mailbox will bounce. Double opt-in or an SMTP verifier covers part of that gap.

### Is a 25% email open rate good?

By Klaviyo's guidance, it is low. Its Help Center looks for open rates above 33%, measured without Apple Mail Privacy Protection opens. Open rate is a separate metric from bounce rate.

## Sources

- [Amazon SES: Sending review process FAQs](https://docs.aws.amazon.com/ses/latest/dg/faqs-enforcement.html)

- [Klaviyo Help Center: Getting started with email deliverability monitoring](https://help.klaviyo.com/hc/en-us/articles/115000201131)

- [Postmark: Does Postmark have a daily send limit?](https://postmarkapp.com/support/article/does-postmark-have-a-daily-send-limit)

- [Microsoft Learn: Fix a high email bounce rate (Dynamics 365 Customer Insights Journeys, French edition)](https://learn.microsoft.com/fr-fr/dynamics365/customer-insights/journeys/fix-high-bounce-rate)

- [Mailtrap: What is email bounce rate](https://mailtrap.io/blog/email-bounce-rate/)

- [Google Search Central: AI features and your website](https://developers.google.com/search/docs/appearance/ai-features)

- [Wikidata: Simple Mail Transfer Protocol (Q160453)](https://www.wikidata.org/wiki/Q160453)

- [Wikidata: email marketing (Q1155133)](https://www.wikidata.org/wiki/Q1155133)

## Related guides

- [Hard bounce vs soft bounce](/hard-bounce-vs-soft-bounce)

- [Email bounce cost calculator](/email-bounce-cost-calculator)

- [Email verification API: what it checks and costs](/email-verification-api)

- [Clean an email list CSV](/clean-email-list-csv)

- [Validate email on signup](/validate-email-on-signup)

- [Catch-all email: what it means for verification](/catch-all-email)

- [Verify an email address without sending](/verify-email-address-without-sending)

- [Email validation API pricing](/email-validation-api-pricing)

## What changed in this guide

- 2026-11: First published. Includes published bounce limits from Amazon SES, Klaviyo, Postmark, Microsoft and Mailtrap, and a 23-page check of how bounce-rate articles source their numbers (snapshot taken November 5, 2026; 7 pages opened in full, 16 judged from search snippets).

## Next step: check addresses before you send

Aim for under 1%, and treat 2% as the line to fix before your next send. Find the threshold your own platform enforces and track hard bounces on their own. Typos, dead domains and throwaway inboxes are bounces you can catch before sending, and ContactLint checks for them with syntax, DNS and list checks. It does not probe mailboxes, so it cannot prove an inbox exists or catch every bounce. Start with [250 free checks a month](/signup), see [credit pack pricing](/email-validation-api-pricing) when you need more, and read the [email verification API](/email-verification-api) guide next.

[Get a free API key](/signup). 250 checks per month, no card required.

[Email this to yourself](mailto:?subject=What%20Is%20a%20Good%20Email%20Bounce%20Rate%3F%20The%20Published%20Thresholds%20and%20How%20to%20Lower%20Yours&body=https%3A%2F%2Fcontactlint.com%2Fwhat-is-a-good-email-bounce-rate)
