Skip to content
OneKitly

Email HTML Is Twenty Years Behind the Web, on Purpose

Published 9/9/2026 · 3 min read · File tools

Daniel Okonkwo

Daniel Okonkwo — Front-end developer and tech writer at OneKitly

Web performance · File formats

Checked against 3 sources

View profile →
In short

A web page is served to a browser you can mostly predict. A message is delivered to several dozen readers with nothing in common — a desktop client from 2016, a phone, a webmail that rewrites your markup before showing it — and every one of them strips whatever it dislikes. The result is a dialect frozen decades ago: no external stylesheet, because a reader would have to fetch it and most will not; no script, because every reader removes it; layout in nested tables, because that is what all of them still agree on; and CSS written inline on each tag, because a style block in the head is dropped by several of the largest webmail providers. Exporting a message to HTML gives you that markup in a file your browser can open — self-contained apart from the images the sender left on their own server, which stay remote references. It prints well, it archives well, and it will not look exactly like it did in the sender's client, because it never looked the same in two clients to begin with.

No stylesheet, no script, layout built from nested tables and styles written on every single tag. Knowing why explains what an exported HTML file will and will not look like.

The two images, again

The exported file inlines what was inside the message and leaves alone what was not. Images the sender attached and referenced as cid: become part of the file, so they show whether or not you are online, and the page stays self-contained if you copy it to a backup disk. Images the sender left on their own server stay as addresses, so opening the file years later shows gaps where a marketing banner used to be — and, if the server is still running, tells its owner you opened an old message today.

When to prefer HTML, and when text

Take HTML when the appearance is part of what you are keeping: an invoice with a table of lines, a booking confirmation with a reference laid out to be read, a message you may have to show someone as it was received. Take plain text when you want to search, quote or store thousands of messages — text is a tenth of the size and does not carry a layout that will age. Keeping both for the handful that matter costs nothing and settles the question later.

EML to HTMLSave the HTML part of an email as a standalone page you can open in a browser.Try the tool →

Frequently asked questions

Will the exported page look the same as in my mail client?
Close, and not identical. Your mail client applies its own defaults on top of the message — fonts, spacing, a maximum width — and a browser applies different ones. Since the message carries its styles inline, the substance travels; what shifts is the frame around it. If an exact record matters, print the page to PDF from the browser and keep that alongside.
Why do so many messages still use tables for layout?
Because it is the only layout every reader still renders the same way. Modern layout systems are supported unevenly across mail clients, and a design that collapses in one of the big ones is a design that fails for a share of the audience the sender cannot identify. Tables are ugly to write and they work everywhere, which in email has always been the winning combination.
Is the exported HTML safe to open?
It is the message's own markup, so it carries whatever the sender wrote — which in practice is styles and links, since scripts do not survive the trip through the mail system. Treat the links with the same suspicion you would in the mail client: an exported page has lost the warnings your client was showing around them. If the message was one you distrusted, read it as plain text instead.

Articles you may find interesting

All guides →
ExplainerAn Attachment Grows by a Third Inside the EmailMail carries files as text, three bytes written as four characters. A 10 MiB attachment occupies 13.68 MiB of the message, which is why a 25 MB limit really means about 18 MiB of files.ExplainerWhy Your Subject Line Arrives as =?UTF-8?B? and a String of LettersMail headers are allowed to carry ASCII only, so an accented subject is encoded before it travels. Two encodings are in use, both start with =?, and decoding them is the whole difference between a readable message and a wall of symbols.How-toOpening an .eml File Without Telling the SenderA saved message is a text file you can read anywhere. The catch is that opening it in something that loads remote images announces the moment you did — which is what a tracking pixel is for.How-toSplitting a Mail Archive Into One File per MessageAn .mbox is one enormous file your operating system cannot search. Turn it into .eml files and every message becomes something your machine indexes, your mail client opens and you can delete one at a time.ExplainerAn .mbox Is Messages Glued End to End, and the Glue Is a LineOne file, thousands of messages, separated by a line beginning From. The format has one famous weakness, and it is the reason a message can lose its ending without anything reporting an error.ExplainerThe Workbook with Twenty-Three Formulas That Reported NoneA cell can hold a formula and no cached result. A reader that skips empty cells throws the formula away with them — and says the file has none. One parsing option separates the two cases.

Related tools

Sources

Spotted a mistake in this article?