Google Drive won't render your HTML file

You generated a report — a coverage summary, a notebook export, a dashboard — dropped it in Drive, and sent the share link. The person on the other end gets a grey preview pane, a download button, or a wall of raw markup.

This isn't a permissions problem, and there's no setting that fixes it.

What actually happened

Drive used to serve files from a public folder as a real website, at googledrive.com/host/<folder-id>. Google deprecated that in August 2015 and switched it off a year later. Since then, Drive is a place .html files are stored, never a place they are served.

So .html behaves like .zip: previewable in the sense that Drive shows you it exists, downloadable, but never rendered as a page. Every workaround that still circulates runs into the same wall:

  • drive.google.com/uc?export=view&id=… serves the bytes with a content type that makes browsers download, not render.
  • Third-party "HTML viewer" Drive add-ons open the file in their own sandbox — which usually means the styling and scripts that made it a report are gone.
  • Publish to the web exists for Docs, Sheets and Slides. It does not exist for an arbitrary file you uploaded.

And even if it did render, you'd have the second problem

Most tools that say "HTML report" actually emit a directory: index.html plus a sibling folder of CSS, JavaScript and JSON. Playwright, nbconvert, genhtml, Sphinx, Storybook and Allure all work this way.

Upload just the .html to Drive and every one of those references points at a file that isn't there. That's the blank-or-unstyled version of the same failure — see why the report lost its CSS.

The fix: give the file an address

Drag the file — or the whole output folder, or a zip of it — into Comma:

  • index.html becomes the report body.
  • Every asset that came with it uploads alongside, and relative src and href references are rewritten to the uploaded copies.
  • Scripts run inside a sandboxed iframe (allow-scripts, no allow-same-origin), so sortable tables, filters and charts still work. See interactive HTML reports.

You get one URL. It opens on a laptop, on a phone, and for the person who has never seen the file.

Who can see it

Per report, you pick: private to you, your team, anyone signed in at your domain, or anyone with the link — with view, comment or edit rights for link holders. The full model is in sharing & access control.

That's a tighter set of choices than a Drive folder, where sharing tends to be inherited from whatever the parent folder happened to be set to.

From a script, if the report regenerates

If this file comes out of a job rather than your hands, publish it from there and stop touching Drive entirely:

curl -fsS -X PATCH "https://commareports.com/api/v1/reports/$REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html report.html '{html: $html}')"

PATCHing one saved report id keeps a single permanent URL and appends a revision per run, so the link in your README or your weekly email never goes stale. See publishing from CI and API tokens.

Then: comment instead of screenshot

Once the report is a URL, feedback lands on the report itself — select a number, leave a thread, and it stays anchored there across revisions. That is the part a Drive link was never going to give you, no matter how it rendered. See commenting on HTML.

Limits

  • Entry HTML: 5 MB. Assets: 25 MB per file, 250 MB and 500 files total.
  • Scripts run, sandboxed — no same-origin access to your session.
  • 60 requests/minute per token.

Try it

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

Turn your HTML file into a link →

Related