Where to host a vibe-coded app or site for free
Drag an HTML file up to 10 MB, a ZIP up to 25 MB or your build folder into ship.page for a free live link in seconds, no signup. Links stay online for 30 days, or 90 days if you claim them with a free account. Below is how to tell if your AI-built project is static or needs a server, plus 7 free hosts compared.
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.
- Free link lifetime with no account needed
- 30 days
- Free link lifetime when claimed with a free account
- 90 days
- Max ZIP upload on the free plan (100 MB unpacked)
- 25 MB
- Pro plan for permanent links and in-place updates
- $4/mo
How to put a vibe-coded app online in seconds
Check if your app is static
Apps made of HTML, CSS, and JavaScript that run in the browser are static. Apps that only call hosted services from the browser, like Supabase or Firebase, are also static files and run on any static host.
Build your project if it uses Vite
If you built a single HTML file with Claude or ChatGPT, it is ready to upload as index.html. Vite-based projects build with npm run build into a dist folder; upload what is inside dist, not the source folder.
Drop the folder, ZIP, or HTML file on ship.page
Drag your dist folder, a .zip file up to 25 MB, or an .html file up to 10 MB into the browser uploader. Folder uploads go up as one request of at most 10 MB (roughly 7 MB of files), so zip larger folders first.
Share your live HTTPS link or QR code
Your app is live in seconds on its own subdomain with a downloadable PNG QR code. Leave it as is for 30 days, or sign in with Google or an email link to keep it online for 90 days.
Your options
ship.page
- Best for
- Getting a live HTTPS link and QR code in seconds by dropping a build folder, ZIP, or HTML file in the browser.
- Free
- 30 days with no signup or 90 days with a free account, up to a 25 MB ZIP (100 files) or 10 MB HTML file.
- Catch
- Static files only, no custom domains, and no single-page-app fallback, so direct links to client-side routes need hash routes.
Netlify
- Best for
- Dragging a folder into Netlify Drop with no account to start, or rewriting every path to index.html for client-side routers.
- Free
- 300 credits per month, where a production deploy costs 15 credits and bandwidth costs 20 credits per GB.
- Catch
- Deploys and traffic draw from the 300-credit pool, and upgrading to the Personal plan costs $9 a month.
Vercel Hobby
- Best for
- Personal projects that need client-side route rewrites.
- Free
- 100 GB of fast data transfer and 100 deployments a day.
- Catch
- Personal, non-commercial use only, and it requires an account.
Cloudflare Pages
- Best for
- Static sites that need custom domains, single-page-app route rewrites, and room for thousands of files.
- Free
- Up to 20,000 files per site, 25 MiB per file, 500 builds a month, and 100 custom domains per project.
- Catch
- Requires a Cloudflare account to set up and deploy.
GitHub Pages
- Best for
- Static sites already in a public GitHub repository that need a custom domain.
- Free
- Published sites up to 1 GB with a soft bandwidth limit of 100 GB a month and a soft limit of 10 builds an hour.
- Catch
- Requires a GitHub account and public repository on GitHub Free, and is not allowed for commercial, e-commerce, or SaaS businesses.
Firebase Hosting
- Best for
- Web apps already using Firebase services that want a custom domain and SSL in the same place.
- Free
- Spark plan includes 10 GB of storage, custom domain, and SSL.
- Catch
- Data transfer is capped at 360 MB a day on the free Spark plan.
Replit
- Best for
- Apps built inside Replit that want a quick preview link without exporting files.
- Free
- Replit Starter lets you publish 1 app for free.
- Catch
- The link goes down after 30 days, and the live app shows a Made with Replit badge.
Free hosting options for vibe-coded apps and websites
| Host | Free plan | Account | Catch |
|---|---|---|---|
| ship.page | 30 days (90 days with an account), 25 MB ZIP, 100 files | No | Static only, no SPA fallback, no custom domain |
| Netlify | 300 credits (15/deploy, 20/GB bandwidth) | No to start | Credit limit; Personal plan is $9/mo |
| Vercel Hobby | 100 GB transfer, 100 deploys/day | Yes | Personal, non-commercial use only |
| Cloudflare Pages | 20,000 files, 25 MiB/file, 500 builds/mo | Yes | Requires account setup |
| GitHub Pages | 1 GB site, 100 GB/mo soft bandwidth limit | Yes | Public repo on Free; no commercial or SaaS use |
| Firebase Hosting | 10 GB storage, SSL, custom domain | Yes | 360 MB a day data transfer limit |
| Replit | 1 published app on Starter plan | Yes | Link goes down after 30 days, Replit badge |
Does your vibe-coded app need a server or a static host?
Before picking a host, check what your AI coding tool generated. Static hosts run browser files, meaning HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly, and JSON.
Apps with their own server code, database, or API routes need a host that runs code. Static hosts like ship.page do not run PHP, Node.js, Python, databases, or WordPress. If your project is a Vite build, check our Vite build guide to upload the output inside your dist folder rather than the source folder.
How do client-side routes work on static hosts?
Many React and Vite apps built with Cursor or Claude use client-side routing for paths like /about. On ship.page, hash routes like /#/about always work, and a normal route like /about works after the visitor starts on the home page. However, opening or refreshing /about directly returns 404 because there is no single-page-app fallback and no custom 404 page.
If you cannot switch your router to hash routes and need direct links to /about to work without creating an about/index.html file, pick a host that supports route rewrites. Netlify, Cloudflare Pages, and Vercel can rewrite every path to index.html.
When should you use ship.page or another free host?
Use ship.page when you want to turn a ZIP into a website or drop a folder in the browser and get a link in seconds without creating an account. Every page is served with a noindex header so search engines leave it out, and uploads are not listed anywhere public. If you want to keep the same URL when you re-upload, add password protection, or upload ZIPs up to 100 MB, Pro is $4 a month, and Team is $19 a month with a vanity subdomain.
Pick GitHub Pages, Cloudflare Pages, or Firebase Hosting when you need a custom domain, since no ship.page plan offers custom domains. If you prefer to deploy from your terminal or editor instead of dragging files, ship.page also supports one curl command (POST https://ship.page/deploy), an MCP server at https://ship.page/mcp, and a GitHub Action.
Tip: If your build folder is over roughly 7 MB of files, compress it first and use our ZIP upload tool, which accepts up to 25 MB on the free plan.
Questions
Where should I host my vibe-coded app for free?
If your app is static HTML, CSS, and JavaScript, you can drop the file, folder, or ZIP on ship.page for a free link in seconds with no signup. For single-page-app route rewrites, Cloudflare Pages, Netlify, and Vercel Hobby are free alternatives.
What folder do I upload for a React or Vite app built with AI?
Run npm run build in your project terminal to create a dist folder. Upload the contents inside the dist folder (or zip it up), not your main source folder, because browsers need the compiled 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 opening or refreshing /about directly looks for an about/index.html file and returns 404 if it is missing. You can either ask 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, as long as your app only calls Supabase or Firebase from the browser. Those projects compile down to static HTML, CSS, and JavaScript files, which work on ship.page and any other static host.
Can I use free hosting for a commercial vibe-coded project?
It depends on the host. Vercel Hobby is restricted to personal, non-commercial use only, and GitHub Pages is not allowed as free hosting for a commercial, e-commerce, or SaaS business.
Keep reading
- Host a Vite build folder
- Make and publish a website with AI
- ship.page vs Netlify Drop
- ship.page vs Vercel
- ship.page vs Cloudflare Pages
Put your vibe-coded app online now
Drop your HTML file, ZIP, or dist folder to get a live HTTPS link and QR code in seconds with no signup.