Email header analyzer
Paste the full headers of an email to see where it really came from: the chain of servers it passed through, the delay at each hop, the authentication results and the originating IP with its location and network.
How this tool works
Copy the complete headers of a message from your mail client and paste them into the box. The server parses them and builds the report; the message body is not needed. The tool is free and requires no account.
Every mail server that handles a message adds a Received: line to the top of the headers, recording the server it received the message from, its own name, the protocol, often the connecting IP address, and a timestamp. By the time the message reaches you, the headers contain a chain of these lines, newest first. The analyzer reads them in order, reverses the chain so it runs from the origin to your mailbox, extracts the sending host and IP from each line, and computes the delay between consecutive timestamps.
It then reads the Authentication-Results: header that your receiving server added, which records the outcome of its SPF, DKIM and DMARC checks, and presents each result with the domain it was evaluated against. Finally it identifies the originating IP, the first public address in the chain, and looks it up: country and city estimate, the autonomous system that announces it, its reverse DNS name and a link to the full IP lookup and blacklist check.
Read the From, Return-Path, Reply-To, Message-ID and Date lines of the pasted block alongside the report; together with any provider-specific spam-score lines they complete the picture.
How to read the result
The hop list
Each row is one server that handled the message, from the origin at the top to your mailbox at the bottom. The columns show the host that passed the message on, the host that received it, the protocol, the timestamp and the delay since the previous hop.
The first hop is the most interesting one. If it shows a public IP with a hostname belonging to a mail provider, the message was sent through that provider and the address tells you which one, not who the sender is. If the first hop shows the IP of a home or business connection, the sender's mail client connected directly to a server that recorded the client address, and the IP lookup gives you an approximate location and the ISP.
The last hops are your own provider's servers. Everything between is transit: forwarding services, mailing lists, spam filters and relays. A message that was forwarded from another mailbox shows the forwarding mailbox's provider as an extra group of hops in the middle.
Delays reveal where a message sat. A few seconds per hop is normal. Minutes at a single hop usually mean greylisting or a spam scan. Hours can mean a server that was down, a queue, or a wrong clock, which also produces negative delays, since each server stamps its own local time.
Authentication results
| Result | Meaning |
|---|---|
| SPF pass | The server that delivered the message to your provider is listed in the SPF record of the envelope sender's domain. |
| SPF fail or softfail | It is not listed. Forwarding breaks SPF legitimately, so a fail on a forwarded message is expected; a fail on a direct message is suspicious. |
| SPF none | The sender's domain publishes no SPF record. |
| DKIM pass | The signature in the message verified against the public key published in DNS by the signing domain. The signed parts were not altered in transit. |
| DKIM fail | The signature did not verify. The message was modified after signing, or the key was rotated, or the signature was forged. |
| DMARC pass | SPF or DKIM passed with a domain aligned to the visible From domain. This is the result that says the From address is legitimate. |
| DMARC fail | Neither aligned check passed. What happens next depends on the From domain's policy: none, quarantine or reject. |
A message can pass SPF and DKIM for one domain while the From line shows another. That is exactly what DMARC alignment catches, and why the DMARC line is the one to trust when they disagree.
Origin IP block
The country and city are estimates from a geolocation database and describe the server, or the sender's connection, at the time of sending. The ASN tells you what kind of network it is: a mail provider, a hosting company or a consumer ISP. A direct-to-mailbox message whose origin is a hosting network with no reverse DNS and a DMARC fail is the typical profile of spam or phishing.
What to do next
You suspect phishing or forgery
- Compare the From domain with the DMARC result. A fail, or a pass for a completely different domain than the one in the From line, means the visible sender is not what it claims.
- Check the Reply-To and Return-Path headers. Phishing often shows a trusted From and an unrelated Reply-To.
- Look at the origin IP's network and blacklist status. A hosting network or a listed address supports the suspicion.
- Do not click links in the message. Report it through your provider's phishing report option, which sends the full headers to them automatically.
You want to know who sent an anonymous or harassing message
- Identify the first public IP in the chain and its network. If it belongs to a webmail provider, the headers end there; only the provider holds the account's connection records, and they release them only on a legal request.
- If the first hop is a consumer ISP address, the WHOIS lookup gives the ISP's abuse contact. The ISP can identify the subscriber from the IP and the exact timestamp with time zone, again only through a legal process.
- Keep the original message with headers intact. Forwarding strips or rewrites them; use the export or "save as" function of your client.
Your own mail is being marked as spam
- Send a message to a mailbox you control at a large provider and analyze its headers.
- Fix any SPF fail by adding the sending server to your domain's SPF record; check the record with the DNS lookup. Fix a DKIM fail by enabling signing at your mail provider or server and publishing the selector's key.
- Publish a DMARC record once SPF and DKIM pass, starting with a policy of none and reporting turned on.
- Confirm the sending IP has a forward-confirmed reverse DNS name and is not on a blocklist.
Getting the headers from common clients
- Gmail (web): open the message, click the three-dot menu, choose Show original, then Copy to clipboard.
- Outlook (desktop): open the message in its own window, File, Properties, and copy the Internet headers box. In Outlook on the web, open the message menu, View, View message source.
- Apple Mail: select the message, View, Message, All Headers, or Raw Source for the complete message.
- Yahoo Mail: open the message, More, View raw message.
- Thunderbird: View, Headers, All, or View, Message Source.
- Mobile apps: most do not expose headers; open the message in the provider's web interface instead.
Paste everything from the first header line down to the blank line that precedes the body. Including the body does no harm, but it is not needed.
Reading the Received chain yourself
A Received line looks like Received: from mail.example.net (mail.example.net [203.0.113.10]) by mx.yourprovider.com with ESMTPS id abc123; Tue, 1 Oct 2024 10:15:22 +0000. The from part is the sending server as it introduced itself, with its real hostname and IP in parentheses as seen by the receiver; the by part is the server that wrote the line. Reading these from the bottom of the headers upward follows the message from origin to destination. The analyzer does this for you, but knowing the format lets you spot a line that was written by the sender rather than by a server: a Received line that claims an implausible server, or one whose timestamp is out of order with the rest.
Limits of this tool
- Headers below the first trusted hop can be forged. The sender can insert fake Received lines; only lines added by your provider and by servers it received from are reliable.
- Webmail and most providers do not reveal the sender's device address. The origin IP is often the provider's server, which is shared by millions of users.
- Geolocation of the origin IP is an estimate at city level at best, and describes the server or connection, not the person.
- The authentication results come from the header written by your receiving server. If your provider does not add an Authentication-Results header, or strips it, the tool cannot evaluate SPF, DKIM or DMARC and reports them as not available. The tool does not re-run the checks itself.
- Timestamps come from each server's own clock. Negative or implausible delays usually mean a clock is wrong, not that the message traveled back in time.
- Forwarding, mailing lists and some security gateways rewrite headers, which can break SPF and DKIM for legitimate mail and hide the original path.
- The tool parses headers in standard format. Headers copied from a client that reflows or translates them, or a message exported as a screenshot, cannot be analyzed.
- Private IP addresses in the chain are internal hops and are not looked up.
Questions people ask
What can I learn from email headers?
The servers that handled the message and when, the IP address of the server that first sent it, whether the sending domain passed SPF, DKIM and DMARC checks, and whether the visible From address matches the technical sender.
How do I find the headers of an email?
In Gmail open the message menu and choose Show original. In Outlook open the message, then File, Properties, Internet headers. In Apple Mail use View, Message, All Headers. Most other clients have a similar option named raw source, original message or headers.
Can I find the sender's exact location from the headers?
Rarely. The originating IP is usually the mail provider's server, not the sender's device. When a personal mail client sends through a server that records the client IP, you get the network and approximate city of that connection, nothing more precise.
Why is the sender's IP missing or private?
Webmail services submit messages from their own servers and do not include the user's address. An address like 10.0.0.5 or 192.168.1.20 in a Received line is an internal hop inside the provider and says nothing about the sender's location.
What do SPF, DKIM and DMARC pass or fail mean?
SPF pass means the sending server was authorized by the domain in the envelope sender; DKIM pass means the message carries a valid signature from the signing domain; DMARC pass means at least one of those aligned with the From domain. A fail on all three is a strong sign of forgery.
Can email headers be faked?
Partly. Everything the sender wrote, including the From line and any Received lines added before the message reached a trusted server, can be invented. Lines added by your own provider and by the servers after it are reliable.
Does the tool keep my headers?
The headers are used to build the report you see. Remove anything you consider sensitive, such as the subject or recipient addresses, before pasting; the analysis needs only the Received and authentication lines.
Why does the message show a large delay at one hop?
The timestamps of consecutive Received lines are compared. A delay of minutes or hours usually means a queue at that server, greylisting, a spam scan or a clock that is simply wrong on one of the machines.