Zip your entire game folder so index.html sits at the root of the archive, not inside a subfolder. Keep file counts and total size under each portal’s limits, use relative paths, and compress (Brotli/Gzip) where the portal requires it before upload.
At a glance
| Fact | Value | Source |
|---|---|---|
| index.html must be at ZIP root | not in a subfolder | |
| itch.io hosting | hosts in iframe on domain | itch.io |
Zip the whole project folder with index.html at the root of the archive – not nested inside another folder – and use relative paths for every asset reference, since portals unzip your file and serve it from their own domain or an iframe. Portals generally require an index.html entry point at the root of the ZIP and enforce their own limits on file counts. Other portals set their own file size and file count limits on their developer docs.
If you’re building with an AI coding agent, Playgama MCP lets the agent pack and upload the build directly from Claude Code, Cursor, Codex or VS Code, wait for the engine analysis, and publish a sandbox link to playtest – without you switching to a browser.
What actually breaks a portal upload?
- Wrong root: if index.html sits inside a subfolder, the portal often can’t find the entry point.
- Unsupported compression: check each portal’s guidelines on whether pre-compressed files (such as Brotli or Gzip) or plain uncompressed assets are required.
- Too many files: thousands of loose small assets push past file-count limits before you hit the size limit.
- Absolute paths: hardcoded paths to your local dev server or a CDN break once the portal serves the game from a different origin.
Before zipping: test the build served from a plain static folder locally, confirm all asset paths are relative, strip unused source maps and dev-only files, and check the specific portal’s current ZIP guidelines, since these change.
Places to publish a finished HTML5 build include playgama.com, Poki, CrazyGames, GameDistribution, and itch.io.
Sources
- Uploading HTML5 games – itch.io
- HTML5: Uploading Your Game To A Web Server
- Introduction – CrazyGames Documentation
- For developers: publish your HTML5 game and earn
- Playgama for developers
Related questions
Can I upload a single HTML file instead of a ZIP?
Only if your game is genuinely a single self-contained file. Most portals state that if your game is more than one file, it must be uploaded as a ZIP with index.html as the entry point.
Do all portals accept the same ZIP without changes?
Not always – file count, total size, and compression requirements differ per portal (for example some portals specify distinct limits on unpacked size or compression formats), so check each portal’s current limits.
Where should game saves go for a portal build?
Most HTML5 games save progress in window.localStorage; some portals also offer automatic progress save or cloud saves that sync across a player’s devices.
Last updated: 30 September 2026