Skip to content
Tool No. 03 · Headers

Email Header Analyzer

Paste the raw headers from any message to see its delivery path, authentication verdicts and alignment in plain English. Everything is parsed locally in your browser.

Parsed entirely in your browser. Headers never leave this page.

Free, no signupRuns in your browserNothing stored

Email headers are the delivery receipt that travels with every message. They record each server that handled the message, when it did so, whether the connection was encrypted and what the receiving server concluded about SPF, DKIM and DMARC. When a message lands in spam or arrives hours late, the headers usually tell you why.

Raw headers are hard to read. This analyzer parses them in your browser and lays out the story in order, from the first server to the inbox.

How to get raw headers

You need the full header block, not just the From and Subject shown in your mail app.

Client Steps
Gmail (web) Open the message, click the three-dot menu next to Reply, choose Show original, then Copy to clipboard
Outlook (classic desktop) Open the message in its own window, go to File, then Properties, and copy the Internet headers box
Outlook (new app and web) Open the message, click the three-dot menu, choose View, then View message source (or View message details)
Apple Mail Select the message, then View, Message, All Headers, or use Raw Source (Option-Command-U)
Yahoo Mail Open the message, click the three-dot More menu, choose View raw message

Paste everything from the top down to the first blank line. Including the body does no harm, but the analyzer only needs the headers.

What the analyzer shows

Hops in order. Each Received header becomes a numbered hop with the sending host, receiving host, IP address, timestamp, delay since the previous hop and whether TLS was used.

Authentication verdicts. SPF, DKIM and DMARC results pulled from the Authentication-Results header written by the receiving server.

Alignment. The domain in the DKIM d= tag and the Return-Path domain, each compared with the visible From domain. This is what decides whether DMARC can pass.

Unsubscribe headers. Whether List-Unsubscribe is present and whether List-Unsubscribe-Post: List-Unsubscribe=One-Click supports one-click unsubscribe, which Gmail and Yahoo require for bulk mail.

Key headers. From, To, Subject, Date, Message-ID, Return-Path, Reply-To and any spam-scoring headers the receiver added.

Reading the Received chain

Here is a trimmed example, shown the way it appears in raw form (newest first):

Received: from mail-a12.esp.example (mail-a12.esp.example [198.51.100.40])
        by mx.google.com with ESMTPS id x7si123
        for <jane@gmail.com>; Tue, 15 Sep 2026 09:14:07 -0700
Received: from app-queue-3.internal (10.0.4.18)
        by mail-a12.esp.example with ESMTP; Tue, 15 Sep 2026 16:14:05 +0000

Reading from the bottom up: the message left an internal queue, was handed to the ESP’s outbound server 198.51.100.40, then delivered to Google over TLS two seconds later. The IP on the first hop into the receiving organisation (198.51.100.40) is the one that receivers judge, and the one to test with the blacklist checker and reverse DNS checker.

What to look for:

  • Delays. Seconds are normal. Minutes or hours point to deferrals or a slow gateway.
  • Missing TLS. ESMTP without the S between organisations means an unencrypted hop.
  • Too many hops. More than eight to ten can signal forwarding loops or relays hiding the origin.
  • Unexpected hosts. A server you do not recognise before your ESP may mean a forwarding rule or a compromised system.

Understanding authentication results

A typical Authentication-Results line:

Authentication-Results: mx.google.com;
       dkim=pass header.i=@news.example.com header.s=s1 header.b=Ab12Cd;
       spf=pass (google.com: domain of bounce@em.example.com designates 198.51.100.40 as permitted sender) smtp.mailfrom=em.example.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=example.com
Result Meaning If it fails
spf=pass The sending IP is authorised by the Return-Path domain’s SPF record Add the service to SPF, check the lookup count with the SPF checker
dkim=pass The signature verified with the published key for that selector Check the key at the s= selector with the DKIM checker
dmarc=pass SPF or DKIM passed and aligned with the From domain Fix alignment, then review policy with the DMARC checker

In the example, all three pass and both the DKIM domain (news.example.com) and the Return-Path domain (em.example.com) align with example.com under relaxed alignment.

Pro tip Send a test to a Gmail address and a Microsoft address before every new campaign setup. Gmail's headers are the clearest; Microsoft adds its own X-Forefront-Antispam-Report and spam confidence level (SCL) headers that show how its filter rated you.

Spotting spoofing and misconfiguration

Most header investigations fall into one of these patterns.

DMARC fails despite SPF pass. SPF passed for the ESP’s own bounce domain, not yours, and DKIM is signed with the ESP’s domain. Nothing aligns. Configure a branded Return-Path and DKIM on your domain in the ESP settings.

DKIM fails with “body hash did not verify”. Something changed the message after signing: a footer added by a gateway, a mailing list or a link rewriter. Sign after modifications, or rely on ARC headers from forwarders.

From and Reply-To differ, plus an SPF fail. Classic phishing. Legitimate senders can use a different Reply-To, but combined with failed authentication it is a strong warning.

No List-Unsubscribe on marketing mail. Since February 2024 Gmail and Yahoo expect one-click unsubscribe on bulk mail. Missing it will not always cause spam placement, but it removes an easy way for recipients to leave without pressing the spam button.

When to use header analysis

Use it whenever you need facts rather than guesses: a customer says your email went to junk, a warmup campaign is underperforming, a new ESP was just connected or a suspicious message arrived. For persistent spam placement, pair it with our walkthrough of why emails go to spam and the email authentication guide.

FAQ

Email Header Analyzer questions

Are my headers uploaded anywhere?

No. Parsing happens entirely in your browser with JavaScript. The headers never leave your device, which matters because they can contain internal hostnames, IP addresses and recipient addresses.

Which order are the hops shown in?

Servers add Received headers at the top, so raw headers read newest first. The analyzer reverses them and numbers the hops from the originating server to the final mailbox, with the delay between each step.

What does a long delay between two hops mean?

The message sat in a queue. A few seconds is normal. Minutes or hours usually mean the receiving server deferred the message (often with a 4xx code such as 421) and the sender retried later, or a filtering gateway was backed up.

SPF passed but DMARC failed. How?

DMARC needs SPF or DKIM to pass and align with the From domain. If SPF passed for your ESP's bounce domain and DKIM was signed with the ESP's domain rather than yours, neither aligns and DMARC fails. Set up a custom Return-Path or DKIM on your own domain in the ESP.

Can I trust the Authentication-Results header?

Trust the one added by your own receiving server, which is normally the topmost Authentication-Results header. Lower copies may have been added by the sender or an intermediate system and can be forged.

Can I find the sender's real IP address?

Often you can find the IP of the first server outside the sender's network. Gmail, Outlook.com and Yahoo remove the personal device IP of their users, so for webmail you usually see only the provider's outbound server.

What does ESMTPS mean in a Received line?

The trailing S means the hop used TLS encryption. ESMTP or SMTP alone means the connection was unencrypted. Modern mail should be encrypted on every hop between organisations.

Free · no signup

Check your domain before you hit send.

Run the full check: SPF, DKIM, DMARC, 15+ blocklists, MX, reverse DNS and infrastructure, scored A to F with a ranked list of fixes.