โฉ๏ธ Email Bounce Decoder
Paste a bounce message, NDR email, or SMTP error code to get a plain-English explanation and actionable fix steps.
Accepts full NDR emails, SMTP error lines (e.g. 550 5.1.1 User unknown), or mail log fragments.
Try an example: 5.1.1 mailbox not found ยท 5.7.1 policy rejection ยท 5.7.26 DMARC violation ยท 4.2.2 mailbox full ยท 4.2.1 rate limit
How this bounce decoder works
When a mail server can't deliver your message, it answers with an SMTP status code (a three-digit number, sometimes followed by an enhanced status code like 5.1.1) and a short explanation. That response is the bounce. The receiving system usually wraps it in a non-delivery report (NDR) and emails it back to the original sender, often dressed up with provider-specific jargon that hides what actually went wrong.
Paste a bounce below (a full NDR email, a single SMTP error line, or a fragment from a mail log) and the decoder identifies the provider (Microsoft, Google, Yahoo, Apple, Comcast, Proofpoint, Mimecast, and others), pulls out the status codes, and translates the response into a plain-English explanation with concrete fix steps. The classification covers the usual suspects: permanent failures like unknown recipients and policy rejections (5.x.x), transient issues like rate limits or greylisting (4.x.x), authentication failures tied to SPF, DKIM, or DMARC, and reputation-based rejections you'd normally chase via blacklists.
Want the full code list rather than decoding one bounce? See our SMTP bounce codes reference. For provider-specific quirks (the same code means different things at Microsoft vs Google) the per-provider hubs at Microsoft, Gmail, and Yahoo cover the most common senders.
Frequently Asked Questions
Common questions about email bounces, SMTP error codes, and delivery failures.
Hard vs. soft bounces: what's the difference?
Think of a hard bounce (5xx codes) as a "permanent move." The email will never reach that person, usually because the address doesn't exist or you've been permanently blocked. You should remove these from your list immediately. A soft bounce (4xx codes) is like a "busy signal." The server is asking yours to try again later. Maybe their inbox is just full for a moment. Most mail systems will automatically retry for a few days before giving up.
What is an NDR?
NDR stands for "Non-Delivery Report." It's the official name for that automated "bounce email" you get when something goes wrong. It usually contains a lot of technical jargon, but its main job is to tell you why your message didn't make it. This tool translates that jargon into something you can actually use.
What do the X.Y.Z codes mean?
These are "enhanced status codes" that give you the specific details of a bounce. The first number tells you if it's temporary (4) or permanent (5). The second number gives you a category (like "mailbox" or "security"), and the third number is the exact reason. For example, 5.7.26 is a permanent security failure, almost always caused by a DMARC violation.
Why did my email bounce if the address is correct?
Even if the address is perfect, your email can still bounce if your server has a poor "reputation" or if your authentication (SPF/DKIM) isn't set up correctly. Servers are very protective these days and will reject mail if they aren't 100% sure it's legitimate. You can use our Blacklist Checker to see if your server is being blocked.
What should I do with hard bounces?
The best thing you can do is remove them from your mailing list right away. If you keep trying to send to invalid addresses, it makes you look like a spammer to big providers like Gmail and Outlook, which can cause your real emails to start landing in the spam folder.
What causes a 5.7.26 DMARC violation?
This is a very common security error. It happens when your email fails its "ID checks." To fix it, you need to make sure your sending service is authorized in your SPF record and is "signing" your emails with your own domain using DKIM. You can build a correct DMARC record to enforce this. It sounds technical, but it's just about proving you are who you say you are.
550 vs. 421: what's the difference?
A 550 error is a flat-out 'No': the server will never accept the message. A 421 error is a 'Not right now': the server is too busy or is temporarily limiting you and wants you to try again in a little while. The first number (4 vs 5) is your quickest clue on whether you need to fix something or just be patient.
What is a 4.7.29 new sender hold?
This is a common 'Welcome to the neighborhood' check from Google. If you're sending from a new IP address, Google might hold your mail for a bit to make sure you're a real sender and not a spammer. To fix it, start by sending small amounts of high-quality mail to your most active users to build up your trust.
Why does SPF pass but DMARC still fail?
DMARC requires something called 'alignment.' It means the domain used for your authentication must match the domain people see in your 'From' address. If you're using a third-party tool, SPF might pass for their domain, but DMARC will still fail for yours until you set up DKIM with your own domain name.
Common Bounce Error Codes
The most frequently encountered bounce codes. Each has its own page with a plain-English explanation, common causes, and fix instructions.
View all bounce error codes & provider documentation โProvider-Specific Error Code Directories
Each major provider uses proprietary codes and identifiers inside standard SMTP responses. Use these dedicated directories to decode the exact bracketed codes you see in your mail logs.
Understanding SMTP Error Codes
Every SMTP response has a 3-digit code and often an enhanced status code in X.Y.Z format. Understanding the structure lets you quickly classify any bounce without looking it up.
The enhanced X.Y.Z code (e.g. 5.7.26) adds precision:
X = class (same as the 3-digit first digit), Y = subject category (1=addressing, 2=mailbox, 4=routing, 7=security),
Z = specific detail. So 5.7.26 = permanent (5), security/policy issue (7), DMARC violation (26).