I made a game in Godot. How do I share it on the web and get players?
Export the project with Godot's Web preset, name the main file index.html, and upload the exported files to a static host. In recent Godot 4 versions you can export without threads, which doesn't need special server headers, so most free hosts work. Test in a private window on a phone, then list the link on Foundplay.
Updated October 10, 2026. Written by Foundplay, a game discovery platform for free browser games. Foundplay also sells Boost, a paid promotion for games, and this guide says where it fits. The advice before that part works without it. All guides
Export for the web
- Install the export templates for your Godot version from the editor's export templates manager.
- Open Project, Export, add a Web preset and set the export path to a file named
index.html. - Export, and upload everything in that folder: the HTML, the JavaScript, the
.wasm, the.pckand the extras. - Test from a local web server or the editor's run-in-browser option. Opening the HTML file from disk won't work.
Threads and special headers
A web export that uses threads needs the page to be cross-origin isolated, which a host sets with two response headers. Many free hosts, GitHub Pages among them, don't let you set headers. Newer Godot 4 versions can export without threads, and that build needs none of this. Godot's export also has a progressive web app option meant to help with missing headers. Read the docs for your version before you pick.
Renderer and features
Web exports use the Compatibility renderer, which is based on WebGL 2. Switch to it early in the project, since some features in the higher-end renderers aren't available. For a long time Godot 4's C# support did not cover web exports, so check the current docs if you use C#.
File size and loading
- The engine's WebAssembly file is large before compression, so serve it compressed. Check that your host compresses
.wasmand.pckfiles. - Import settings for textures and audio matter. Compress what players won't see up close.
- Use the custom HTML shell option to add a loading screen with your logo and a start prompt.
- Measure the first load with the network throttled.
Saves in the browser
In a web export the user:// folder lives in the browser's own storage, so a save disappears if the player clears site data and doesn't follow them to another address. Writes are flushed in the background, and a tab can close at any moment, so save at checkpoints and after key events, not only when the player quits.
Fit phones and the browser
- Set the stretch mode to canvas items and pick an aspect setting that suits portrait and landscape.
- Use touch screen buttons or an on-screen stick for controls, and test the emulate-touch settings.
- Browsers need a tap before they play audio. A start screen handles it.
- Say in the listing whether the game needs a keyboard.
How Foundplay can help
Foundplay is a game discovery platform for free browser games. It doesn't host games: every listing sends players to the creator's own site.
The free listing
Listing a game is free. Paste the link where people play it at /submit, check the details and publish. The game goes live right away, and Play sends players to your own site.
Paste the address of the hosted export. Foundplay fills in the details from your page.
Boost, the paid option
Foundplay sells Boost, so it has a reason to want you to buy it. The free listing works without it.
Starter lets strangers try your export on their own devices. Look at your analytics afterward, because a web export that doesn't load on some phones shows up as visitors who never started.
The Starter plan costs $5 for 50 plays in 3 days, which works out to 10¢ a play. Where it shows: its genre pages and search results.
A play is a counted click on Play from a sponsored spot, the same way public play counts work: once per game per network a day. Every sponsored spot is labelled Sponsored, and the share of plays not delivered by the end of the plan's days is refunded automatically. Foundplay can't see what players do after the click. Fan games and copies of commercial games can't be boosted. A game has to be listed before it can be boosted. List it first, or start a Boost and add your play link there, and Foundplay lists the game for free as part of the same flow.
For scale, Foundplay's own visit counter shows an average of 4,500+ visitors a day over the last three full days, and 600+ games are listed. It updates every few minutes.
More free ways to find players are in the full guide.
Questions
- Why is my Godot web export a black screen or stuck loading?
- Open the browser console. Common causes are opening the file from disk, a missing file in the upload, a host that serves
.wasmwith the wrong type, or a threaded export on a host that can't set the required headers. - Can I put a Godot web game on itch.io?
- Yes. Zip the export with
index.htmlat the top level and mark it to be played in the browser. A threaded export needs the option itch.io has for shared array buffers. - Does Godot's web export work on phones?
- Often, with limits on memory and speed. Use the Compatibility renderer, keep assets small and test on real phones.
- Can I host a Godot game on GitHub Pages?
- A single-threaded export works there. GitHub Pages can't set the headers a threaded export needs, so choose accordingly.