What the HTML Reader Does
You have an HTML file or a chunk of markup, and you want to read it the way a browser would render it — not as raw tags. The HTML Reader does exactly that: paste the source on the left, the right pane shows you the readable, styled output. Same idea as opening the file in a browser, except you don't have to save anything to disk first or trust whatever was attached to an email.
Most of the time you're here because someone handed you an .html file and you'd rather not click it: a newsletter export, a scraped article, a page someone saved with "Save As", an old archive from the Wayback Machine. The reader renders that markup inside a sandboxed iframe, so any scripts or external loads stay isolated from the rest of the page. The parser follows the rules in the WHATWG HTML Living Standard, which is what your browser uses anyway.
Nothing is uploaded. The HTML you paste lives in your browser tab and goes away when you close it. Read what you came to read, then walk away.
Reading HTML, Step by Step
Each step lines up with a button or panel you can see above this section.
Paste the HTML
Drop your HTML into the left editor. It can be a complete document with <!DOCTYPE html> down through </html>, or just a fragment — an article body, a single email block, a snippet from a .mhtml archive. If you don't have anything handy and you want to see what the reading view feels like, hit Sample and a real-feeling newsletter article shows up. If you want to double-check the markup is well-formed, the W3C Markup Validator is the canonical place.
<article>
<h1>The Quiet Rise of Edge Compute</h1>
<p class="byline">By Maya Okafor · April 12, 2026</p>
<p>Three years ago, "edge" mostly meant CDN cache rules.
Today it ships your auth checks, runs your A/B tests,
and renders your homepage.</p>
</article>The reading view re-renders as you edit, with a small debounce so it doesn't flicker.
Read the Rendered Output
The right pane shows the HTML the way a browser would. Headings look like headings, links look like links, the styles defined in the document apply. If the markup uses <style> blocks or inline CSS, those render too. If it pulls in a remote stylesheet, that loads as long as the source allows it.
Resize When You Need More Room
Drag the splitter between the editor and the reading view to give one side more space. Most of the time you want the reading pane wider — that's what you came for. On a phone the panes stack vertically. Hit Expand to read in fullscreen with no editor in the way.
Save a Link if You Want to Come Back
Click Share to save the HTML behind a short URL with an expiry you choose. Useful when you want to send the rendered version of an internal page to a teammate without emailing the file around. Skip Share if the content is sensitive — nothing leaves your browser unless you click it.
When You'd Reach for This
Reading Newsletter Exports
Substack lets you export your archive. Mailchimp campaigns can be downloaded. Many newsletter platforms hand you a folder of .html files. Open them here to actually read the issues instead of squinting at raw markup or trusting your email client to render an old layout correctly.
Reading Scraped or Archived Pages
You ran a scraper, dumped a bunch of pages to disk, and now you want to read what you actually pulled. Or you grabbed a page from the Wayback Machine and saved the HTML. Paste it here to see the article without the scraper logs and without spinning up a local server.
Reading "Save Page As" Files
Someone sent you an HTML file from their browser's Save As dialog — a documentation page, a job posting that got pulled down, a forum thread before it was deleted. Drag the contents in here and read the page the way it originally looked.
Reading the HTML Body of an Email
Email clients render HTML inconsistently. When you need to see exactly what the markup says — for a forwarded receipt, an alert email, a transactional notification — pull the HTML body out of the source view and paste it here for a clean read.
Frequently Asked
How is this different from the HTML Viewer?
The Viewer is built for developers who are writing HTML and want a fast preview while they iterate. The Reader is built for the moment when someone hands you an HTML file and you just want to read what's in it. Same underlying mechanics, different framing — the Reader's sample is an article, the wording is about consuming content rather than building it, and the default panel split favors the reading pane.
Can I open a .html file directly?
Open the file in a text editor (or right-click → Open With → Notepad / TextEdit) and copy the contents into the left pane. Drag-and-drop file support is on the roadmap. For now, the copy-paste route works in three keystrokes and avoids any uploads.
What about .eml emails or .mhtml archives?
.eml files contain an HTML body section, usually after a Content-Type: text/html header. Find that block, copy it, paste it here. .mhtml is similar — it's a multipart container with the HTML in one of the parts. Inline images that come as base64 attachments will render; references to external resources will load only if the source allows it.
Will the styles and images load?
Inline <style> blocks and inline style attributes always render. Remote stylesheets and images load if they're served with permissive CORS and don't require authentication. Anything that needed a session cookie from the original site won't come through — you'll see broken images or unstyled blocks for those.
Is the HTML I paste sent anywhere?
No. Parsing and rendering happen entirely in your browser. The server only sees content if you explicitly click Share to create a link, and even then the saved blob is keyed to a random GUID with the expiry you picked.
Can I point it at a URL?
Not yet — you fetch the HTML yourself and paste it. Same reason the JSON Reader works that way: pulling URLs through a third-party proxy is a privacy regression, and most of the HTML people want to read here is local files or archives anyway, not live pages.
Other HTML Tools
Reading is one of several things you might want to do with HTML. These pair well: