📋 Email Header Analyzer

Paste raw email headers to trace the delivery path hop by hop, see the delay at every relay, and check SPF, DKIM & DMARC results — all processed in your browser.

Every email carries a stack of hidden headers that a normal inbox view never shows — the exact chain of servers it passed through, how long each hop took, and whether the sending domain actually passed SPF, DKIM, and DMARC. This tool parses those raw headers entirely in your browser and lays out the full delivery story in a readable form.

What This Tool Actually Shows You

Paste the raw header block from any email — not the message body, the headers — and this tool extracts the sender and recipient fields, reconstructs the full chain of mail servers the message passed through (the Received headers), calculates the time delay at each hop, and pulls out the SPF/DKIM/DMARC verdicts from the Authentication-Results header if one is present. Everything happens client-side in your browser; the header text you paste is never sent to any ToolsNovaHub server.

The one exception, and it's worth being upfront about: if a Received line includes a public IP address, this tool optionally looks up that IP's approximate location using a third-party geolocation API, purely to help you spot an unexpected origin country at a glance. That lookup sends only the bare IP address, never any other header content, to the geolocation provider.

🎯
ToolsNovaHub Pro Tip
Read the Received chain from the bottom up in the original raw text — the bottommost header is the oldest hop, closest to the true origin. This tool already reverses that order for you into a natural first-to-last timeline.
⚠️
Common Beginner Mistake
Assuming the topmost Received header (the one your own inbox added last) tells you anything about the original sender. It only reflects the final internal hop into your own mail system — the earliest hops near the bottom are where spoofing evidence actually shows up.

Getting the Raw Headers Out of Gmail, Outlook, and Apple Mail

Every major email client hides raw headers behind a specific menu, since almost no one needs them day to day. In Gmail (web), open the message, click the three-dot menu in the top-right of the message pane, and choose "Show original" — this opens a new tab with the complete raw source, headers included, ready to copy. In Outlook (desktop), open the message, go to File → Properties, and the headers appear in the "Internet headers" box near the bottom of that dialog. In Outlook on the web, open the message, click the three-dot menu, and choose "View" → "View message source." On Apple Mail (macOS), open the message and choose View → Message → All Headers, or Raw Source for the complete text including the body.

Once you have the raw text, you can paste the entire thing (headers plus body) into the box above — this tool automatically stops parsing at the first blank line, which is exactly where headers end and the body begins in a properly formatted email, so there's no need to manually trim anything.

Reading the Delivery Path: Hops, Timestamps, and Delay

Each Received header represents one mail server accepting the message and passing it forward, and a typical message picks up somewhere between two and six of these depending on how many relays, forwarding rules, and security gateways it passes through. Reading the chain in chronological order (oldest to newest, which is what this tool displays) tells you the actual physical and organizational path the message traveled — starting from the sender's outgoing server, potentially through a bulk-mail provider or relay, and ending at whichever server finally delivered it into your inbox.

