Skip to content
Host vibe-coded apps free, no signup

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.

Ready to ship

A file. A folder. A fresh start.

Your static site, one link away.

No account needed

Shipping…

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

HostFree planAccountCatch
ship.page30 days (90 days with an account), 25 MB ZIP, 100 filesNoStatic only, no SPA fallback, no custom domain
Netlify300 credits (15/deploy, 20/GB bandwidth)No to startCredit limit; Personal plan is $9/mo
Vercel Hobby100 GB transfer, 100 deploys/dayYesPersonal, non-commercial use only
Cloudflare Pages20,000 files, 25 MiB/file, 500 builds/moYesRequires account setup
GitHub Pages1 GB site, 100 GB/mo soft bandwidth limitYesPublic repo on Free; no commercial or SaaS use
Firebase Hosting10 GB storage, SSL, custom domainYes360 MB a day data transfer limit
Replit1 published app on Starter planYesLink 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

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.