Hard Bounce vs Soft Bounce: What's the Difference and How to Fix Both

Before your next send Find the addresses that will bounce.
Verify an email freeA hard bounce is a permanent delivery failure: the address, mailbox, or domain can't receive mail, so you should stop sending to it right away. A soft bounce is a temporary failure: the address is usually fine, but something got in the way this time (a full inbox, a busy server, a message that was too large). Your ESP retries soft bounces and suppresses hard bounces, but the label alone doesn't always tell the full story, so this guide also shows how to read the SMTP code behind each bounce.
This article is the taxonomy reference for the bounce cluster: what each bounce type means, what triggers it, and how mailbox providers and ESPs classify the codes behind it. For the next step, see email bounce rate too high for symptoms and a reduction plan, acceptable hard bounce rate for cold email for benchmarks by channel and industry, and how to fix hard bounce email for the step-by-step fix of a single hard bounce.
Hard Bounce vs Soft Bounce at a Glance
| Aspect | Hard bounce | Soft bounce |
|---|---|---|
| Type of failure | Permanent | Temporary |
| Typical SMTP code | 5XX (for example 550 5.1.1) | 4XX (for example 452 4.2.2) |
| Common causes | Address doesn't exist, typo, domain doesn't exist, account disabled | Full mailbox, server down or busy, rate limiting, message too large, greylisting |
| What your ESP does | Suppresses the address after one bounce | Retries, then converts to a hard bounce after repeated failures |
| What you should do | Remove the address; never resend | Monitor; suppress if it keeps soft bouncing with no engagement |
| Reputation impact | High, even at low volumes | Low at first; grows if ignored |
What Is an Email Bounce?
An email bounces when the receiving mail server refuses to accept the message, or accepts it and later reports that it couldn't be delivered. The sender gets an automatic non-delivery report (NDR), also called a bounce message or bounce-back.
A bounce message usually tells you:
- When the message bounced
- Which mail server rejected it
- A three-digit SMTP reply code, such as 550 or 452
- An enhanced status code, such as 5.1.1 or 4.2.2, that narrows down the reason
- A line of diagnostic text written by the receiving server
Under the SMTP standards, a reply starting with 5 means a permanent failure and a reply starting with 4 means a temporary one. That is why 5XX codes are usually treated as hard bounces and 4XX codes as soft bounces. Mailbox providers don't always follow the convention, though, so the diagnostic text often matters more than the number.
Bounces can also arrive at different times. A synchronous bounce happens during the SMTP conversation, the moment the server rejects the message. An asynchronous bounce arrives later as a separate email, sometimes hours or days after the server first accepted the message. Either kind can be hard or soft.
What Is a Hard Bounce?
A hard bounce means the message can't be delivered now or in the future without something changing on the recipient's side. Retrying won't help, which is why most ESPs suppress a hard-bounced address after the first failure and skip it in every later campaign, even if you add it back to a list.
Common causes of a hard bounce:
- The address never existed, often because of a typo at signup (gmial.com, jon@ instead of john@)
- The mailbox was deleted, for example when an employee leaves a company
- The domain doesn't exist or no longer has mail servers
- The account was disabled or deleted for inactivity
- The receiving server permanently rejects mail for that address
Examples of hard bounce responses you'll see in bounce reports:
550 5.1.1 The email account that you tried to reach does not exist
550 5.1.2 Bad destination system address (domain not found)
550 5.2.1 The email account that you tried to reach is disabled
550 5.4.1 Recipient address rejected: Access denied
550 No such user here
Sending again to an address that already hard bounced tells mailbox providers your list isn't maintained. A few repeat sends to dead addresses can hurt your sender reputation more than a whole campaign of soft bounces.
What Is a Soft Bounce?
A soft bounce means the address is most likely valid, but delivery failed for a reason that may clear up on its own. Your ESP marks the address as soft bounced in the campaign report and usually keeps retrying for a period, often up to about 72 hours, before giving up on that message.
Common causes of a soft bounce:
- The recipient's mailbox is full or over its storage quota
- The recipient's mail server is down, overloaded, or under maintenance
- The server is rate limiting you because you sent too much, too fast
- Greylisting: the server rejects the first attempt from an unknown sender and accepts a retry
- The message or its attachments exceed the server's size limit
- A temporary DNS or network error between the two servers
- The mailbox exists but isn't fully set up or is temporarily inactive
Examples of soft bounce responses:
452 4.2.2 The recipient's inbox is out of storage space
450 4.2.1 The user you are trying to contact is receiving mail too quickly
421 4.7.0 Try again later, closing connection
451 4.7.1 Greylisted, please try again later
552 5.3.4 Message size exceeds fixed maximum message size
The last line shows why codes alone can mislead: 552 5.3.4 starts with a 5, yet the address is fine. Only that particular message is too big, so most ESPs record it as a soft bounce.
Block Bounces: The Third Type
Some ESPs and guides add a third category, the block bounce (also called a policy bounce). Here the address is valid, but the receiving server refuses your message because of who sent it or how it was sent. Typical triggers include a failed SPF, DKIM, or DMARC check, a blocklisted IP or domain, spam-like content, or a relay or authentication problem on your own mail server.
550 5.7.1 Message rejected due to SPF policy
550 5.7.26 Unauthenticated email is not accepted from this domain
554 5.7.1 Relay access denied
Block bounces need a fix on the sender's side, not removal of the recipient. Check your SPF, DKIM, and DMARC setup, run an email blacklist check, and if you see a relay error, follow our guide to 554 5.7.1 relay access denied. Depending on the platform, block bounces may be reported as hard, soft, or their own type, which is another reason to read the full bounce text.
Why 4XX and 5XX Don't Always Match the Label
The 5XX = hard and 4XX = soft rule works most of the time, but ESPs classify bounces using the code, the diagnostic text, or both. A few common mismatches:
- Nonexistent domains can come back as soft bounces, because there is no mail server to return a permanent error. If the domain is clearly a typo, treat it as hard.
- Full mailboxes are usually soft (4.2.2), but a mailbox that has been full for months is likely abandoned and is better suppressed.
- Oversized messages return 5XX codes but don't mean the address is bad.
- Reputation blocks may use 4XX codes for days before switching to 5XX if the problem continues.
How Popular ESPs Handle Hard and Soft Bounces
Every platform converts repeated soft bounces into hard bounces at its own threshold:
| ESP | Hard bounce | Soft bounce rule |
|---|---|---|
| Mailchimp | Cleaned from the audience, usually right away | Cleaned after 7 soft bounces with no subscriber activity, or up to 15 for contacts with past activity |
| Klaviyo | Suppressed after one hard bounce | Suppressed after 7 consecutive soft bounces within 2 years; an open resets the count |
| HubSpot | Dropped from future marketing emails | Still eligible for future sends; an address that hard bounces in 3 or more HubSpot accounts becomes a global bounce |
| Moosend | Removed from future sends | Retried up to 4 times before it counts as a hard bounce |
You can be stricter than your ESP. Many teams suppress an address manually once it soft bounces on three to five campaigns in a row with no opens or clicks, instead of waiting for the platform's automatic cutoff.
How to Fix Hard Bounces and Soft Bounces
Fixing hard bounces
- Confirm your ESP has suppressed the address, and make sure it isn't re-imported from a CRM, spreadsheet, or integration.
- Check for obvious typos (gmial.com, hotmial.com). If the contact is a real customer, ask them for a correct address through another channel.
- Find where bad addresses enter your list, such as a signup form without validation or an old purchased list.
- Add real-time email verification and double opt-in at signup so invalid addresses never get in.
For the full walkthrough, read how to fix hard bounce email.
Fixing soft bounces
- Read the diagnostic text and group soft bounces by reason: mailbox full, rate limit, size, or server error.
- For size issues, keep messages small, host images instead of attaching them, and avoid large attachments.
- For rate limiting or "try again later" errors, slow your send rate and spread large campaigns over time, especially to a single domain.
- For policy or reputation errors, treat them as block bounces and fix authentication or blocklist issues.
- Suppress addresses that keep soft bouncing with no engagement before they turn into hard bounces.
Bounce Rate: How to Calculate It
Bounce rate is the share of sent emails that bounced:
Bounce rate = (bounced emails / emails sent) × 100
If you send 10,000 emails and 150 bounce, your bounce rate is 1.5%. Track hard and soft bounce rates separately, because a rising hard bounce rate points to list quality while a rising soft bounce rate often points to sending speed or reputation. As a rule of thumb, keep your total bounce rate under 2%. For targets by channel and industry, see acceptable hard bounce rate for cold email.
Why Bounced Emails Matter
Mailbox providers watch how often your mail bounces as a signal of how carefully you collect and maintain addresses. A steady stream of bounces, especially hard bounces, makes your domain and IP look careless or abusive.
When bounce rates stay high, three things tend to follow:
- Lower inbox placement. Providers start filtering more of your mail to spam or rejecting it outright, even for valid subscribers.
- Weaker campaign results. Messages that never reach an inbox can't be opened or clicked, so performance drops for reasons that have nothing to do with your content.
- Blocklisting and account limits. Your IP or domain can land on a blocklist, and ESPs may pause or suspend accounts with unusually high bounce rates.
A blocklist is a shared list of IPs and domains flagged for sending spam or unwanted mail. Once you're on one, messages may be delayed, sent to spam, or rejected across every provider that uses that list.
Where to Go Next
This article covers the taxonomy. The practical actions live elsewhere in the cluster:
- If your bounce rate is climbing or already too high, the symptoms, root causes, and reduction playbook are in email bounce rate too high.
- To see what a healthy rate looks like for your channel and industry, the benchmark table is in acceptable hard bounce rate for cold email.
- To triage a single hard bounce, including decoding the error, deciding whether to contact the recipient, and knowing when to suppress for good, follow the 5-step sequence in how to fix hard bounce email.
Hard Bounce vs Soft Bounce FAQs
What is the difference between a hard bounce and a soft bounce in email?
A hard bounce is a permanent failure, usually because the address or domain doesn't exist, so the address should be removed. A soft bounce is a temporary failure, such as a full inbox or an unavailable server, so the ESP retries and the address can stay on your list unless it keeps bouncing.
What does a soft bounce mean in email marketing?
It means your campaign reached a valid address that couldn't accept the message at that moment. One soft bounce isn't a problem. Repeated soft bounces to the same address are a sign it may be abandoned.
Should I remove soft bounced email addresses from my list?
Not after the first one. Keep the address, let your ESP retry, and watch it over the next few campaigns. If it soft bounces several sends in a row with no opens or clicks, suppress it rather than waiting for it to become a hard bounce.
How many soft bounces before an address becomes a hard bounce?
It depends on the platform. Mailchimp allows 7 soft bounces for inactive contacts and up to 15 for active ones, while Klaviyo suppresses after 7 consecutive soft bounces. Check your ESP's documentation for its exact rule.
How can I tell a soft bounce from a hard bounce in a bounce report?
Look at the code and the text after it. A 4XX code with words like "try again later", "mailbox full", or "rate limited" is a soft bounce. A 5XX code with "user unknown", "does not exist", or "no such domain" is a hard bounce.
Are 5XX codes always hard bounces and 4XX always soft bounces?
No. That is the RFC convention, but some servers return 5XX for problems that are temporary or specific to one message, and some return 4XX for problems that are effectively permanent. Always read the diagnostic message instead of relying on the number alone.
What is a block bounce?
A block bounce happens when the recipient's server rejects your message because of your sending setup or reputation, not because the address is invalid. Common causes are failed SPF, DKIM, or DMARC checks, blocklisted IPs, and spam-like content.
Do soft bounces affect deliverability?
A few don't. A high or growing soft bounce rate does, because it can mean providers are throttling you or that your list contains abandoned mailboxes. Both lead to lower inbox placement over time.
Can hard bounces damage my sender reputation?
Yes. Mailbox providers read frequent hard bounces as a sign of poor list hygiene, and repeated sends to dead addresses can push more of your mail into spam or get it blocked.
Is an out-of-office reply a bounce?
No. An out-of-office or auto-reply means the message was delivered. Some tools log auto-replies near bounces, but they don't count toward your bounce rate and the address doesn't need to be removed.
Catch Bad Addresses Before They Bounce with BounceCheck
Hard bounces come from addresses that were already dead. Soft bounces pile up when a list hasn't been cleaned in months. Both have the same fix: verify your list before you send.
BounceCheck scores every email from 0 to 100 based on a 30-step verification process. A score of 90+ means the mailbox is active and safe. A score below 40 means you're likely looking at a bounce. You set the threshold; BounceCheck gives you the data to make that call.
Verification runs through a stealth SMTP handshake that confirms the mailbox exists without delivering a message or revealing your sending domain. Upload a CSV for bulk cleaning, connect via REST API for real-time validation at signup, or use one of the official SDKs (Python, Node.js, Ruby, Go, PHP, cURL) to build verification into your own workflow.
$9.99 for 10K verifications. No credit card to start. 14-day money-back guarantee.
§ Before your next send
Find the addresses that will bounce
Verify a single address free, or upload a CSV — the free plan includes 50 checks a month, no card needed.

BounceCheck Team
The team behind BounceCheck - helping businesses verify emails and improve deliverability.

