First, a clarification
If you arrived here looking for the HTML <a href="..."> syntax, that is a different question. This guide is for the case where you have a finished HTML file — a dashboard, a one-page report, an LLM-generated mini-app, a landing-page mockup — sitting on your computer, and you need a URL someone else can open in a browser. The problem is hosting, not HTML.
Why this is harder than it should be
HTML hosting is a solved problem at scale (GitHub Pages, Vercel, S3 plus CloudFront, and a hundred others), but the "I have one file and I want a link" case has historically been awkward. Email blocks .html attachments. Cloud drives treat them as downloads. Developer platforms expect a Git repo. None of these were designed for the one-off, "send this to my client today" workflow that has become extremely common with LLM-generated outputs.
Option 1 — Email the .html as an attachment (do not)
Gmail and Outlook block .html attachments by default because attackers use them to deliver phishing pages that look like login forms. When the attachment does get through, the recipient sees a download prompt, not a rendered page. External assets (CSS, JS, fonts, images by URL) load inconsistently depending on the recipient's client. Inline assets work but the file size balloons fast.
Use it when: the recipient is a developer who will open the file in a browser intentionally, and the HTML is tiny and self-contained.
Option 2 — Upload to a cloud drive (Google Drive, Dropbox, OneDrive)
The reflex is to drop the file in Drive and copy the share link. The problem: cloud drives serve .html files as downloads, not as rendered pages. Google Drive used to support "hosted view" for static HTML; that feature has been progressively deprecated and is no longer reliable for sharing with non-Google-account recipients.
Workarounds exist — third-party services that point at a Dropbox or Drive file and proxy it as HTML — but they add a dependency you do not control, often require sign-in, and break the moment you move or rename the source file.
Use it when: you want the recipient to download the file as an asset, not view it as a page.
Option 3 — GitHub Pages, Vercel, Netlify, Cloudflare Pages
These are real static hosts: free, durable, fast, with custom-domain support and proper CDN delivery. If you already use any of them, this is the most robust answer.
The setup is the cost. You need a Git repository, a project on the platform, sometimes a build configuration even for a single static file, and a workflow to push updates. The fastest of these from cold start (no account yet) is still a fifteen-minute job. For a recurring deployment, that cost amortizes — for a one-off file you need to send by end of day, it usually does not.
None of these platforms include per-recipient view tracking, password protection, or scheduled link expiration as part of the static hosting product. If you need those, you build them on top, or you pick a host that includes them.
Use it when: the file is part of a project, you want a custom domain, and the setup cost is a one-time investment.
Option 4 — Drop-and-share hosts (LiveSend and similar)
A small category of services exists specifically for the "one file, one link, no setup" workflow. The interaction is: drag the .html file (or paste the HTML source) into a dashboard, get a permanent public URL. No repo, no build, no configuration.
LiveSend is one such option. Beyond the basic hosting, it logs every view (timestamp, optional viewer email, approximate country, time spent), lets you add a password, set an expiration date, toggle the link off, and edit the HTML inline without changing the URL. Updates create versions you can roll back to. The honest limits: a 3MB (6MB for Pro) cap per file, a small watermark on the free plan (removable on Pro), and no custom domain support yet. Other services in the category exist — pick based on the trade-offs that matter to you.
Use it when: you want a link in under a minute, you do not have or want a Git workflow, and the file is a one-off you need to send to a recipient who just needs to see the page.
The shortest answer
If you already deploy on Vercel or have a GitHub Pages site, push the file there. If you do not, paste the HTML into a drop-and-share host and send the URL. Do not email the .html attachment, and do not rely on a cloud drive — both produce a download prompt or fail silently.