# Host an AI-generated website, with or without a build

To host an AI-generated website you first have to know what the tool handed back, and it is one of two things: a single file, or a whole project. A single HTML, JSX or TSX file runs here at a real address with no build step. A project needs its build run first, and this page says which one you are holding.

## Why do some AI websites publish instantly and others do not?

Because AI tools produce two very different artefacts. A chat that writes you a page produces one self-contained HTML file, which a browser can already render, so publishing it is a copy. A tool that scaffolds an app produces a project: source files, a package.json, a dependency list and a build configuration, which no browser can render until a build has turned them into files.

The confusion comes from both being described as "the AI built me a website". They are not the same object. If you look at what you downloaded and see package.json, src/ or node_modules, you have a project, and the missing step is running its build on your machine. The framework deploy guides name the exact command and output folder for 23 frameworks, and the export guide walks through it in three steps.

There is one case in between, and it is the one worth knowing. A single React file, a lone .jsx or .tsx component, is not a project and does not need a build. Uploaded here it is transformed in the visitor browser, with React and a Tailwind runtime served from our own edge, and it runs at a real URL. That covers most of what a chat assistant hands back. It does not cover a project that merely happens to contain one component.

Which of those two you are holding depends almost entirely on which tool you used, so the grid below is the useful next click. Each page states what that tool actually produces, the steps to get the code out of it using its own menu labels, and the failures specific to its output, with the vendor documentation each claim was read from and the date it was read.

## How it works

1. **Work out what you have.** One file with everything inside it, or a folder with a package.json. The first is ready to publish; the second has to be built first, and the difference is the whole story.
2. **Upload the result.** Drop the single file, or the output folder from the build. Nothing is installed on our side and nothing you upload runs on our servers.
3. **Share a real address.** The page is live over HTTPS. Regenerate, re-upload, and the address stays the same, so a link you sent still shows the current version.

## What you get

### Single-file output runs with no build

The common case for anyone generating a page in a chat: one file, no dependencies to install, no bundler.

- A self-contained .html page publishes as it is.
- A single .jsx or .tsx is transformed in the visitor browser at the published URL.
- React and the JSX runtime are served from our own edge, not from a public CDN.
- Any other package is not fetched on your visitors' behalf; the live page names what is missing rather than rendering blank.

### Project output publishes after one build

When the AI scaffolded a real project, the missing step is a build, and it happens on your machine rather than ours.

- Run the framework build, then upload the folder it produced.
- Guides for 23 frameworks, each naming the command and output folder.
- Upload it as a folder or a ZIP; see hosting a static site from a ZIP for the three ways a ZIP goes wrong.
- Server-rendered routes and API handlers do not run here, whatever the tool scaffolded.

### Generated code is checked after it goes live

AI-written code is where hard-coded keys turn up most often, because the model helpfully filled in the value it saw. Every publish is read and reported.

- API keys in inline scripts, a Supabase service role key, a token in a data attribute.
- A .env or .git that came along inside an exported folder.
- On every plan including free, and it never blocks the publish. See the security check.

### Built for the tenth regeneration

Generated pages are regenerated constantly. The address is fixed from the first publish so the iteration does not cost you a new link each time.

- Up to 15 publishes a day on the free plan.
- From Pro, going back to the version that worked is one click.
- The swap is atomic, so a visitor never sees a half-published page.

## What the free plan includes

Publishing generated output costs nothing. That matters here more than elsewhere, because most generated pages are thrown away.

- 1 live site on a real free plan, not a trial of a paid one, and no card to start.
- Up to 25 MB per upload and 25 MB of storage across the account.
- 5,000 visits and 5 GB of traffic a month.
- HTTPS with a real certificate, issued and renewed for you.
- Up to 15 publishes a day, so you can iterate without asking permission.
- The deploy-time security check, which reads what you published and warns about a stray .env file, a .git folder, a private key or an API key left in your JavaScript.
- A small Droply badge in the corner of the page. Removing it starts on Starter.
- Free sites are served noindex, so search engines do not list them. Search visibility starts on Starter.

## Compared with Static.app

Static.app has the deepest content in this category and is a serious product. The rows below are the ones its own pricing and documentation make checkable.

