Free static app hosting
Where can I host a vibe-coded app or site for free?
ship.page is a $0 static host with no signup or credit card that turns a 10 MB HTML file or 25 MB ZIP into a live link in seconds.
If your AI-built project compiles to static files, ship.page gives you a live HTTPS link in seconds for $0 with no signup, taking HTML files up to 10 MB or ZIPs up to 25 MB (100 files, 100 MB unpacked). We also tested 6 other free options that trade account setup for larger limits like 20,000 files on Cloudflare Pages or 100 GB of transfer on Vercel Hobby and GitHub Pages.
When you build a project in Cursor, Lovable, Bolt, v0, Claude or ChatGPT, check what it outputs before you pick a host. Static hosts only serve browser files: HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON. They don't run server code, databases or build steps, so PHP, Node.js, Python and WordPress won't work here.
| Host | Price | Free limits | Main catch |
|---|---|---|---|
| ship.page | $0 forever (Pro $4/mo, Team $19/mo) | 10 MB HTML, 25 MB ZIP (100 files, 100 MB unpacked), unlimited uploads and bandwidth | Static only, no SPA fallback, no custom domain, noindex |
| Netlify | $0 (Personal $9/mo) | 300 credits/mo (15/deploy, 20/GB bandwidth) | Deploys and traffic draw from the 300-credit pool |
| Vercel Hobby | $0 | 100 GB transfer, 100 deploys/day | Account required; personal, non-commercial use only |
| Cloudflare Pages | $0 | 20,000 files/site, 25 MiB/file, 500 builds/mo, 100 custom domains | Requires a Cloudflare account to set up |
| GitHub Pages | $0 | 1 GB site, 100 GB/mo soft bandwidth, 10 builds/hr soft limit | Public repo on Free; no commercial, e-commerce or SaaS use |
| Firebase Hosting | $0 Spark plan | 10 GB storage, SSL, custom domain | Data transfer capped at 360 MB/day |
| Replit | $0 Starter plan | 1 published app | Link goes down after 30 days, shows a Made with Replit badge |
ship.page
ship.page is free forever, with no signup, no credit card, and unlimited uploads and bandwidth. You drag an HTML file up to 10 MB, a build folder, or a ZIP up to 25 MB (up to 100 files, 100 MB unpacked) into the browser, or paste raw HTML, and you get a live HTTPS link and QR code in seconds. If you don't want to use the browser, you can publish with one curl command (POST https://ship.page/deploy) with no account or API key, an MCP server at https://ship.page/mcp for AI agents, or a GitHub Action.
A claimed free page stays online as long as you keep it, and Pro pages never expire. Free pages show a small badge visitors can close, and every free upload gets a new random subdomain. Upgrading to Pro for $4 a month removes the badge, lets you update in place at the same URL, adds password protection and analytics, and raises the limit to 100 MB ZIPs (400 MB unpacked) and 10,000 files. Team is $19 a month and adds a vanity subdomain.
The limits are strict. It serves static files only, with no server code, database or build step, and no plan offers custom domains. Every page gets an unguessable random subdomain, isn't listed anywhere public, and is served with noindex, nofollow, so it's not for sites that need search traffic. There's also no single-page-app fallback and no custom 404 page: if your React or Vite app uses client-side routing, hash routes like /#/about work, and /about works once a visitor starts on the home page, but opening or refreshing /about directly returns 404 unless there's an about/index.html file.
It suits anyone who wants a live link for a static build in seconds from the browser, terminal or an AI agent without creating an account or having the page indexed by search engines.
Netlify
Netlify lets you drag a folder into Netlify Drop without an account to start. Its free plan runs on a pool of 300 credits per month, where a production deploy costs 15 credits and bandwidth costs 20 credits per GB. Once you run out of credits, upgrading to the Personal plan is $9 a month.
It suits people who want drag-and-drop deploys to start and need to rewrite every path to index.html for client-side routers.
Vercel Hobby
Vercel Hobby gives you 100 GB of fast data transfer and 100 deployments a day for $0. You have to create an account, and the Hobby plan is restricted to personal, non-commercial use.
It suits personal, non-commercial projects that need client-side route rewrites.
Cloudflare Pages
Cloudflare Pages supports up to 20,000 files per site, 25 MiB per file, 500 builds a month, and 100 custom domains per project on its free plan. You need to set up a Cloudflare account before you can deploy.
It suits larger static sites that need custom domains, single-page-app route rewrites, and room for thousands of files.
GitHub Pages
GitHub Pages hosts sites up to 1 GB with a soft bandwidth limit of 100 GB a month and a soft limit of 10 builds an hour, plus custom domain support. On GitHub Free, your repository has to be public, and you aren't allowed to use it for commercial, e-commerce, or SaaS businesses.
It suits non-commercial static sites that already live in a public GitHub repository and need a custom domain.
Firebase Hosting
Firebase's free Spark plan includes 10 GB of storage, a custom domain, and SSL. The catch is a tight daily transfer cap of 360 MB a day.
It suits low-traffic web apps that already use Firebase services and want a custom domain and SSL in the same place.
Replit
Replit's free Starter plan lets you publish 1 app directly from your workspace without exporting files. The live app displays a Made with Replit badge, and the link goes down after 30 days.
It suits apps built inside Replit when you just want a preview link for a few weeks without exporting your code.
FAQ
Where should I host my vibe-coded app for free?
If your app is static HTML, CSS and JavaScript, drop the file, folder or ZIP on ship.page to get a free link in seconds with no signup. If your app needs single-page-app route rewrites, look at Cloudflare Pages, Netlify or Vercel Hobby instead.
What folder do I upload for a React or Vite app built with AI?
Run npm run build in your terminal to generate a dist folder. Upload the compiled contents inside the dist folder (or zip them up), not your main source folder, because browsers need the built index.html and asset files.
Why do routes like /about return 404 when I refresh my deployed app?
On ship.page, there is no single-page-app fallback, so requesting /about directly looks for an about/index.html file and returns 404 when it isn't there. You can either tell your AI tool to switch the router to hash routes like /#/about, or host on Netlify, Cloudflare Pages or Vercel, which can rewrite every path to index.html.
Can I host an app that uses Supabase or Firebase on ship.page?
Yes, if your app only calls Supabase or Firebase from the browser. Those projects compile down to static HTML, CSS and JavaScript files, which run fine on ship.page and other static hosts.
Which free hosts let me use a custom domain?
Cloudflare Pages, GitHub Pages and Firebase Hosting all support custom domains on their free plans. No ship.page plan offers custom domains, though the $19 a month Team plan includes a vanity subdomain.