ZIP STATIC HOSTING
Host a static site from a ZIP file
To host a static site from a ZIP, zip the built output of your site and drop the archive here and it is extracted and live at an HTTPS address in seconds. Most ZIP uploads that fail do so for one of three reasons, and all three are listed further down this page.
Free plan, free SSL, no credit card.
- 3
- mistakes cause almost every failed ZIP upload
- 23
- framework guides naming the exact output folder
- 25 MB
- per upload on the free plan
- 25 MB
- free storage across the account
How it works
Three steps, start to live link
-
Zip the built output
Select the CONTENTS of your build folder, index.html and everything beside it, and compress those. Do not zip the project folder that contains src and node_modules.
-
Drop the archive
The ZIP is extracted with its folder structure intact, so every relative path to a stylesheet, script, image or font resolves as it did locally.
-
Share the address
The extracted site is live over HTTPS. Upload a new archive whenever the build changes and the address stays exactly where it was.
The plain answer
What should be inside the ZIP?
The finished output of your site and nothing else: an <code>index.html</code> at the top level, plus every CSS, JavaScript, image and font file it references, in the folders it expects them in. If you unzip your archive and immediately see index.html, it is shaped correctly.
The distinction that causes the most trouble is source versus output. A project folder contains src, package.json, a config file and often node_modules. None of that is a website; it is the recipe. The website is what appears in dist, build, out, _site or public after you run the build command. Zip the contents of that folder. The deploy guides name the command and the output folder for 23 frameworks so you do not have to guess which one your tool uses.
The second distinction is what you selected before compressing. Right-clicking a folder and choosing "compress" produces an archive with that folder inside it, so the site ends up one level deep. Droply unwraps a single wrapping folder automatically, but an archive with several folders and no index.html at any obvious root cannot be guessed at, and the published site will tell you that rather than serving a file listing.
Who it is for
The people who reach for this
-
Developers
The output of a local build, online without adding a deploy step to a project that does not need one.
-
Designers
An export from a site builder or a design tool, which almost always arrives as a ZIP already.
-
Freelancers
A finished build handed over by a subcontractor, published without asking them how their pipeline works.
-
Anyone sent a ZIP
You received an archive and were told it is a website. This page is how you check that and put it online.
In detail
What you actually get
The three things that go wrong, and what to do
Almost every failed ZIP upload in this category is one of these. None of them is a hosting problem, which is why a host that only says "upload failed" is not much help.
- No index.html at the root. The archive has files but no entry page, so there is nothing for the address to open. Rename your main page to index.html.
- The source project instead of the build. If node_modules or src is in there, you zipped the recipe. Run the build and zip its output folder.
- An extra wrapping folder. Compressing a folder puts it inside the archive; select its contents instead. A single wrapper is unwrapped for you, but two levels are not.
Structure is preserved exactly
Extraction keeps your folder layout, so the site behaves the same way it does when you open it locally. Nothing is rewritten, minified or reorganised.
- Relative paths such as ./assets/app.css and ../images/logo.svg resolve as written.
- Nested routes work: /about/index.html is served at /about.
- Absolute paths that begin with a drive letter or file:// point at your machine and will not resolve for a visitor.
The archive is checked, not just extracted
A ZIP is the easiest way to publish something you did not mean to, because you never look at all of it. Extraction is sandboxed and the result is read before you find out from someone else.
- Warns about a .env, a .git directory, a private key or an API key in a bundled script.
- Executables and installers are refused rather than served.
- Runs on every plan including free. See how the check works.
Rebuild, re-zip, republish
The address is tied to the site, not to the archive, so the second upload lands where the first one did.
- Up to 15 publishes a day on the free plan.
- Each archive becomes its own version; from Pro you can return to any of them.
- The switch is atomic, so a visitor never sees a half-extracted site.
No card required
What the free plan includes
A ZIP upload costs nothing on the free plan, and the plan does not expire or need a card.
- 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.
- ZIP extraction is sandboxed, and executables and installers are refused rather than served.
Droply vs Netlify Drop
How this compares with the other drag-and-drop deploys
Netlify Drop is the closest thing to this workflow at a large host, and it is a genuinely good on-ramp to Netlify. The rows below are where the two differ for someone who just wants the ZIP online.
| Droply | Netlify Drop | |
|---|---|---|
| Anonymous drop | Not offered. Publishing requires an account, so every hosted file has an owner. | Yes, and the URL is protected with a temporary password until you claim it. |
| Is the link yours straight away? | Yes. Publishing needs an account, so there is nothing to claim afterwards. | No. An anonymous drop creates a temporary project you have one hour to claim. |
| Single HTML file | Accepted on its own. | The quickstart documents a project folder, a zip or a pre-built output folder; a loose HTML file is not listed. |
| Size guidance | 25 MB per upload on free; substantially higher on paid tiers. | Deploys under 50 MB work best, and individual files over 10 MB may cause the deploy to get stuck. Larger projects are told to use the CLI. |
| Builds your project for you | No. You build locally and upload the output. | Yes, it can build a dropped project. |
| Redeploy to the same address | Yes, up to 15 times a day on free. | Yes. Dragging an updated folder publishes it as the latest production version of the same project. |
| PDF and document hosting | First class, with in-browser viewers and 96 accepted file types. | Not a product feature. |
| Security check on deploy | Every publish, every plan. | Not part of Drop. |
Netlify Drop details come from Netlify's own documentation, checked 8 September 2026: the Netlify Drop quickstart (drag-and-drop shapes, the temporary password on an unsigned-in drop, the 50 MB and 10 MB size guidance, redeploying to the same project), the create-deploys page (\"a temporary project with a live URL that you can claim within one hour\"), the password-protection page and the manage-deploys page. Product features can change.
When Droply is the wrong choice
A ZIP upload is a publishing step, not a build system. If you want the host to do more than extract and serve, you want a different host.
- You want the platform to run npm install and npm run build for you. That does not happen here: bring the built output.
- Your archive is a source project you cannot build locally. Nothing here will turn it into a site, and the deploy guides are the fastest way to get it built.
- 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.