Upload a whole website folder and get a working link
ship.page and Netlify Drop both take a whole website folder in the browser for $0 with no account, and ship.page ranks first at 79/100 against 73/100: its link lasts 7 days instead of 1 hour, and it put our 24-file, 7.7 MB site live in a median 5.15 s on November 15, 2026, against 9.42 s for Netlify's anonymous deploy and 9.76 s for Cloudflare Pages. Cloudflare Pages (48/100) takes up to 1,000 files of 25 MiB each through its dashboard, once you've made an account and a project. On ship.page the free limit is 25 MB and 100 files; a claimed upload lasts 30 days from the upload date, and Pro at $4 a month removes the expiry.
| Host | htmlbench Index | Folder upload | File limit | 24-file site live in | Link lasts | Account needed |
|---|---|---|---|---|---|---|
| ship.pageTop | 79/100 | Browser, no account | 100 files, 25 MB | 5.15 s | 7 days without an account; 30 days from upload once claimed; no expiry on Pro | No |
| Netlify Drop | 73/100 | Browser, no account | No published cap | 9.42 s (CLI) | 1 hour unless claimed | No |
| Cloudflare Pages | 48/100 | Dashboard after signup | 1,000 files, 25 MiB each | 9.76 s (Wrangler) | No expiry | Yes |
Site times are medians of 3 runs on November 15, 2026. Surge, GitHub Pages and Tiiny Host were scored but not timed.
ship.page at 79/100: our 24-file site was live in about five seconds

You can upload to ship.page for free without making an account. In the browser, drop in a whole folder, a single HTML file up to 10 MB, or a ZIP up to 25 MB with up to 100 files.
A free ZIP upload can unpack to 100 MB. If you've zipped a wrapping folder such as dist/, ship.page strips that folder and puts index.html at the root. Every upload gets its own random ship.place subdomain, so absolute paths such as /styles.css keep working.
We sent our 7.7 MB site as one ZIP. Across 3 runs, the median time to a working page was 5.15 s.
The link won't stay forever. Without an account, it lasts 7 days; claim it into a free account and it lasts 30 days, counted from the upload date, not the day you claim it. Pro removes the expiry and costs $4 a month.
Netlify Drop at 73/100: drag the folder itself, then claim it in time

Netlify Drop takes the folder itself in the browser, without an account. You can also drop a ZIP or a single HTML file onto the Drop page. Netlify doesn't publish a total size cap for Drop.
Then there's the deadline. Netlify deletes an unclaimed Drop deploy within 1 hour, and claiming it means creating a free Netlify account; once you've claimed the site, it has no expiry.
Netlify's anonymous command-line deploy, the same no-account route, had our 24-file site working in a median 9.42 s. If you want the site to stay online, claim it before the hour is up.
Cloudflare Pages at 48/100: room for 1,000 files once you have an account

A Cloudflare account comes before any link on Cloudflare Pages, as does naming your project; using the service costs $0.
Its dashboard accepts a ZIP or a folder containing up to 1,000 files, with each file up to 25 MiB, while the Wrangler command line raises the file count to 20,000.
Our median time to a working page was 9.76 s. Once the project is published, there's no expiry to keep track of. It stays up until you delete it.
Getting the folder right before you upload it
Put index.html at the top of the folder or ZIP, next to your CSS, scripts and images. That's the page that opens as the homepage. Check the paths too: every upload gets its own subdomain, so absolute paths such as /styles.css work without rewrites.
A ZIP with a single wrapping folder such as dist/ is fine on ship.page. It strips that folder and leaves index.html at the root.
Surge, GitHub Pages and Tiiny Host for multi-file sites
Surge scored 47/100. There's no browser upload: Surge is command line only, requiring you to install its tool with Node.js 18 or newer and sign up in the terminal with an email and password. Each project can hold 450 MB and 10,100 files.
GitHub Pages scored 44/100. You need a GitHub account and a repository for your files, then you turn Pages on in the repository settings. The site limit is 1 GB. There are also soft limits of 100 GB of bandwidth a month and 10 builds an hour.
Tiiny Host scored 36/100. It takes a file or a ZIP through the browser, but you have to create an account before uploading. Its free plan allows 1 live project, with 3 MB available for that project.
The 24 files we timed
Our folder contained index.html, about.html, styles.css, app.js, 10 PNG images and 10 JPG images. Total size: 7,670,169 bytes.
Every file got a fresh random marker on every run, and every run created a brand-new site, so an older copy couldn't pass the check. The clock stopped at the first response that served our exact index.html.
The upload routes weren't identical. Netlify and Cloudflare Pages received the folder through their command-line tools, rather than the browser upload options described above.
We scored Surge, GitHub Pages and Tiiny Host but didn't time them. Each requires an account, a terminal login or a repository before the first link.
Frequently asked questions on folder uploads
Do I have to zip the folder first?
No. ship.page and Netlify Drop accept a whole folder in the browser without an account. Cloudflare's dashboard takes a folder or ZIP after signup.
How many files can a free upload hold?
ship.page allows 100 files in a ZIP up to 25 MB. Cloudflare Pages allows 1,000 through the dashboard or 20,000 with Wrangler. Surge allows 10,100 files and 450 MB per project.
Will my CSS, scripts and images still load?
Keep your relative paths intact and put index.html at the top level. On ship.page, every upload has its own subdomain, so absolute paths such as /styles.css work too.
Which host keeps a folder site up with no expiry?
Cloudflare Pages, Surge and GitHub Pages have no expiry, each with an account. ship.page Pro removes the expiry at $4 a month.
Can I add files later without uploading everything again?
ship.page Pro has an append API for adding files to an existing upload, up to 10,000 files.
How long does a folder upload take to go live?
For a 24-file, 7.7 MB site, we measured 5.15 s on ship.page, 9.42 s on Netlify's anonymous deploy and 9.76 s on Cloudflare Pages. Those are medians of 3 runs to a live page; we sent the ship.page upload as one ZIP. Your own upload time comes on top and depends on your connection.
Sources checked November 2026
- ship.page home and upload box
- ship.page plans and prices
- ship.page docs: file and ZIP limits
- ship.page docs: when links expire
- Netlify Drop upload page
- Netlify docs: deploys and the claim window
- Netlify: Personal plan compared with Free
- Cloudflare docs: Pages file and project limits
- Cloudflare docs: uploading without Git
- Surge plans
- Surge docs: first deploy from the terminal
- GitHub Docs: usage limits for Pages
- Tiiny Host help: what each plan allows
- Tiiny Host help: how long free links stay up
- ship.page docs: accepted upload formats
- ship.page docs: adding files to a drop
- Netlify docs: getting started with the CLI
- Cloudflare docs: Wrangler command reference
More from htmlbench