htmlbench Index
One score out of 100 for putting HTML online for free. Higher is better.
ship.page leads the htmlbench Index at 79/100, ahead of Netlify Drop at 73/100 and Cloudflare Pages at 48/100, with Surge (47/100), GitHub Pages (44/100) and Tiiny Host (36/100) behind. The two leaders are the only hosts we scored that publish with no account: a ship.page link lasts 7 days, or 30 days from the upload date once claimed with a free account, and Pro at $4 a month removes the expiry, while Netlify Drop deletes an unclaimed deploy within 1 hour. In our November 15, 2026 run, ship.page served a 1.5 MB page in a median 3.14 s, against 9.52 s for Cloudflare Pages and 10.11 s for Netlify's anonymous deploy. Surge, GitHub Pages and Tiiny Host were scored but not timed.
Six hosts, scored the same way
The three numbers people ask about most, from the November 15, 2026 run.
One score out of 100 for putting HTML online for free. Higher is better.
Median seconds until the link served the 1.5 MB page, through the proxy. Lower is better.
Median seconds until the link served the 7.7 MB site, through the proxy. Lower is better.
Median seconds until the link served the 1.5 MB page, straight from the test server. Lower is better.
Netlify Drop refused the fourth anonymous deploy of the day, so it has no direct runs.
Median seconds until the link served the 7.7 MB site, straight from the test server. Lower is better.
Netlify Drop refused the fourth anonymous deploy of the day, so it has no direct runs.
Largest upload the free plan accepts, on a log scale. Higher is better.
No published cap
6 hosts people use to put HTML online, scored the same way.
| # | Host | Account | Free link lifetime | ZIP | |||
|---|---|---|---|---|---|---|---|
| 1 | ship.page | 79 | 3.14 s3 runs | No account | 7 days without an account30 days once claimed into a free account, counted from the upload. No expiry on Pro. | 25 MB10 MB HTML, 25 MB ZIP | |
| 2 | Netlify Dropapp.netlify.com/drop | 73 | 10.11 s3 runs | No account | 1 hour to claimNo expiry once claimed into a free account | No capNo published cap | |
| 3 | Cloudflare Pagespages.cloudflare.com | 48 | 9.52 s3 runs | Account | No expiryWith a free account | 25 MiBPer file | |
| 4 | Surgesurge.sh | 47 | Not timed | Account in terminal | No expiryWith a free account | 450 MBPer site | |
| 5 | GitHub Pagespages.github.com | 44 | Not timed | Account and repo | No expiryWith a free account | 1 GBPer site | |
| 6 | Tiiny Hosttiiny.host | 36 | Not timed | Account | 3 monthsBetween logins | 3 MBPer project |
No host matches that search.
Counted from the moment you upload, with and without a free account.
The pick and the runner-up for the jobs people ask about most.
A 7-day link instead of 1 hour
Fastest median for a 1.5 MB page
25 MB ZIP free, no account
Browser upload, no app or account
No account and 7 days instead of 1 hour
10 MB free against Tiiny's 3 MB
The htmlbench Index scores each host out of 100 using our published rubric. We upload real files and check that the working link serves the exact page we sent. The score covers publishing without an account, how long the link stays up, browser uploads, free upload size and the cost of keeping the link available.
Publishing without signing up is worth 25 points, and the length of time a link lasts without an account is worth another 30. That puts 55 of the 100 points on what you can do before signing up. That's where most of the points are.
Uploading from a browser is worth 10 points. Free upload size accounts for 15, and the cost of keeping the link up accounts for the remaining 20. We checked vendor prices and limits in November 2026.
Here's how the hosts scored: ship.page earned 79, Netlify Drop 73, Cloudflare Pages 48, Surge 47, GitHub Pages 44 and Tiiny Host 36. Our how we test page has the published rubric and testing method.
We time publishing too, but speed doesn't add or subtract any points.
On November 15, 2026, we tested a 1.5 MB HTML page and a 7.7 MB site containing 24 files, using proxy exits in Frankfurt and reporting the median of 3 runs for each payload. The clock stopped when the link served our exact file, not just when the upload finished.
ship.page took 3.14 s for the page and 5.15 s for the site. Cloudflare Pages took 9.52 s and 9.76 s, respectively (project creation wasn't counted).
Netlify's anonymous deploy took 10.11 s for the page and 9.42 s for the site. One page run took 44.4 s. Those reported results are medians, not a promise that every upload will take the same time.
We scored Surge, GitHub Pages and Tiiny Host, but didn't time them. They need an account, a terminal login or a repository before the first link.
And the timing results stay separate from the Index: ship.page had the shortest median for both payloads in this run, but those seconds aren't part of its 79-point score.
Which page answers what you're trying to do? Each benchmark below looks at a particular publishing job. ship.page ranks first on all of them; second and third place change with the job.
The hosts in the Index
Same files, same clock and the same rules for every host we time.
At the first HTTP 200 that serves the exact bytes we uploaded. Timed: ship.page, Netlify Drop and Cloudflare Pages.
5 criteria, 100 points, the same for every host.
Dated November 15, 2026, with all 43 runs in one CSV.
A 1.5 MB HTML page and a 7.7 MB site, 24 files, with a fresh marker in every file on every run.
The clock stops at the first HTTP 200 that serves the exact bytes we uploaded, checked every 200 ms. We publish the median.
Upload caps, signup rules and link lifetime come from each host's own docs and pricing, checked in November 2026.
Every number carries its test date, and all 43 timed uploads are one CSV away.
Every host, payload and round from the test in one file. Rebuild any chart on this page yourself.
Answer two questions about what you're putting online. Get the hosts that fit, best first.