For creators
Put your vibe-coded browser game online with Netlify
So your AI helped you build a game and it runs on your laptop. Awesome. The next step is a real link you can send to friends, post on Reddit or drop into a jam. Netlify is one of the easiest ways to get there, and this walkthrough covers the whole thing in plain English, whether you have one index.html or a Vite, Phaser or Three.js project.
Affiliate link: the Netlify links on this page go through Vibe1Up, and we may earn a commission if you sign up, at no extra cost to you. Everything here comes from Netlify's own docs as of November 2, 2026, and their docs always win if anything changes. Sources are at the bottom.
First, which kind of game do you have?
- Plain files. An
index.html, maybe with some.js,.css, images and sounds next to it. This is what you get when you ask an AI for "one HTML file" or a small folder. Nothing to build, you can upload it as-is. - A build-tool project. You have a
package.jsonand runnpm run devto play it. Most Vite, Phaser and Three.js starters work like this. The browser can't run these source files directly, so something has to run the build first. Netlify can do that for you.
Before you upload anything, make sure the game's starting page is called index.html and sits at the top of the folder you upload (not tucked inside another folder).
The 2-minute way: drag and drop
- Create a free Netlify account (this is our partner link), then open Netlify Drop (app.netlify.com/drop).
- Drag your game folder onto the page and wait a few seconds. You get a live link that looks like
something-random.netlify.app. - Open that link on your phone too, so you see what players see.
- Log in first if you can. Netlify says Drop works without an account, but then it publishes your files exactly as they are. When you're logged in, you can even drop a project that still needs a build step and Netlify detects the framework and builds it for you. Dropping an already-built folder (like
dist) works too. - Updating a dropped game: rebuild it on your computer if needed, then drag the updated folder onto the drop zone at the bottom of your project's Deploys page. That publishes a new version at the same link.
The "set it and forget it" way: connect GitHub
If your game lives in a GitHub repo (or you're up for putting it there), this is the nicest setup. Once the repo is linked, Netlify runs your build and publishes the result every time you push. Fix a bug, push, and the live game updates on its own.
- Push your project to a GitHub repo.
- In Netlify, add a new project and pick that repo. It also works with GitLab, Bitbucket and Azure DevOps.
- Check the build settings Netlify fills in, then deploy.
Build settings for Vite (and most Phaser or Three.js starters)
- Build command:
npm run build - Publish directory:
dist
Netlify detects Vite and suggests exactly these, so usually you just confirm them. If your project isn't on Vite, look at the build script in package.json and at which folder it creates; that folder is your publish directory. For a plain-files game, leave the build command empty and set the publish directory to the folder that holds index.html.
Quick check before you push: run npm run build on your computer. If it fails there, it'll fail on Netlify too, and the error message is easier to read locally.
Give it a nicer name
- Every project gets a free address like
brave-curie-12345.netlify.app. Change the project's name in its settings and the address changes with it, somy-space-game.netlify.appis a few clicks away. - If you own a domain, you can point it (or a subdomain like
play.yourname.com) at the project from Domain management. The.netlify.appaddress keeps working either way.
Try changes safely with Deploy Previews
Once GitHub is connected, every pull request gets its own Deploy Preview: a separate link like deploy-preview-42--my-space-game.netlify.app with your change on it, while the real game stays untouched. It's perfect for "let the AI try a big refactor" moments. Play the preview, and only merge if it still feels right.
Common gotchas (and quick fixes)
- Blank page or missing images? Check your asset paths. A path like
C:/Users/me/game/hero.pngonly exists on your computer. Use paths relative to your files, likeassets/hero.png. If your game might also live in a subfolder somewhere else (itch.io embeds, for example), setbase: './'in your Vite config so the built files use relative paths. - Works locally, 404 online? Check capital letters. Your computer may treat
Hero.pngandhero.pngas the same file, but on the web they're two different addresses. Make the file names and the paths in your code match exactly. All lowercase is the easy rule. - Uploaded the wrong folder? For a build-tool project, publish the built folder (
dist), not the source folder. If you see your rawsrcfiles or a page that never loads, that's usually why. - Refreshing a page gives a 404? Only if your game uses real page URLs (like
/level/2) through a router. Most games are one page and don't need this. If yours does, add a file named_redirectsto the published folder with this line:/* /index.html 200. It sends every URL to your game, and real files still load normally. - Slow first load? Big assets hurt, especially on phones. Compress images (WebP is great), use compressed audio instead of WAV, and trim music loops. Players bail fast when a game takes ages to start.
Got your link? Get it played on Vibe1Up
Vibe1Up is a free showcase of AI-made browser games, and a game on its own .netlify.app link is exactly the kind we love to list. Head to the submit page to share your game and the prompt behind it.
And it stays playable: a daily link check makes sure every listed game still loads, so players never hit dead links. If a game goes offline, it gets archived instead of sitting there as a dead link, and archived games stay preserved.
Planning a bigger launch? Our CrazyGames Basic Launch checklist is a good next read.
Sources (Netlify docs, read Nov 2, 2026)
- Ways to deploy, drag and drop, Git: docs.netlify.com/deploy/create-deploys/
- Vite on Netlify: docs.netlify.com/build/frameworks/framework-setup-guides/vite/
- Deploy Previews: docs.netlify.com/deploy/deploy-types/deploy-previews/
- Domains and the Netlify subdomain: docs.netlify.com/manage/domains/domains-fundamentals/understand-domains/
- Single-page app rewrites: docs.netlify.com/manage/routing/redirects/rewrites-proxies/
Vibe1Up is an independent showcase of AI-made browser games. This guide is our own summary to help creators, not official Netlify documentation. Netlify links are affiliate links.
All Make a game guidesGet a Featured on Vibe1Up badgeShare your prompt