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.

Publish my game for free

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.

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 sendWhat your friend getsSource
A Claude share linkA Claude sign-in. Without a Claude account, the link doesn't open. The one exception is an older artifact published from a chatAnthropic's help
A Gemini Canvas share linkIt 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 doesGoogle's help
A ChatGPT SiteA 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 SitesOpenAI's help
A Google Playground linkPlayground 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 linkGoogle's blog
A Netlify Drop link, dropped without an accountA 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 publicNetlify's docs
A Cloudflare Drop link, dropped without an accountA 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 wayCloudflare Drop, Cloudflare's docs
A Vercel link on the Hobby planSend the production domain: Standard Protection covers every deployment URL except production domains. Hobby is for non-commercial personal use onlyVercel's docs, fair use guidelines
A Glitch project linkNothing new: Glitch shut down project hosting on July 8, 2025Glitch's blog
Your game's link on a hostAn ordinary web page in their phone's browser. A page published on Convika needs no account or sign-inThe 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.

HostAccountWhat you uploadWhat your friends seeWhen the link stopsCost
itch.ioA free accountOne 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 FriendlyNo end date stated. New pages start private until you set them to PublicFree, and itch.io says it never puts ads on your pages
GitHub PagesA GitHub accountAn index.html in a repository; on GitHub Free the repository must be publicThe file as the pageNo end date stated. Sites up to 1 GB, with a soft limit of 100 GB of bandwidth a monthFree for public repositories
Netlify DropNone to drop; until you sign in to claim it, the link has a temporary passwordA folder, a zip, or a single HTML fileThe file as a page at a netlify.app address. On new credit-based accounts, new projects start private until you make them publicYou can keep it on Free "for as long as you like," but every project pauses when the 300 monthly credits run outFree plan, $0
CodePenA free account to save a PenCode typed or dropped into a Pen; Free allows 3 files per Pen and 1 MB per text file, with no media filesThe CodePen editor, with the preview open next to the code. A preview-only link and Deploy are PRO featuresA public Pen's link doesn't change; it returns 404 if you make the Pen private or delete itFree plan
ConvikaA free account to publish; the no-account box makes a preview with scripts offOne .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 hostThe game fills the browser window. Free adds a small Convika bar at the bottom; Pro ($12 a month) removes itStays 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:

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.html in 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.

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 localStorage was 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 another https:// site. A sound file on another site loaded with fetch or XMLHttpRequest and played through Web Audio is blocked, for the same reason as the API calls below, so ask the AI to play those with <audio> or new 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> and new 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 .wasm file on another site can't be fetched, for the same reason as the API calls below.

What didn't:

  • Calling another site's API. fetch and XMLHttpRequest calls 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.image and this.load.audio failed with files on another site, and p5.js 1.11.3's loadImage never 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's this.load.image and this.load.audio and the loadImage of p5.js 1.11.3 and 2.3.4 loaded them in all 3 browsers.
  • eval. Code built with new Function was 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.

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

More ways to send your page

Share this article

Give your game a link your friends can open

Upload the HTML file, play it in a private preview, then publish. You also see how many people came to play.

Publish my game for free

Free plan: no credit card, 1 published page.