Email Header Analyzer
Unfolds RFC 5322 continuation lines, pulls out From/To/Subject/Date/Message-ID, parses every Received line (reversed to chronological order) and computes the wall-clock delay between adjacent hops, and extracts the spf/dkim/dmarc verdicts from Authentication-Results. Useful for diagnosing why a message landed in spam, spotting forged Received chains, or pinpointing which MTA introduced a delay.
- From"Alice Sender" <alice@example.com>
- Touser@recipient.com
- SubjectHello there
- DateMon, 02 Jun 2026 09:15:38 +0000
- Message-ID<abc123@example.com>
- #1from sender-host.example.com → by mail.example.comMon, 02 Jun 2026 09:15:40 +0000 (UTC)
- #2+2sfrom mail.example.com → by mx.recipient.comMon, 02 Jun 2026 09:15:42 +0000 (UTC)
Everything is parsed locally — no headers leave your browser.
How to use
- Paste the full raw headers (everything before the empty line that separates headers from the body).
- Read the metadata block, the auth badges, and the hop list.
Frequently asked questions
- Where do I get the raw headers?
- In Gmail: ⋮ menu on a message → "Show original". In Outlook: File → Properties → Internet headers. Most other clients have a "View source" or "Show original" option.
- Why do hops sometimes show a negative delay?
- Servers often disagree on clock by a few seconds, and some MTAs back-date their Received line. Tiny negatives are normal; large negatives (or a missing hop) can suggest a forged header.
- How much of the Received chain can I trust?
- Only the part added by infrastructure you control. Each server prepends its own line as it accepts the message, so everything above your first trusted hop was written by machines you do not run and can be fabricated wholesale. Read the chain from your side outwards and treat the earliest hops as claims rather than evidence.
- The message passed SPF and is still obvious spam — how?
- SPF checks the envelope sender's domain against the sending server's address, and that domain does not have to be the one the reader sees. A sender can pass SPF for a domain they own while showing a From address that imitates someone else. DMARC exists precisely to require that the visible From lines up with whatever SPF or DKIM actually authenticated.
Related tools
SPF Record Builder
Compose a Sender Policy Framework TXT record from mechanisms, IPs and includes — with a live DNS-lookup counter and warnings.
TXT Record Splitter (255-Byte Chunks)
Split a long SPF, DKIM or DMARC TXT record into the 255-byte chunks the DNS protocol requires — outputs BIND, generic zone file, Cloudflare or Route 53 syntax.
DKIM Record Builder & Parser
Build or parse a DKIM (DomainKeys Identified Mail) DNS TXT record — paste your public key, pick selector, key type (RSA/Ed25519), hash and flags, get the full record plus the selector._domainkey hostname and a DNS-chunked version for records over 255 chars.
DMARC Record Builder
Compose a `_dmarc` TXT record — policy, subdomain policy, percentage rollout, alignment, rua/ruf reporting — with safety warnings.
mailto: Link Builder
Build a mailto: URL with To, Cc, Bcc, subject, and body — RFC 6068 percent-encoded, ready to drop into an <a> tag.
Cache-Control Header Builder
Build an HTTP Cache-Control header from a visual checklist — freshness, revalidation, immutability, and the common presets.