Free static hosting for HTML, CSS and JavaScript
You can publish an HTML file, a ZIP or a website folder for free with no signup and no credit card on ship.page, and get a live HTTPS link in seconds. The free forever plan accepts single HTML files up to 10 MB, ZIPs up to 25 MB (100 MB unpacked) and up to 100 files per upload with unlimited uploads and no bandwidth limits. GitHub Pages, Cloudflare Pages and Netlify are better when you need Git deploys or a custom domain.
A file. A folder. A fresh start.
Your static site, one link away.
Uploading publishes your file. The link is public but unlisted, not password-protected, so leave out secrets and confidential content.
- Publish anonymously in your browser with no credit card
- 0 accounts
- Up to 100 MB unpacked or a 10 MB single HTML file
- 25 MB ZIP
- Included per upload on the free plan, 10,000 on Pro
- 100 files
- No bandwidth limits and unlimited uploads on every plan
- Unmetered
How to host HTML, CSS and JavaScript for free
Put index.html at the root of your folder
Name your homepage index.html so it loads automatically. Keep your CSS, JavaScript, images, fonts, JSON and WebAssembly files in the same folder or in subfolders with matching case-sensitive paths.
Drop your folder, ZIP or HTML file on ship.page
Drag your website folder, a .zip archive or a single .html file into the uploader, or paste raw HTML directly. A folder upload goes up as one request of at most 10 MB with the files encoded inside it (roughly 7 MB of files), so compress bigger folders into a ZIP up to 25 MB first.
Share your live HTTPS link or QR code
Your site is live in seconds on its own subdomain over HTTPS, and the success screen gives you a QR code with a PNG download. You can publish without an account, or claim the page with a free account (no card) to manage it from a dashboard.
Your options
ship.page
- Best for
- Instant links for an HTML file, ZIP or folder when you want zero setup and no account.
- Free
- Free forever with unlimited uploads, no bandwidth limits, 10 MB single HTML files, 25 MB ZIPs (100 MB unpacked) and 100 files per upload.
- Catch
- Static files only, no custom domains, and updating a page in place at the same URL requires the $4 a month Pro plan.
GitHub Pages
- Best for
- Open-source documentation and personal sites already kept in a public GitHub repository.
- Free
- Free for public repositories on GitHub Free at owner.github.io with sites up to 1 GB, custom domains and a 100 GB monthly soft bandwidth limit.
- Catch
- Requires a GitHub account and public repo, has a soft limit of 10 builds an hour, and is not allowed as free hosting for a commercial, e-commerce or SaaS business.
Cloudflare Pages
- Best for
- Larger static projects that need a custom domain, up to 20,000 files and unmetered bandwidth.
- Free
- 500 builds a month, 20,000 files per site (1,000 via dashboard drag-and-drop), 25 MiB per file, 100 custom domains per project and no bandwidth quota at name.pages.dev.
- Catch
- Requires a Cloudflare account, and Cloudflare's docs now suggest starting new projects on Workers.
Netlify
- Best for
- Teams testing free deploy previews before upgrading to a paid plan.
- Free
- 300 credits a month at name.netlify.app where deploy previews are free, a production deploy costs 15 credits and bandwidth costs 20 credits per GB.
- Catch
- The 300-credit monthly cap is a hard limit with no top-ups, and when credits run out every project is paused and shows Site not available.
Free static hosting limits compared
| Host | Account | File and size limits | Bandwidth |
|---|---|---|---|
| ship.page | None required | 10 MB HTML, 25 MB ZIP (100 MB unpacked), 100 files | No bandwidth limits |
| GitHub Pages | GitHub account + public repo | Published site up to 1 GB, 10 builds/hr soft limit | 100 GB/month soft limit |
| Cloudflare Pages | Cloudflare account | 25 MiB/file, 20,000 files (1,000 via dashboard drop) | No bandwidth quota |
| Netlify | Netlify account | 300 credits/month total (15 credits per prod deploy) | 20 credits per GB (hard cap) |
Which free static host fits your project
Pick ship.page when you have a folder of HTML, CSS and JavaScript on your computer and want a live link right now without creating an account. You can deploy up to 10 times a minute on the free plan, or use one curl command (POST https://ship.page/deploy), the MCP server at https://ship.page/mcp, or the GitHub Action.
Pick Cloudflare Pages or GitHub Pages when you need to connect a custom domain that you bought from a registrar. Cloudflare Pages supports up to 100 custom domains per project and 20,000 files using the wrangler command line (or 1,000 files via dashboard Direct Upload) with no bandwidth quota. GitHub Pages is convenient if your code is already in a public repository and your project is not a commercial, e-commerce or SaaS business.
Watch the credit math if you consider Netlify for a public site. Netlify gives free accounts 300 credits a month with a hard limit: each production deploy takes 15 credits and every gigabyte of bandwidth takes 20 credits, and when the credits run out every project is paused and displays Site not available until the next month or until you upgrade to Personal ($9 a month for 1,000 credits) or Pro ($20 a month for 3,000 credits).
What works in a static HTML, CSS and JavaScript upload
A static host serves files straight to the browser without running back-end code like PHP, Node.js, Python, Ruby, databases or WordPress. If your site needs a contact form, connect the HTML form tag to a third-party form service. For more ways to publish without banners, see our guide to free web hosting with no ads.
- Accepted uploads: .html files, .zip archives, folders and pasted HTML (a lone PDF, image or video is not accepted unless placed in a folder or ZIP with an index.html).
- Supported assets: HTML, CSS, JavaScript, images, fonts, audio, video, JSON and WebAssembly.
- Automatic unwrapping: if your ZIP has a single top-level folder, ship.page unwraps it so index.html sits at the root.
- Page URLs: a file named about.html opens at /about.html, while /about/ works when you save the file as about/index.html.
- Client-side routing: there is no single-page-app fallback and no custom 404 page, so React, Vue or Svelte apps should use hash routes like #/about.
- Uncompressed builds: files are served as they are with no Content-Encoding header, so turn off pre-compressed .br or .gz output in your bundler or include a JavaScript decompressor.
Tip: File paths are case-sensitive on live servers even if your laptop ignores case. Check that Hero.png in your folder is not written as hero.png in your HTML.
Updating pages, privacy and Pro limits
Every uploaded page on ship.page is sent with a noindex header so search engines leave it out, and uploads are never listed anywhere public. Anyone who has the link can open it. Free pages show a small Hosted on ship.page badge that visitors can close, and uploading a new version on the free plan creates a new link.
If you need pages that stay online as long as you subscribe and in-place updates, Pro is $4 a month (billed monthly, cancel anytime, no yearly plan). Pro lets you re-upload or edit a page while keeping the same link, removes the badge, adds password protection, and lets you pick any custom expiry from 60 seconds upward. It also raises limits to 100 MB ZIPs (400 MB unpacked), 10,000 files per upload and 120 deploys a minute, plus up to 5 custom subdomains like yourname.ship.place that you can point at any of your pages. You can compare more options in best free static hosting and free website hosting.
Questions
Can I host HTML, CSS and JavaScript for free without an account?
Yes. On ship.page you can drag and drop an HTML file, a ZIP or a folder of HTML, CSS and JavaScript in your browser with no signup and no credit card. Your page goes live in seconds on its own HTTPS subdomain.
What are the file size limits on ship.page?
The free plan takes a single HTML file up to 10 MB, a ZIP archive up to 25 MB (100 MB unpacked) and up to 100 files per upload. Folder uploads in the browser go up in one request of at most 10 MB (roughly 7 MB of files), so larger folders should be zipped first. Pro ($4 a month) raises ZIP limits to 100 MB (400 MB unpacked) and 10,000 files per upload, while the 10 MB single-file limit stays the same.
Why did my Netlify free site stop working and show Site not available?
Netlify's free plan includes a hard limit of 300 credits a month with no top-ups. Each production deploy uses 15 credits and each gigabyte of bandwidth uses 20 credits, and when the 300 credits run out Netlify pauses every project on the account.
Can I use a custom domain on free static hosting?
ship.page does not offer custom domains on any plan, though the $4 a month Pro plan includes up to 5 custom subdomains like yourname.ship.place. If you need your own root domain for free, use Cloudflare Pages (up to 100 custom domains per project) or GitHub Pages.
How do I update my site without changing the URL?
On the ship.page free plan, pages cannot be updated in place, so a new upload gets a new link. With the $4 a month Pro plan, you can re-upload or edit a page and keep the exact same link, or repoint one of your yourname.ship.place subdomains to a different page anytime.
Does ship.page run PHP, Node.js or WordPress?
No. ship.page hosts static files only: HTML, CSS, JavaScript, images, fonts, audio, video, JSON and WebAssembly. Server code and databases are not supported, and HTML forms require a third-party form service.
Keep reading
Drop your HTML, CSS and JS folder
Publish your static site for free in seconds with no account and no credit card.