MAIL

Email Header Parser

Parse raw email headers into structured fields

API & HTTP
πŸ”’ 100% client-side β€” your data never leaves this page
Maintained by Evanβ€’Updated: September 29, 2026
Options
Raw Email Headers

Paste raw email headers and inspect SPF, DKIM, and routing hints first; full-header output and scenarios are available in Advanced mode.

Parsed JSON
Parsed email header JSON will appear here
πŸ”’ Processed locally in your browser
Page reading mode

The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.

About this tool

Unfold raw email header continuations and extract From, To, Subject, Date, Message-ID, Received-SPF and DKIM-Signature text into JSON. Repeated Received fields are counted individually. Advanced mode can include all fields, preserving repeated same-name fields as arrays, and normalize their names to lowercase. The parser stops at the header/body boundary; it does not decode MIME encoded words, verify signatures or determine whether a message is phishing. Input is saved as a local draft.

Production Snippets

Count repeated relay fields without authenticating them

text

Received: from edge.example by mx.example
Received: from sender.example by edge.example
SUBJECT: Delivery test

Summary: receivedCount = 2, subject = Delivery test

With all-headers output enabled, the repeated Received values appear in an array. Their order is the source-header order, not a verified route or trusted chronology.

Frequently Asked Questions

Does the SPF or DKIM output verify authentication?

No. SPF is the copied Received-SPF text and DKIM is the copied DKIM-Signature value. Neither is a verification result produced by this tool. Authentication-Results is visible only in the optional all-headers object.

How are repeated fields and capitalization handled?

Summary lookup ignores case and uses the last occurrence. All-headers output preserves input spelling unless normalization is enabled; repeated identical names become arrays. receivedCount counts every Received field, regardless of its capitalization.

Are folded lines and encoded subjects decoded?

Whitespace-prefixed continuation lines are joined to the preceding header. Encoded words such as =?UTF-8?B?...?= remain text; this is not a MIME decoder or full message parser.

Should I paste the message body or sensitive mail?

Only the raw header block is needed. Processing is local, but the form stores a browser draft that can include addresses and routing details. Clear it after use on shared devices.

Keep browsing