MOTION/LAB

publish

Put it online for free.

Three hosts with a free plan, plain steps for each, and how to point your own domain at it.

from the hosts' official docs · checked 2026-10-25 · plans and limits change

your site folderindex.html + files upload free hostyour-site.pages.dev point your domainwww.yourbusiness.com

What to upload: the folder that holds index.html. If your AI tool built a project that needs a build step (Astro, Next.js, React), upload its build output folder (often named dist, build or out), not the whole project. If you are not sure, paste this into your AI tool: "Give me the finished static site as one folder I can upload, and tell me which folder it is."

Cloudflare Pages

Easiest for a finished folder

Drag a folder (or a ZIP) into the dashboard. Free, no command line.

  1. In the Cloudflare dashboard, open Workers & Pages.
  2. Select Create application > Get started > Drag and drop your files.
  3. Type a project name.
  4. Drag your site folder (or a ZIP file) into the upload frame.
  5. Select Deploy site. When the upload finishes, select Save and Deploy.
  6. Your site is live at your-project-name.pages.dev.
  7. To update it later, open the project and select Create a new deployment.

official source: Direct Upload · Limits · Custom domains

Netlify

Quickest first try

Netlify Drop publishes a folder instantly, even without an account.

  1. If your site is a ZIP, unzip it first so the files sit in one folder.
  2. Open app.netlify.com/drop.
  3. Drag the folder with your finished site (the one that holds index.html) into the drop zone.
  4. The site goes live at a unique Netlify address.
  5. To update it later, drag the new folder onto the Deploys page of your site.

official source: Create deploys (Drag and drop) · Free plan · Get started with domains

Vercel

Needs a Git repository

Best if your site is already in GitHub, GitLab or Bitbucket.

  1. Put your site in a Git repository on GitHub, GitLab or Bitbucket.
  2. Sign in to the Vercel dashboard and click New Project.
  3. Choose your repository.
  4. On the configure page, set the project name, framework preset and output settings.
  5. Click Deploy.
  6. Every push to the main branch publishes a new production version.

official source: Deploying from Git · Hobby plan · Add a domain

Connect your own domain

The host gives you a free address. A domain you own (bought from a registrar) can point to it. Each host's exact steps:

Cloudflare Pages

  1. Open your project, then Custom domains > Set up a domain, and enter the domain.
  2. A subdomain such as www.example.com: add a CNAME record at your DNS provider that points to your-project.pages.dev. Add the domain in the dashboard first, or it will show a 522 error.
  3. The bare domain (example.com): Cloudflare asks you to add the domain as a zone and point your nameservers to Cloudflare, then creates the record for you.

Netlify

  1. Open your project, then Domain management in the left sidebar, then Add a domain you already own.
  2. Enter the domain and choose Netlify DNS (recommended), or an external DNS provider.
  3. External DNS, bare domain: an ALIAS record to apex-loadbalancer.netlify.com, or an A record to 75.2.60.5.
  4. External DNS, www or a subdomain: a CNAME record to your-site-name.netlify.app.
  5. DNS changes can take up to 48 hours to spread.

Vercel

  1. Open your project > Settings > Domains > Add Domain.
  2. Bare domain: add the A record Vercel shows in your project's Domains settings.
  3. Subdomain: add the CNAME record Vercel shows for your project.
  4. Wait until the Domains page shows the domain as configured.

Stuck on a step? Fix it prompts include one for deploy errors. Or we can publish it for you.