How to publish a game you made with ChatGPT so friends can play it
Quick answer
Put the game's HTML file on a free host and send your friends the link; they play in the browser with no account. itch.io, GitHub Pages, Netlify Drop, CodePen, and Convika all take a one-file game. On Convika Free, keys, touch, saved high scores, and sound worked in a 3-browser test; other-site calls didn't.
Free plan: no credit card, 1 published page.
On this page
You asked ChatGPT for a game where you dodge falling blocks, and it made one you can actually play. Now you want your friends to try it, but it only runs inside your ChatGPT window. What the game needs is a place on the web. If it's one HTML file, a free host turns it into a link, and you send that link in Discord, WhatsApp, or a text. This guide compares 5 free hosts that take a one-file game, then walks through publishing it on Convika and what does and doesn't work on the published page, from a test in 3 browsers. Quizzes and calculators publish the same way. For a quiz you'll hand to a class, How to make an AI quiz game for class covers the prompt and getting the link to students.
The upload box at the top of this page works without an account and gives you a preview link for 3 minutes. That preview runs no scripts, so the game doesn't start: in the test, the title and the Start button showed and the game area stayed empty. Click Keep this page — free, no card and sign up, and the page moves into your account, where the game runs. To play it before anyone else sees it, follow the steps below: sign up, then upload the file in the dashboard.
Why the game runs in ChatGPT but not for your friends
The preview you play in ChatGPT runs inside ChatGPT. OpenAI's help article on writing blocks and code blocks describes it this way: a supported code block shows its result in ChatGPT when you select the preview, and previews run in a sandbox.
To run on a friend's screen, the code has to leave ChatGPT and sit somewhere anyone can open. The 2 shortcuts people try first both fail:
- Sending ChatGPT's download link. That link saves the file to your own device, and OpenAI's troubleshooting article says files ChatGPT generates expire after a short time.
- Sending the HTML file in a chat. Your friend gets a file, not a game page. On an iPhone, the Files app's preview didn't run the file's JavaScript in a test in Apple's iPhone simulator on October 6, 2026. How to share an HTML file as a link has the details.
Which links your friends can open without signing in
Each AI has its own way to share or publish what it made, and each one asks something different of the friend who opens the link. Hosts that hand you a link without an account put a password or a deadline on it. Here is what each vendor's help and docs say, read on October 21, 2026.
| What you send | What your friend gets | Source |
|---|---|---|
| A Claude share link | A Claude sign-in. Without a Claude account, the link doesn't open. The one exception is an older artifact published from a chat | Anthropic's help |
| A Gemini Canvas share link | It opens on gemini.google.com, not in the Gemini mobile app. Google's help doesn't say whether it needs a Google account or what a phone browser does | Google's help |
| A ChatGPT Site | A public Site opens without signing in to ChatGPT. Building and publishing one takes Plus, Pro, or a supported Business or Enterprise workspace; Free and Go don't have Sites | OpenAI's help |
| A Google Playground link | Playground opened on October 7, 2026 for users in the U.S. aged 18 and over, with how much you can create tied to your Google AI plan. Google's post doesn't say who else can open a shared link | Google's blog |
| A Netlify Drop link, dropped without an account | A temporary password, until you sign in or sign up to claim the project. On a new Netlify Free team, the claimed project can then start private until you make it public | Netlify's docs |
| A Cloudflare Drop link, dropped without an account | A live workers.dev page right away. If nobody claims it with an account within 60 minutes, Cloudflare deletes it. A link an AI agent gets from wrangler deploy --temporary works the same way | Cloudflare Drop, Cloudflare's docs |
| A Vercel link on the Hobby plan | Send the production domain: Standard Protection covers every deployment URL except production domains. Hobby is for non-commercial personal use only | Vercel's docs, fair use guidelines |
| A Glitch project link | Nothing new: Glitch shut down project hosting on July 8, 2025 | Glitch's blog |
| Your game's link on a host | An ordinary web page in their phone's browser. A page published on Convika needs no account or sign-in | The steps below |
To get the game out of Claude or Gemini, How to publish a Claude artifact and How to publish a Gemini Canvas page show where the code is.
Free hosts for a one-file HTML game, compared
All 5 hosts below take a game that is one HTML file, for free. The facts come from each host's docs and pricing pages, read on October 20, 2026.
| Host | Account | What you upload | What your friends see | When the link stops | Cost |
|---|---|---|---|---|---|
| itch.io | A free account | One HTML file with the whole game, or a ZIP with an index.html (up to 1,000 files and 500 MB unzipped) | The game in an iframe on its itch.io page; by default it starts on a click. On a phone it opens full screen, with a warning unless you tick Mobile Friendly | No end date stated. New pages start private until you set them to Public | Free, and itch.io says it never puts ads on your pages |
| GitHub Pages | A GitHub account | An index.html in a repository; on GitHub Free the repository must be public | The file as the page | No end date stated. Sites up to 1 GB, with a soft limit of 100 GB of bandwidth a month | Free for public repositories |
| Netlify Drop | None to drop; until you sign in to claim it, the link has a temporary password | A folder, a zip, or a single HTML file | The file as a page at a netlify.app address. On new credit-based accounts, new projects start private until you make them public | You can keep it on Free "for as long as you like," but every project pauses when the 300 monthly credits run out | Free plan, $0 |
| CodePen | A free account to save a Pen | Code typed or dropped into a Pen; Free allows 3 files per Pen and 1 MB per text file, with no media files | The CodePen editor, with the preview open next to the code. A preview-only link and Deploy are PRO features | A public Pen's link doesn't change; it returns 404 if you make the Pen private or delete it | Free plan |
| Convika | A free account to publish; the no-account box makes a preview with scripts off | One .html or .htm file up to 2 MB, or pasted code. No image or sound files, folders, or zips: images and sounds go inside the file or at https:// links on another host | The game fills the browser window. Free adds a small Convika bar at the bottom; Pro ($12 a month) removes it | Stays at the same link until you click Unpublish. Free includes 10,000 page views a month; Free pages stop 7 days after reaching that in a month, until the month ends or you upgrade (pricing) | Free for 1 published page; Pro $12 a month |
Sources for the table, all read on October 20, 2026:
- itch.io: Uploading HTML5 games (what to upload, the iframe, phones), Getting started (account, publishing a page), Creator FAQ (cost, ads)
- GitHub Pages: Creating a GitHub Pages site, GitHub Pages limits
- Netlify Drop: Netlify Drop (what to drop, how long it stays), quickstart (temporary password), pricing (credits, private projects), how credits work (the pause)
- CodePen: Files (Free limits), Sharing (what opens, when a link 404s), Preview and Deployment (PRO features), Pen Editor (account)
- Convika: the code that serves pages, and the test in What works in a published game, and what doesn't
How to choose:
- You want a game page with a description, screenshots, and donations: itch.io. HTML5 games there take payments as donations.
- Your code already lives on GitHub: GitHub Pages. The
index.htmlin your repository becomes the game page. - You want a link in the next minute: Netlify Drop. Drop the file, then sign in to claim it so the temporary password goes away, and make the project public if it started private.
- You want people to see the code and remix it: CodePen. Anyone can fork a public Pen into their own copy.
- You want the link to open straight into the game, to play it privately before anyone else, and to see how many people came: Convika. You play it in a private preview first, and the dashboard shows visits for the last 90 days.
For hosts beyond games, such as ship.page, Cloudflare Drop, and Tiiny Host, Free HTML hosting compared lines up 11 of them on sign-up, link expiry, and custom domains.
Publish your game on Convika in 5 steps
1. Get the game into one HTML file
If ChatGPT gave you a file, download it. If the game is in a code block, switch to the code view and copy all of it.
If the game is split into index.html, style.css, and game.js, ask ChatGPT: "Put all the CSS and JavaScript inside one HTML file." If the game uses pictures or sound effects, also ask: "Load images with <img> or new Image() and sounds with <audio>, from full https:// links or embedded in the file." Some library loaders stop working on a published page, as the test section shows.
The file can be up to 2 MB, and images or sounds embedded in it count toward that. Embedding grows them by about a third, so about 1.5 MB of images and sound fit. Convika keeps only this one HTML file; there's no place on Convika for separate image or sound files.
2. Make a free Convika account
Sign up at app.convika.com. The Free plan needs no credit card and publishes 1 page.
If you sign up from a button or link on this page, the upload screen opens when you finish.
3. Upload the file or paste the code
On Put your HTML page online, drop the file on the Upload a file tab or click Choose a file. If you copied the code, paste it on the Paste code tab. Page name fills in from the game's <title>.
If an <img> or <audio> tag points to a file on your computer, such as player.png, the screen lists it so you can fix it first. Files the game's script loads aren't listed: new Image(), new Audio(), and Phaser or p5.js loaders. Search the code for .png and .mp3 names, and ask the AI to swap each one for an https:// link or embed it in the file. Click Create my preview. Uploading uses no AI credits. Elsewhere in the dashboard, Upload an HTML file opens the same screen.
4. Play it in the private preview
When Your preview is ready appears, click Open preview. The preview runs the game's scripts, just as the published page will.
Play it with the keyboard. Then open the same link on your phone and check that taps work and nothing runs off the screen. The preview link is private and works for 3 minutes. If it stops before you finish, click Open preview again. Nobody else can see the game yet.
5. Publish it and send the link
Click Publish. The first time you publish, the confirmation asks you to Choose how to publish your page: pick Free (a Pro option removes the Convika bar), then click Publish. The game goes live at an address like yourpage.convika.page.
In the confirmation, choose Public (free) or Private link (Pro or pass). Anyone with the link can play either one without a password or an account. A Public page may show up in search results and in Convika's gallery, which helps if you want people to find it. With a Private link, Convika tells search engines to keep the page out of their results, so a game made for your friends doesn't turn up for strangers. You can change it later in Site settings. Only people with the password is a Pro feature at $12 a month; How to password protect an HTML page explains how it works.
Paste the link in Discord, WhatsApp, or a group chat. Your friends open it in their browser and play, no account needed. To take the game down, click Unpublish.
What works in a published game, and what doesn't
On October 20, 2026, a small one-file game ran through the same upload the dashboard uses, on a local development setup: an inline script moves a square on a canvas with the arrow keys and taps, counts points, saves the best score, and plays sounds. The private preview and the published Free page were opened in Chromium (the engine Chrome is built on), Firefox, and WebKit (the engine Safari uses), at phone size (390 × 844) with touch. All 3 browsers gave the same result.
What worked:
- The game's own script. The
<script>in the file ran and drew the game on the canvas. A script loaded from a CDN (jsDelivr) also ran. - Keyboard and touch. 3 arrow-key presses and 1 tap on the canvas all reached the game.
- Saved high scores. A best score saved with
localStoragewas still there after reloading the page. It's saved in each player's own browser, so players don't see each other's scores. - Sound. A beep made with Web Audio after the Start button played, and so did 2 sound files played through
<audio>: one embedded in the file and one on anotherhttps://site. A sound file on another site loaded withfetchorXMLHttpRequestand played through Web Audio is blocked, for the same reason as the API calls below, so ask the AI to play those with<audio>ornew Audio(). A sound embedded in the file loaded into Web Audio in a separate run on October 21, 2026. - Images and fonts from other sites.
https://images in<img>andnew Image()and images embedded in the file showed, and a web font's request wasn't blocked. - WebAssembly and Web Workers. In a rerun of this test on October 21, 2026, a small WebAssembly module embedded in the file compiled and ran, and a Web Worker started from a
blob:URL the script made. A.wasmfile on another site can't be fetched, for the same reason as the API calls below.
What didn't:
- Calling another site's API.
fetchandXMLHttpRequestcalls to a leaderboard on another site, and a WebSocket to a game server, were all blocked. A Free page can only talk to its own address; on Pro, the analytics services Convika supports are allowed too. For multiplayer or a leaderboard on your own server, host the game elsewhere. itch.io says a game there can call an API on another domain over HTTPS. - Library loaders pointed at another site. The same block stops a library that fetches its files from another site. In an earlier run on October 13, 2026, Phaser 3.90.0's
this.load.imageandthis.load.audiofailed with files on another site, and p5.js 1.11.3'sloadImagenever finished loading an image from there. With the image and a sound embedded in the file, they load: in a separate run on October 21, 2026, Phaser'sthis.load.imageandthis.load.audioand theloadImageof p5.js 1.11.3 and 2.3.4 loaded them in all 3 browsers. eval. Code built withnew Functionwas blocked.- The no-account box's preview. It runs no scripts, so the game didn't start and the canvas stayed empty.
On Free, a 40 px Convika bar runs along the bottom of the window. If your game puts buttons at the very bottom, ask ChatGPT to keep them clear of the bottom 40 px.
A Convika page can't be embedded in an iframe on another site, so your friends open the link rather than playing inside a blog post. The test used browser engines, not a real phone, so open the preview on your own phone before you send the link.
Frequently asked questions
How do I let my friends play a game I made with ChatGPT?
Put the game in one HTML file, upload it to a free host, and send your friends the link. They open it in their browser and play without an account. On Convika's Free plan you can publish 1 page with no credit card.
Can my friends play without an account?
Yes. A published Convika page opens in any browser, with no sign-in or app. Whether it's Public or a Private link, anyone with the link can play; with a Private link (Pro or pass), search engines are told to leave the page out.
Is there a free site to publish a ChatGPT game?
Yes. itch.io, GitHub Pages, Netlify Drop, CodePen, and Convika all publish a one-file HTML game for free. itch.io shows the game in an iframe on its page, while GitHub Pages and Convika open straight into the game. Netlify Drop's link has a temporary password until you sign in to claim it.
Does the game work on a phone?
Yes, if the game's code handles taps and small screens. In the October 20, 2026 test, taps on the canvas reached the game in 3 browser engines at phone size. Open the preview on your own phone before you send the link.
Will high scores be saved?
Yes, if the game saves them with localStorage. In the test, a best score of 4 was still there after a reload. Scores saved this way stay in each player's browser, so players don't see each other's.
Do online leaderboards or multiplayer work?
Multiplayer and a leaderboard on another site don't. A Free page can only talk to its own address, and calls to a leaderboard or game server on another site were blocked in all 3 browsers. Since October 21, 2026, a game that saves scores with window.storage's shared values, as Claude artifacts do, keeps one shared list on Convika that every player sees; Convika has no leaderboard feature or player accounts of its own. itch.io says a game there can call an API on another domain over HTTPS.
Can I update the game and keep the same link?
Yes. On the page's screen, New version from a file takes the updated HTML file as the next version at the same link, and you publish it when you're ready. You can also describe a change in Improve with AI, which uses 1 AI credit per edit on the default model, or save the new code from Claude or Codex over MCP.
Can I publish a game made with Claude or Gemini?
Yes. Any AI's game works the same way once it's one HTML file. How to publish a Claude artifact and How to publish a Gemini Canvas page show how to get the code out.
Does it cost anything?
No. The Free plan needs no credit card and publishes 1 page, with a small Convika bar at the bottom. The first time you publish, pick Free under Choose how to publish your page. Pro, at $12 a month, removes the bar and adds page passwords.
Next step
How to password protect an HTML page without code, on your own domain
JavaScript passwords sit in the page code. Put an HTML page from ChatGPT or Claude behind a server-checked password on your own domain.
Related articles
- Make a game with AI for free, no coding, and send friends a link they can playNo game-maker app needed: ask ChatGPT, Claude, or Gemini for a one-file HTML game, test it on your phone, and publish it free as a link friends can play.
- Free HTML hosting compared (2026)Netlify Drop, Cloudflare, GitHub Pages, Vercel, Tiiny Host, and 6 more free HTML hosts compared: sign-up, link expiry, custom domain, forms, stats, and badge.
- Where to host a game you made with ChatGPT or Claude: itch.io, GitHub Pages, Netlify Drop, CodePen, and Convika compareditch.io, GitHub Pages, Netlify Drop, CodePen, and Convika compared for a one-file game from ChatGPT or Claude: sign-up, phone play, traffic limits, and domains.
- How do I make a reaction time test with AI and share it as a link?Ask ChatGPT or Claude for a one-file reaction time test that times taps in milliseconds, check it on a phone, and publish it free as a link.
- Turn an AI-made quiz or review game into a link your students can openAsk ChatGPT, Claude, or Gemini for the quiz as one HTML file, publish it free, and give students a link or a QR code with no student accounts.
- How to send an HTML file on Instagram or Messenger so it opensInstagram's help lists no files for chats, and Meta doesn't say Messenger delivers .html files. Put the page online and paste its link in the DM instead.