- **Loose .html file accepted.** Droply: Yes, dropped on its own. Static.app: No. Its Claude page states a loose .html file is not accepted and must be zipped.
- **React artifact without conversion.** Droply: A single .jsx or .tsx runs at the URL, transformed in the visitor browser. Static.app: No. Its Claude page says React-based artifacts need a self-contained HTML version instead.
- **Import from a URL.** Droply: Site import copies up to 40 pages and 600 assets from any site you point it at. Static.app: Import from URL takes claude.ai and claude.site links.
- **Free plan.** Droply: 1 site, 25 MB storage, no card, and a plan rather than a trial. Static.app: A 7-day trial with no credit card, then paid. 1 site and 50 MB during it.
- **Entry paid price.** Droply: $5 a month for Starter. Static.app: $5 a month, or $60 a year, for 2 sites and 500 MB.
- **Custom domain.** Droply: From Pro, $15 a month. Static.app: Included in the $5 entry tier.
- **Builds a project for you.** Droply: No. Build locally, upload the output. Static.app: No.
- **Security check on deploy.** Droply: Every publish, every plan, free included. Static.app: Not offered.

Static.app figures checked 8 September 2026 on its own pricing page (free tier: 1 site, 50 MB, a 7-day trial with no credit card; Starter $5 a month or $60 a year for 2 sites and 500 MB with a custom domain; Medium $10; Large $15) and on its Claude hosting page, which states that a loose .html file is not accepted and must be zipped, that React-based artifacts need an extra step because you have to ask Claude for a self-contained HTML version, that Import from URL takes claude.ai and claude.site links, and that the first 7 days are free with no credit card. Product plans can change.

## When Droply is the wrong choice

A lot of what AI tools generate is not a static site, and no host will make it one. Recognising that early is cheaper than discovering it after an upload.

- The generated app has a database, authentication or server actions. Those need a runtime; only the static half can be published here.
- You want the platform to run npm install and npm run build for you. That does not happen here: bring the build output.
- The project is multi-file and you cannot build it locally. Nothing here renders it as-is, and pretending otherwise would put a visually broken page at a real address.
- You need a database, a login system, or code that runs on the server. Droply serves files; it does not execute your application.
- You want a build to run on every push to a repository. Droply has no Git integration and no CI: you build locally and upload the result.
- You are running WordPress or another PHP application. A static export of it can be hosted here, but the application itself cannot.

## Frequently asked questions

### Can I host a website an AI generated?

Yes. A single self-contained HTML file, or a single .jsx or .tsx file, publishes with no build step. A full project needs its build run on your machine first, and then you upload the output folder.

### How do I know whether I have a file or a project?

Look at what you downloaded. One file with everything inside it is a file. A folder containing package.json, src or node_modules is a project, and it has to be built before a browser can render it.

### Does Droply generate the website for me?

This page is about publishing output you already have. There is a separate AI page builder that writes, previews and publishes a page from a description, if what you want is the generating step.

### What if the generated project uses a framework?

Run its build locally and upload the folder it produces. The deploy guides name the exact command and output folder for 23 frameworks, including the ones AI tools scaffold most often.

### Is there a page for the specific tool I used?

Yes, for eight of them: v0, bolt.new, Lovable, Replit, ChatGPT, Gemini, Cursor and Codex, plus Claude artifacts. Each one covers what that tool outputs, the steps to get the code out of it, and what breaks. The grid above links to all of them.

### Can I publish HTML from ChatGPT or Claude?

Yes. Save the HTML block as index.html and upload it. If the answer was a React component instead, save it as a .jsx file and upload that; it runs in the browser at the published address.

### What about packages the generated code imports?

React and the JSX runtime are provided. Other packages are not fetched from a public CDN on your visitors' behalf, because that would run third-party code and leak visitor IP addresses to it. The live page lists what is missing by name, and the fix is to build the project locally.

### Can the published site use a database or server actions?

No. What is published is static. If the page calls an API, that API has to already exist somewhere else and allow browser requests under its own CORS rules.

### Is generated code checked for leaked keys?

Yes, on every plan including free. AI-written code is a common place to find a hard-coded API key, and every publish is read after it goes live and reported in plain language.

### Can I keep regenerating and republishing?

Yes, up to 15 times a day on the free plan, always at the same address. From Pro you can also return to an earlier version when a regeneration makes things worse.

## Related

- [Publish a Claude Artifact](https://droply.host/publish-claude-artifact)
- [HTML to URL](https://droply.host/html-to-url)
- [Host a Static Site from ZIP](https://droply.host/host-static-site-from-zip)