Start a project

Tool 186 of 194 · Email

Email Header Analyser

Find out where an email was delayed and why it landed in spam: paste the headers and see every hop, the authentication results and the red flags.

Email Header Analyser

Raw headers

    Route and authentication

    #FromByProtocolReceivedDelay
    CheckResultDetails
    HeaderValue

    Hops are listed in the order the message travelled (the reverse of the Received headers). A padlock marks hops sent over TLS. Results come from the receiving server's Authentication-Results header; DMARC alignment uses the organisational domain. Everything runs in your browser.

    01

    What it does

    Turns raw email headers into a hop-by-hop timeline with delays and TLS, reads SPF, DKIM, DMARC and ARC results, and flags spoofing and delivery problems.

    • Received headers as a timeline with the delay at every hop and which hops used TLS
    • SPF, DKIM, DMARC and ARC results from Authentication-Results and Received-SPF
    • DMARC alignment of SPF and DKIM with the From domain
    • DKIM signature checks: signed headers, l= tags, SHA-1 and expiry

    02

    Private by design

    Everything happens in your browser. Nothing you type, paste or upload is sent anywhere, and it keeps working offline once the page has loaded.

    03

    What you get

    A hop timeline, authentication results, key headers and findings, with a Copy and a Download button on every result.

    • Email
    • Deliverability
    • DMARC
    • Security

    Why it matters

    Every server that handles an email adds a Received header, and the receiving server records whether SPF, DKIM and DMARC passed. Those headers explain almost every delivery question: why a message took an hour, why it went to spam, whether it really came from the bank it claims to. They are just hard to read, because they are listed newest first and folded across lines.

    This analyser unfolds them, puts the hops in travel order with the delay between each, and lays out the authentication verdicts with DMARC alignment worked out. It then lists anything suspicious or broken, from a DKIM body hash failure caused by a mailing list footer to a display name that pretends to be an address. Dates and encoded subjects are parsed exactly as Python's email library parses them.

    How to use it

    1. Open the message's raw source (Gmail: Show original; Outlook: View message source; Apple Mail: All Headers).
    2. Copy the headers, or the whole source, and paste them in.
    3. Read the summary and findings.
    4. Use the hop table to find delays, and the authentication table to see why DMARC passed or failed.

    FAQ

    How do I read email headers?

    Read the Received headers from the bottom up: the lowest is the first server, the top is your mailbox. Authentication-Results near the top records the receiving server's SPF, DKIM and DMARC checks.

    Why did DMARC fail when SPF passed?

    DMARC needs SPF or DKIM to pass for a domain aligned with the From address. SPF often passes for a mailing service's bounce domain, which isn't aligned.

    Why does DKIM fail with body hash did not verify?

    The message body was changed after it was signed, usually by a mailing list adding a footer or a gateway rewriting links.

    Can headers be faked?

    Headers added before the message reached your provider can be forged, but your own provider's Received and Authentication-Results headers at the top can be trusted.

    Work with me

    Want a site that gets these right?

    I build fast, accessible websites and web apps that pass these checks from day one. Tell me about your project and I'll reply personally with honest next steps.

    All developer tools · Back to leej.uk