# React hosting for an app you have already built

React hosting without a pipeline: run your build, drag the output folder in, and the app is live on its own HTTPS address in seconds. There is no repository to connect and no deploy configuration to write, because what you upload is what gets served.

## What is React hosting?

React hosting means hosting the static files your React build produced, not React itself. React is a library that runs in the browser, so once a bundler has turned your components into HTML, JavaScript and CSS, what is left is an ordinary folder of files that any static host can serve.

That is why the question "which host runs React" is slightly the wrong question. React does not run on a server unless you have deliberately chosen a setup that renders on one. A plain React app built with Vite or Create React App is finished at build time, and hosting it is the same job as hosting any other static site.

The practical consequence is that the folder matters more than the framework. Vite writes to dist, Create React App writes to build, and a Next.js static export writes to out. Upload the right one and the app works; upload the project folder and nothing does. The framework deploy guides carry the exact command and folder for each.

There is one shortcut worth knowing about. A single .jsx or .tsx file with no package imports does not need a build at all: drop the file and it is transformed in the visitor browser at the published address. That covers a component you want a colleague to look at, not a real application.

## How it works

1. **Build it where you already build it.** Run the build on your machine or in whatever CI you already have. Nothing about your toolchain has to change and nothing new gets installed.
2. **Drop the output folder.** Drag the folder your bundler produced, or a ZIP of it. Your JavaScript chunks, CSS, fonts and images keep the relative paths the build gave them.
3. **Ship the next version to the same URL.** Upload a new build when the app changes. The address does not move, so links you have already sent keep resolving to the current version.

## What you get

### Every React toolchain, with the folder named

The single most common way a React deploy fails is uploading the wrong directory, because the three popular toolchains disagree about what to call the right one. Each has its own guide here rather than one page of averages.

- Vite: the build writes to dist. See the Vite deploy guide.
- Create React App: the build writes to build, and absolute asset paths are the usual first failure. See the Create React App guide.
- Next.js: needs a static export before there is anything to upload, and it lands in out. See Next.js hosting.
- Gatsby: the build writes to public, which catches out anyone expecting dist.

### Client-side routes that do not 404

A React app with a router serves its own paths in the browser. A static host asked for /settings looks for a file at that path, does not find one, and answers 404 before your JavaScript has loaded. This is the single most reported problem with hosting a React build anywhere.

- Turn on the Single-page app switch in the site settings and unknown paths are served the root index.html instead, so the router takes over.
- It is free on every plan and applies without redeploying the site.
- It is off by default, because a multi-page site genuinely wants a real 404 for a path that does not exist.

### The keys your bundle is carrying, named

Anything in a React bundle is readable by anyone who opens the page, and environment variables prefixed for the client are compiled straight into it. Every publish is checked and the finding is written in plain language.

- A committed .env file, a .git directory, a private key, or an API key left in a JavaScript chunk.
- It runs after the site is live and never blocks the publish, so it cannot cost you a deploy.
- Included on the free plan. See how the security check works.

### Your own domain when the demo becomes the product

A subdomain is right for a review link and wrong for a launch. From Pro the same build is served from a domain you own, with no rebuild and no change to the files.

- Certificates are issued and renewed automatically, on the Droply address and on yours.
- Step-by-step DNS guides for the common registrars, with the exact records.
- Free sites are served noindex, so search engines will not list them. Indexing starts on Starter.

## What the free plan includes

Everything below is on the free plan, with no card and no trial to run out, which is enough to put a built React app at a real address today.

- 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 25 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 is the closest competitor here, because it is the only one that publishes a page per framework the way this cluster does. Neither product runs your build, so these are the rows that actually differ for somebody holding a React build folder.

- **Free plan.** Droply: 1 site, 25 MB storage, 5,000 visits a month, 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, or $60 a year. Static.app: $5 a month or $60 a year for Starter: 2 sites, 500 MB, custom domain included.
- **Loose .html file accepted.** Droply: Yes, dropped on its own with nothing around it. Static.app: No. Its own documentation states a loose .html file must be zipped first.
- **Single .jsx or .tsx without a build.** Droply: Yes. It is transformed in the visitor browser at the published address. Static.app: Not offered.
- **Single-page app fallback.** Droply: A switch in the site settings, free on every plan, applied with no redeploy. Static.app: Not documented as a per-site setting.
- **Security check on every publish.** Droply: Every plan, free included: leaked keys, a stray .env, a committed .git folder. 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 for upload and must be zipped first. Both products publish finished output rather than running your build, so the rows below compare what each one accepts and what it costs, not build speed. Product plans can change.

## When Droply is the wrong choice

A React app is not automatically a static site, and the difference is worth establishing before you upload anything. If your project needs a server at request time, no amount of configuration here will give it one, and finding that out now is cheaper than finding it out after three uploads.

- Your app has API routes, server actions, or a session that is established on the server. Only the client half can be published here.
- You are server-rendering for SEO or for a personalised first paint. A fully static export works; server rendering does not.
- You want the build to run on every push. There is no Git integration and no build step: you build, then you upload.
- 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

### How do I host a React app?

Run your build, then upload the folder it produced. With Vite that is dist, with Create React App it is build. Drag the folder or a ZIP of it in, pick a name, and the app is live on an HTTPS address in seconds.

### Is React hosting free here?

Yes. The free plan gives you 1 live site with 25 MB of storage, 5,000 visits and 5 GB of traffic a month, HTTPS included and no card. It is a plan in its own right, not a trial that expires.

### Do I upload the src folder or the build folder?

The build folder. The src folder holds JSX that no browser can run, so uploading it publishes a site with nothing to display. The deploy guides name the exact output folder for 23 toolchains.

### Why does my React app 404 on every page except the home page?

Because the routes exist only after JavaScript runs, and the host was asked for a file that is not there. Turn on the Single-page app switch in the site settings and unknown paths are served index.html instead. It is free on every plan.

### Can I host a React app without a build step?

Only for a single file. A lone .jsx or .tsx with no package imports is transformed in the visitor browser at the published address. A real application with dependencies has to be built first.

### Does Droply run npm install or npm run build for me?

No, and it will not. Running your dependencies on our servers is a different and much riskier product. You build locally or in the CI you already have, and upload the result.

### Can I host a Next.js app here?

Only as a static export. Next.js renders on a server by default, so it needs output: "export" before there is anything to publish, and the server features do not survive that. Next.js hosting covers what is lost.

### What happens to the URL when I upload a new build?

Nothing. Each upload becomes a new version and publishing points the same address at it, so every link you already shared keeps working. On Pro and above you can roll back to an earlier version in one click.

### Can I use my own domain for a React app?

Yes, from Pro at $15 a month. You point a domain you own at the site and it is served from your address with HTTPS handled for you.

### How big can a React bundle be?

Each plan sets an upload size and a total storage allowance. The free plan is 25 MB per upload and 25 MB overall, which is comfortable for a typical single-page app; the pricing page lists every tier.

## Related

- [Vue Hosting](https://droply.host/vue-hosting)
- [Next.js Hosting](https://droply.host/nextjs-hosting)
- [Host a Static Site from ZIP](https://droply.host/host-static-site-from-zip)