How to use the eml file viewer and attachment extractor
- Choose an .eml file, a single saved email message, up to 25 MB.
- Read the main headers (From, To, Cc, Reply-To, Subject, Date and Message-ID) and the message text. Open "Show every header" for all of them.
- If the message has only an HTML version, the page shows its text. The HTML source can be shown as plain text, but it is never displayed as a web page.
- Download an attachment with its button, or download all attachments as a ZIP file.
What the tool decodes
A saved message is plain text in a layout defined for email. Header lines can be folded over several lines. Names and subjects with accents or symbols are written as encoded words, such as =?UTF-8?B?...?=, which are decoded to the text they stand for. A message with several parts is divided by boundary lines, and parts can be nested, as when a message with attachments contains a text version and an HTML version.
The body of each part is stored as plain text, as base64 or as quoted-printable, and the tool undoes whichever was used before applying the character set of the part. File names can use a longer encoding for non-English characters, which is also decoded. A forwarded message is listed as an attachment that you can save and open again with this tool. Python's standard email package gives the same headers, texts and attachment bytes for the sample files in the tests.
Safety
Only text is shown. Images and links in the HTML version are never loaded, so a message cannot report that you opened it, and no script in it is run. Attachments are saved as plain files and never opened, and their names are cleaned of path separators and control characters. Attachments can carry harmful programs, so check where a file came from before you open it, especially programs, scripts and Office documents.
To read the routing headers of a message, use the email header analyzer. To pull addresses and links out of text, see extract emails and URLs. Files inside a PDF can be listed with the PDF attachment extractor, and a ZIP file can be opened with the unzip extractor.
Assumptions and limits
- The file is a single message in standard email format. Mailbox files holding many messages are read as the first one.
- Character sets that your browser cannot decode are read as UTF-8, and the page says so.
- Up to 600 parts are read. Messages with more are refused.
- The message is read in your browser and nothing is uploaded.
Frequently asked questions
How do I get an .eml file?
Most email programs can save or export a message as an .eml file, often by dragging it to a folder or choosing a save-as option. The file is a plain-text copy of the whole message.
Why is the text different from what my email program shows?
Email programs show the HTML version with images and styles. This page shows the plain text, or text made from the HTML, so layout and pictures are missing.
Can it open .msg files?
No. A .msg file is a different, binary format. Save the message as .eml from your program instead.
Are inline images listed?
Yes. Pictures that belong to the HTML version are listed as attachments marked as shown inside the message, and you can save them like any other.