EML Email Parser
Drop in an .eml file (the raw RFC 822 format that mail clients export) to read it without an email program. It shows the From, To, Cc, Subject, and Date headers, the Message-ID and Content-Type, lists any attachments by filename, and previews the start of the message body. The file is read entirely in your browser and never uploaded.
How to read an EML file
- Drag an .eml file onto the box, or click to browse for one.
- Read the header card for the sender, recipients, subject, and date.
- Scan the attachments list and body preview to see the message contents.
Examples
A saved message with an attachment
invoice.eml exported from a desktop mail client
From, To, Subject and Date shown, 1 attachment (invoice.pdf), body preview
Frequently asked questions
Is my email uploaded anywhere?
No. The .eml file is read and parsed entirely in your browser using JavaScript. Nothing is uploaded, so even confidential messages stay on your device.
What is an EML file?
An .eml file is a single email saved in the RFC 822 (MIME) format: a block of headers like From, To, Subject, and Date, a blank line, then the message body. Most desktop mail clients can export messages this way.
How does it find attachments?
For multipart messages it splits the body on the MIME boundary and looks for parts marked Content-Disposition: attachment, reading the filename from that header. It lists the names and content types; it does not decode or download the attachment data.
Does it handle encoded subjects with accents or emoji?
Yes, on a best-effort basis. RFC 2047 encoded-words in the Subject and From, To, and Cc fields (the =?UTF-8?B?...?= base64 and =?UTF-8?Q?...?= quoted-printable forms) are decoded as UTF-8. Unusual charsets may not decode perfectly.
Why is only part of the body shown?
The preview is the first 500 characters of the first text part, which is enough to identify a message at a glance. Long emails and HTML parts are truncated rather than rendered in full.
What if the file is not a valid email?
The parser is lenient: it splits headers from the body at the first blank line and skips lines that are not headers. If there is no content at all it reports an error, otherwise it shows whatever fields it can read.
Related tools
File Type Identifier
Find out what a file really is from its magic bytes, not its extension. Detects images, audio, video, archives, fonts, and more in your browser. Private.
Strings Extractor
Extract readable text from any binary file in your browser, like the Unix strings command. See each printable run with its byte offset, set a minimum length.
Image Metadata Viewer
View an image's EXIF and metadata in your browser: camera make and model, dimensions, format, orientation, and whether GPS location is embedded. Private.
Base64 File Encoder
Encode any file to Base64 and a data URI in your browser. Drop a file to get the raw Base64 and a ready data: URI to copy. Nothing is uploaded.
CBOR Decoder
Decode a CBOR file (RFC 8949) to readable JSON in your browser. Handles integers, byte strings, arrays, maps, tags, and floats. Nothing is uploaded.
CSV File Inspector
Inspect a CSV file in your browser: detect the delimiter, encoding and BOM, count rows and columns, guess the header, and preview sample rows. Private.