Where should this HTML file live?

You have report.html — a coverage summary, a notebook export, a dashboard someone generated — and you need it at a URL. Every option below works. They differ in what they cost you, and the costs are not mostly money.

The options, honestly

Option Setup Private? Real cost
Double-click the file none totally only you can see it; file:// breaks data-driven pages
python -m http.server one command localhost only not reachable by anyone else
GitHub Pages repo, branch, workflow no on free accounts a permanent repo for a throwaway artifact
Netlify / Vercel drag-and-drop or a build one shared site password a project, a team seat, a deploy history you maintain
S3 + CloudFront bucket, policy, distribution, OAI yes, with signed URLs an afternoon, then IAM forever
tiiny.host and similar drag-and-drop paid tiers only a link with no identity behind it
ngrok / Cloudflare Tunnel one command obscurity dies when your laptop sleeps
Comma drag-and-drop per report, four levels none for the file; you get a review layer with it

Each of the middle rows has a page of its own here, written by someone who actually hit the wall:

The question that actually decides it

Not "which host", but how long does this file matter, and who is allowed to see it?

  • Forever, and public — a docs site, a landing page. Use a static host with a build step. That's what they're for.
  • This week, and internal — a test run, a scan, an analysis for three colleagues. A static host is the wrong shape: you're creating a permanent deployment artifact for something that stops mattering after the next run.

Most HTML reports are the second kind, which is why the first kind of tool always feels like too much ceremony.

Two things every static host gets wrong for reports

It's a directory, not a file. nbconvert, genhtml, Playwright, Allure, Sphinx and Serenity all emit index.html plus a folder. Upload one file and you get an unstyled skeleton — see why the report lost its CSS.

There is nowhere to say "this number is wrong." A static host serves bytes. The feedback goes to Slack, gets separated from the thing it's about, and is gone in a week.

What Comma does instead

Drag the file, the folder, or a zip into Comma:

  • index.html becomes the report body; every asset uploads alongside and relative references are rewritten to the uploaded copies.
  • Scripts still run — inside a sandboxed iframe with no same-origin access — so interactive reports stay interactive.
  • Access is a property of the report, not of a site: private, your team, anyone signed in, or anyone with the link, with view, comment or edit rights. Full model in sharing & access control.
  • Comments anchor to the content itself, so review happens on the report — see commenting on HTML.
  • Re-publish to the same report id from CI and the URL is stable while each run appends a revision. See publishing from CI.

Limits

Entry HTML 5 MB; assets 25 MB per file, 250 MB and 500 files per report; 60 API requests/minute per token.

Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision history.

Host your HTML file →

Related