---
title: "Where Should I Host an HTML Page or Site My AI Agent Made?"
slug: /blog/where-to-host-ai-generated-html
publishedAt: "2026-10-14"
updatedAt: "2026-10-14"
author: ott
description: "Match the host to what the agent made: one HTML file, a folder of static files, or an app with a server. A decision table with links to each host's own deploy guide, checked on 14 October 2026."
---

# Where should I host an HTML page or site my AI agent made?

> **TL;DR:** Match the host to what the agent made. For one HTML report or page, publish it as a document, privately or publicly. For a folder of static files, use Netlify Drop, Cloudflare Pages or GitHub Pages. For an app with a server or a database, use Vercel, Railway or Render. Display (display.dev), the docs workspace for agents and people, covers the first case only. It does not host folders or apps today.

Display is our product. This page sends you to a different host in two of three cases, and says so. We checked the vendor facts on each vendor's own pages on 14 October 2026.

---

## Three questions pick the host

1. **How many files did the agent make?** One file, or a folder?
2. **Does it run code on a server or use a database?** A page that needs only a browser is static. An app with a sign-in, an API or stored data is not static.
3. **Who must open it?** Anyone on the internet, your colleagues, or people you invite by email?

The first two answers pick the type of host. The third answer picks the protection.

---

## Decision table

| What the agent made                | Examples                                                           | Where to host it                              | Who can open it by default                                              |
| ---------------------------------- | ------------------------------------------------------------------ | --------------------------------------------- | ----------------------------------------------------------------------- |
| One HTML or Markdown file          | A report, a specification, a diagram, a dashboard in one file      | Display, or any static host for a public page | Display: you choose public, company, private or invited email addresses |
| A folder of static files           | A built site, a Storybook, a landing page, a prototype with assets | Netlify Drop, Cloudflare Pages, GitHub Pages  | Public, until you add protection                                        |
| An app with a server or a database | A Next.js app, an API, a tool with accounts                        | Vercel, Railway, Render                       | Depends on the platform and your settings                               |

---

## One HTML or Markdown file

Most agent output is a single file. Cursor, Codex and Claude Code write a self-contained report or page to disk. A site is more than that file needs.

Publish it as a document. With Display, ask your agent to publish the file to Display for your company. You get a URL. People in your company sign in to open it. You can also choose public, private or specific email addresses. The agent can publish a new version at the same URL, and it can read the comments that reviewers leave. Every plan has unlimited viewers. A file can be 10 MB on Free and 50 MB on paid plans.

Display does not host a folder or an app today. Publishing a directory or a ZIP file is on the roadmap.

For a public single page, a static host also works. The next section names three.

---

## A folder of static files

When the agent builds a site with several pages, images and scripts, you need a static host. These three take a build folder.

- **Netlify Drop.** You drag a build folder into the browser. The Netlify guide tells you to unzip a project ZIP file first. Read the [Netlify drag-and-drop guide](https://docs.netlify.com/site-deploys/create-deploys/#drag-and-drop).
- **Cloudflare Pages.** Run `npx wrangler pages deploy <folder>`, or use drag and drop in the dashboard. Wrangler accepts up to 20,000 files of up to 25 MiB each, and it does not accept ZIP files. Read the [Cloudflare direct upload guide](https://developers.cloudflare.com/pages/get-started/direct-upload/).
- **GitHub Pages.** It serves static files from a repository. Read the [GitHub Pages guide](https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site).

All three are public until you add protection:

- Cloudflare says that preview deployments are public by default. Its access policy for a Pages project protects the preview URLs, not the production domain.
- GitHub says that a Pages site is publicly available on the internet even when its repository is private. For a private alternative, read [Can GitHub Pages be private?](/github-pages-alternative).
- Netlify has password protection on Pro plans, and team login on Enterprise plans.

---

## An app with a server or a database

If the agent wrote a server, an API or code that stores data, a static host cannot run it. Use an app platform.

- **Vercel** deploys from the CLI with `vercel`. Vercel Drop deploys a file, a folder or a ZIP file that you drag into the browser. Read the [`vercel deploy` reference](https://vercel.com/docs/cli/deploy). Standard Protection protects every deployment except the production domains. All Deployments protects every URL. Vercel Authentication is on every plan, and it admits only Vercel users with access. Password Protection costs $20 a month per project on Pro. Sign-in through your own identity provider (Passport) is an Enterprise feature. SAML single sign-on for your Vercel team costs $300 a month on Pro. It controls sign-in to Vercel, not to your site.
- **Railway** deploys a service from a code repository or a Docker image. Read the [Railway basics](https://docs.railway.com/overview/the-basics).
- **Render** hosts dynamic web apps, such as Express and Django, at a public URL. Read the [Render web services guide](https://render.com/docs/web-services).

These platforms need a repository, environment variables and a plan for secrets. Display does not replace them.

---

## Which one holds private documents

If the output is a document for colleagues, a site host adds work. You need a project, a domain and a protection step. A public address with a long name is not access control.

| Need                                                      | Static host with protection                                                      | Display                                                                                                      |
| --------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Colleagues open it with their Google or Microsoft account | Cloudflare Access, Netlify team login (Enterprise), Vercel Passport (Enterprise) | Google or Microsoft sign-in on Pro and Enterprise. A one-time password (OTP) on every plan                   |
| One outside reader by name                                | A shared password, or an access policy                                           | Invite the email address. The reader opens it with an OTP and can view it. Outside guests cannot comment yet |
| The agent updates the page                                | A new deploy                                                                     | Tell the agent to update the page. It stays at the same URL                                                  |
| Reviewers comment on the page                             | Not part of the host                                                             | Comments on the page. The agent reads them and resolves them                                                 |
| A folder of files                                         | Yes                                                                              | No. Planned                                                                                                  |

---

## When another tool is better

- **Use a static host** when the output is a folder: a built site, a Storybook or a prototype with many pages.
- **Use an app platform** when the output has a server.
- **Use Chromatic** for a Storybook when you want versions and reviews for components.
- **Use GitHub Pages** for public project documentation.
- **Use Display** when the output is one document for colleagues or invited people. Display also fits when an agent must update the document and read the comments.

---

## FAQ

**Where should I host an HTML file from Cursor, Codex or Claude Code?**

If it is one file, publish it as a document with Display. If it can be public, any static host also works. If it is a folder, use Netlify Drop, Cloudflare Pages or GitHub Pages.

**Can I host an AI-generated site for free?**

Static hosts have free plans, and their limits change. Check the pricing page of each vendor. The Display Free plan gives 3 gated artifacts and unlimited public artifacts, with one file in each.

**Does Display host folders or apps?**

No. Display publishes one HTML or Markdown file for each artifact. Publishing a directory or a ZIP file is on the roadmap. An app with a server needs an app platform.

**How do I keep an AI-generated page private?**

Choose a host that checks access on the server. When you sign in before you publish, Display publishes as Private by default. On a static host, add Cloudflare Access, Netlify protection or Vercel protection. A JavaScript password prompt does not protect the files.

**Is a long URL that nobody can guess private enough?**

No. One forwarded link gives access to everyone who gets it. Use sign-in.

**Which host fits a vibe-coded site?**

It depends on the output. A static export fits Netlify, Cloudflare Pages or GitHub Pages. An app with a backend fits Vercel, Railway or Render. To compare the levels of access, read [What is private HTML hosting?](/private-html-hosting).

---

*We checked the vendor facts on each vendor's own documentation and pricing pages on 14 October 2026. Plans and limits change often. Check the vendor page before you decide.*