The delay between consecutive hops is often more revealing than the hops themselves. A message that sat for six hours between two servers, then arrived normally elsewhere, points to a specific bottleneck worth investigating — a queued mail server, a greylisting delay, or a busy relay. Consistently short delays (seconds, not minutes) across every hop generally indicate a healthy, uncongested delivery path. Occasional negative delays ("clock skew" in this tool's output) simply mean two servers' clocks weren't perfectly synchronized — common and rarely meaningful on its own, but worth noting if it appears alongside other suspicious signals.

Making Sense of SPF, DKIM, and DMARC at a Glance

The Authentication-Results header, when present, is added by the receiving mail server after it has already checked the message against the sending domain's published authentication policies, so it saves you from having to independently verify each one. A clean result shows all three as pass: SPF confirms the sending server's IP was authorized by the domain's SPF record, DKIM confirms the message body wasn't altered in transit and was cryptographically signed by the claimed domain, and DMARC confirms the domain's overall policy (which of SPF/DKIM must align, and what to do on failure) was satisfied.

A single failure isn't automatically damning — legitimate forwarding, mailing list processing, or a recently changed sending infrastructure can all cause a genuine sender to fail SPF or DKIM without malicious intent. What deserves real scrutiny is a DMARC failure combined with a visible mismatch between the From address and the Return-Path, which this tool flags automatically when both are present in the pasted headers, since that combination is exactly the pattern a spoofed sender produces and a legitimate misconfiguration rarely does. If you manage the sending domain yourself, our DMARC Record Generator can help you set the right policy so failures like this get reported back to you directly.

Spotting a Mismatched From, Return-Path, or Reply-To

Three address fields matter beyond the visible "From" name your inbox displays: the actual From address, the Return-Path (where bounce notifications go, often revealing the true sending infrastructure), and Reply-To (where your reply actually goes, if different from From). A mismatch between From and Return-Path domains is common and often entirely legitimate — most bulk email providers, newsletter platforms, and CRM tools send on a client's behalf from their own infrastructure while keeping the client's domain in the visible From field.

A Reply-To address that quietly redirects to a completely different domain than the visible sender, though, deserves more attention — it's a specific, low-effort technique that shows up disproportionately often in phishing attempts, since it lets an attacker spoof a trusted-looking From address while still receiving any reply a fooled recipient sends. This tool highlights both mismatches automatically whenever they're present, so you don't have to manually compare three separate header values by eye. For a deeper look at the sending domain itself, our WHOIS Lookup tool can show you exactly how recently that domain was registered — a very young domain claiming to be an established brand is a strong additional signal.

Automated Analysis vs Reading Raw Headers by Eye

AspectReading Headers ManuallyThis Analyzer
Delivery path orderRequires manually reversing the Received chainAutomatically reordered into a chronological timeline
Hop delay calculationManual timestamp subtraction, error-proneCalculated automatically for every hop
SPF/DKIM/DMARCRequires knowing the exact syntax to parse by eyeExtracted and shown as clear pass/fail badges
From/Return-Path mismatchEasy to miss without comparing three fields side by sideFlagged automatically when present
IP origin contextRequires a separate geolocation lookup per hopEnriched inline for every public IP found
Speed for a one-off checkA few minutes for someone comfortable with header syntaxSeconds, regardless of familiarity with header format

Real Scenarios This Tool Is Actually Used For

A finance team member receives an unexpected invoice email that looks legitimate but wasn't expected. Pasting the headers here quickly shows whether SPF/DKIM/DMARC actually passed for the claimed sending domain, and whether the Return-Path traces back to infrastructure that has nothing to do with the claimed vendor.

A message claiming to be from a bank lands in the inbox instead of spam, which feels reassuring but isn't proof of legitimacy on its own. Checking the actual Authentication-Results and the delivery path's originating server against the bank's known infrastructure gives a far more concrete answer than the spam filter's placement decision alone.

A small business debugging why its own transactional emails (order confirmations, password resets) are arriving late complains about a diagnosed spam-folder problem when the real issue is a slow hop somewhere in their email service provider's own relay chain. The hop-by-hop delay breakdown pinpoints exactly which leg of the journey is the bottleneck, rather than guessing — and running our SMTP Tester against their own outgoing server can confirm whether the delay originates on their side or further downstream.

A job seeker receives an unusually generous remote-work offer after minimal interviewing, a well-known scam pattern. Comparing the sending domain in the headers against the company's actual known domain, and checking whether DMARC passed for that claimed domain, often surfaces a completely unrelated sending infrastructure within seconds.

Header Fields Worth Recognizing

Received
One per hop, added by each server that accepts the message, prepended to the top — meaning the topmost is the last hop and the bottommost is the earliest.
Return-Path
Where bounce/failure notifications are sent — often reveals the actual sending infrastructure behind a bulk-mail platform, even when the From address shows a different domain.
Authentication-Results
Added by the receiving server after checking SPF, DKIM, and DMARC — the single most useful header for a quick authenticity check. Cross-check the claimed domain's own published records with our SPF Lookup and DKIM Lookup tools if something looks off.
Message-ID
A unique identifier assigned by the originating server, useful for correlating a message across logs or support tickets, though trivially fakeable and not a trust signal on its own.
X-Mailer / User-Agent
Identifies the software that composed the message — a mismatch between a claimed sender (e.g. a major provider) and an unusual, unrecognized mailer value is a minor but real signal.

What Header Analysis Can and Can't Tell You

Header analysis is a genuinely strong signal, but it isn't a verdict on its own. A message can pass SPF, DKIM, and DMARC perfectly while still being a scam — authentication only proves the message actually came from the domain it claims to, not that the domain or its content is trustworthy. Attackers who register a convincingly similar look-alike domain (support-yourbank-secure.com instead of yourbank.com, for instance) can pass every authentication check while still being entirely fraudulent, because the checks validate the domain in the header, not whether that domain deserves your trust.

Equally, a legitimate email can occasionally show an authentication failure due to forwarding through a mailing list, a corporate mail gateway rewriting headers, or a recently migrated email provider that hasn't finished propagating DNS changes — none of which indicate anything malicious. Treat header analysis as one strong input alongside the message's actual content, the domain's plausibility, and whether you were expecting it at all, rather than a single automated pass/fail answer.

What Happens to the Headers You Paste

Header parsing, timestamp calculation, and authentication-result extraction all run entirely in your browser using JavaScript — the header text itself is never transmitted to any ToolsNovaHub server or stored anywhere. The only network activity this tool performs is an optional per-IP geolocation lookup for public IP addresses found in the Received chain, sent directly to a third-party IP geolocation API, and that request contains only the bare IP address, nothing else from the pasted headers. If you'd rather skip that lookup entirely, the delivery path table and every other section still work fully without it — the IP address itself is always shown regardless.

This client-side approach also means there's no artificial limit tied to server load or rate limiting — you can analyze as many messages, one at a time, as you need, and nothing about your usage pattern is logged beyond standard, anonymized page-view analytics that apply to every page on this site equally.

FAQ

Header parsing happens entirely in your browser, and the text is never sent to any server here. The only external request this tool makes is an optional IP geolocation lookup using just the bare IP address from a Received header, sent to a third-party geolocation API.
Some internal corporate mail systems strip or rewrite earlier Received headers for privacy or security reasons before the message reaches an external inbox, which can shorten the visible chain compared to the message's actual full journey.
It means the domain's DMARC policy is set to monitor-only (p=none) rather than reject or quarantine failing messages, so the message was delivered regardless of the SPF/DKIM outcome — common for domains still rolling out DMARC gradually.
No single tool can give a certain answer. It surfaces strong signals — authentication failures, mismatched Return-Path or Reply-To addresses, unexpected origin countries — but final judgment should combine these with the message's actual content and context.
Many bulk-email and marketing platforms send on a client's behalf from their own sending infrastructure while keeping the client's domain visible in the From field — this is normal and expected for most transactional and marketing email.
This tool shows the raw date string as-is if it can't be parsed into a standard timestamp, and simply skips the delay calculation for that specific hop rather than guessing.
No — this tool analyzes headers only, not the message body or any links it contains. Use a dedicated URL/malware scanner separately if you need to check a specific link before clicking it.
Private and internal IP addresses (10.x, 192.168.x, and similar ranges) are intentionally skipped since they can't be geolocated publicly, and an occasional public IP lookup can also fail if the geolocation provider is temporarily unavailable.
Yes — it works identically for outbound mail, and can be a useful way to confirm your own domain's SPF/DKIM/DMARC setup is actually passing from the recipient's perspective rather than just checking your DNS records in isolation.
No hard limit is enforced, though pasting the full raw source of one message at a time (rather than several messages concatenated together) gives the clearest, most accurate results.
A long total time usually reflects a genuine queuing delay at one specific hop rather than a measurement error — check the per-hop delay column to see exactly where the time was actually spent.

🔗 Related Tools & Guides