Paste HTML or open a .html file and the rendered page appears next to the source, styles and scripts included. Nothing uploads until you decide to publish it.
The rendered page appears on the right, scripts and all. Nothing is uploaded until you publish.
The preview runs the page's own CSS and JavaScript, in an isolated frame with no origin of its own. That last part is why anything using localStorage errors here and works once published — a published page gets its own origin, so its storage is real.
An .html file is the source of a web page, not the page. Open it in a text editor and you get angle brackets; open it in a browser and you get the page — which is fine until the file is an email attachment, a download on a locked-down laptop, or a block of code somebody pasted into a chat. Then there is no obvious way to just look at it.
This viewer is the missing step. Paste the markup or open the file and the right-hand pane renders it the way a browser would, with the CSS applied and the JavaScript running. The file never leaves your machine to do that: the preview is a sandboxed frame in the tab you already have open. If the page turns out to be worth showing someone, the same source publishes to a link in one more click.
CSS applies. Inline <style>, a style= attribute and a stylesheet loaded from a CDN all work, because the frame fetches them exactly as a browser tab would.
JavaScript runs. Buttons, tabs, charts and form validation behave the way they will for a reader. A viewer that quietly stripped scripts would tell you your working page is broken.
Storage does not. The preview frame has no origin of its own, and localStorage throws in that situation. A page that saves state errors here and works once published, where it gets a real origin.
Relative paths do not resolve. src="./logo.png" has nothing to be relative to. Anything pointing at a file next to the original on disk shows as a broken image here, and will do the same for anyone you send the file to.
Nothing is uploaded. The file is read in your browser. The first network request carrying your HTML happens when you press publish.
A recruiter is sent a candidate portfolio as portfolio.html — one self-contained file, exported from a design tool. Her work laptop opens unknown downloads in a policy-managed sandbox that refuses local files, so double-clicking does nothing useful and the preview pane in her mail client shows the first two hundred characters of markup.
She opens this page, clicks Open .html file, and picks the download. The portfolio renders in the right pane: the grid of project cards, the web font, the hover states, and the filter buttons that actually filter because the file’s own script is running. No install, no policy exception, nothing sent anywhere — the file was read by the browser tab she already had open.
Two of her colleagues need to see it before the interview. Rather than forwarding a file that will fail on their machines the same way it failed on hers, she clicks publish and pastes the link into the hiring channel. They open it on a phone and a Windows desktop and see the same page she did.
Free links last 7 days with a free account. On a paid plan every page you create stays online permanently.
See pricing