How to Upload an HTML File (and Get a Shareable Link)
You have a finished HTML file – an export from an AI coding tool, a report, a dashboard, a one-page site – and you want it at a URL someone can open in a browser. Not a `.zip` they download, not a repo they clone. A link
You have a finished HTML file – an export from an AI coding tool, a report, a dashboard, a one-page site – and you want it at a URL someone can open in a browser. Not a .zip they download, not a repo they clone. A link. Here's the general path first, then the fastest free option.
Upload an HTML file in four steps
This works on any static host. The specifics of where you drop the file differ, but the shape is the same everywhere.
Step 1: Name your main file index.html. A web host serves index.html as the default page for a URL, so this is the file that opens when someone visits the link. If your main page is called report.html or dashboard.html, rename it to index.html first. (MDN documents this convention for the same reason.)
Step 2: Decide if it's one file or many. Open the HTML and look at how it loads its styling and scripts. If the CSS and JavaScript are inlined in <style> and <script> tags – the usual shape for AI-generated HTML – it's a single self-contained file and you can upload it directly. If it references separate files (<link href="styles.css">, <img src="chart.png">), you need all of them, kept in the same relative structure.
Step 3: Bundle the assets if you need to. For a multi-file page, put index.html and its assets into one folder and compress that folder into a .zip. Most hosts that accept a .zip unpack it and keep the relative links working, so styles.css next to index.html still loads.
Step 4: Upload it and copy the URL. Drag the file or .zip into your host, or run a publish command from the terminal. The host returns a URL. Open it once to confirm the page renders, then share the link.
That's the whole procedure. The one decision the steps above don't make for you is who can open the link – and for most work files, that matters more than the upload itself.
Where to upload an HTML file for free
Plenty of hosts take a drag-and-drop upload and hand back a URL for free: Tiiny.host, PageDrop, host-html.com, EdgeOne, GitHub Pages, Netlify. They differ in polish, but they share one default: the URL is public. Anyone with the link opens it, anyone who guesses it opens it, and search engines can index it.
That's the right shape for a demo or a portfolio piece. It's the wrong shape for a client deliverable, an internal dashboard with a revenue number in it, or a draft going to leadership before it's public. For those, "upload and get a public link" isn't finished – you also want to say who can open it.
The faster path: upload to a link you control
display.dev does the same upload-and-get-a-link job, adds the audience control the public hosts skip, and doesn't make you create an account to start.
Upload with no account. Drag your file into app.display.dev, or run one command:
dsp publish ./index.htmlYou get a working URL back plus a single-use claim link – no card, no API key. As of July 2026, anonymous uploads accept files up to 50 MB and up to 10 publishes an hour. An unclaimed page stays live for 30 days and is served with noindex, so it stays out of search results (Google honors noindex to keep a page unlisted). Sign in at the claim link when you want to keep the page, and it moves into your organization.
Choose who opens it. This is the part the public-only hosts don't offer. Every link can be set to one of three audiences, and you can switch between them without the URL changing:
- Public – anyone with the link, same as the free hosts.
- Allow-listed – only specific email addresses you name. Each person gets a one-time password by email; no account to create.
- Company-gated – only people on your verified company domain, via Google or Microsoft SSO. One click for anyone already signed in at work.
That third option – open to your whole company, closed to everyone else, no per-seat cost – is a pattern called gated publishing. It's the difference between "I uploaded the file" and "I put the file where the right people can read it and no one else can."
Let your agent do it. If an agent wrote the HTML, it can publish the file itself. Add display.dev as an MCP server in Claude Code, Cursor, Codex, or any other agent, and "publish this to display.dev" is one sentence in the conversation. The CLI and MCP server are on every tier, including Free.
For the full walkthrough of the upload itself, see upload an HTML file; for hosting limits, custom URLs, and what stays interactive, see host an HTML file.
Which host should you use?
| If you want to… | Use |
|---|---|
| Put a demo or portfolio page on the open web | Any public host (Tiiny.host, GitHub Pages, Netlify) |
| Get a link with no account, then decide later | display.dev (publish anonymously, claim to keep) |
| Share a work file with your company only | display.dev, gated behind Google or Microsoft SSO |
| Send a deliverable to a specific client | display.dev, allow-listed to their email addresses |
The upload is the easy part. The reason to pick one host over another is what happens to the link after you copy it.
FAQ
How do I upload an HTML file?
Name your main file index.html, make sure any CSS, JavaScript, or images it needs are alongside it (zip the folder if there's more than one file), then drag it into a host or run a publish command. The host returns a URL. On display.dev that's dsp publish ./index.html, or drag the file into app.display.dev, and you get a link back in seconds.
Where can I upload an HTML file for free?
Free options include Tiiny.host, PageDrop, host-html.com, GitHub Pages, and Netlify, all of which publish to a public URL. display.dev is also free and, unlike those, lets you keep the file public or gate it to specific emails or your company's SSO. You can start on display.dev with no account and files up to 50 MB.
How do I put an HTML file online without a public URL?
Upload it to a host that gates on identity rather than serving to the open web. On display.dev, set the file's visibility to company-gated, and only people on your verified company domain can open it after signing in with Google or Microsoft. No one outside your company reaches the page, even with the link.
Can I upload a multi-file HTML page, not just one file?
Yes. Keep index.html and its assets in one folder and upload the folder as a .zip, or from the terminal run dsp publish ./site/ to publish the whole directory. Relative links between the files resolve automatically.
Do people I share the link with need an account?
No. For a public link, anyone opens it directly. For an allow-listed file, each invited person gets a one-time password by email. For a company-gated file, viewers sign in with the Google or Microsoft account they already use for work. Viewers never create a display.dev account, and there's no per-seat fee.
Free tier. No credit card. One-time password auth for viewers on free, Google + Microsoft SSO on Pro (€49/month flat).