Skip to main content
Back to module
Game Prototyping & Systems · Shipping a Game

Publishing on itch.io

Reading48mLesson 2 of 3 in this module

Export a browser build, upload it to itch.io with a clear store page, and test it before making it public.

Why this matters

A game nobody can play does not count in a portfolio. Publishing turns a project folder into a link you can put on a CV, share with a playtester or submit to a jam. itch.io is the standard home for jam games, prototypes and indie releases: creating an account and a page is free, browser games play instantly without downloads, and you can choose to charge, accept donations or give games away. It is also where most online jams are hosted, so you will use it constantly.

Browser builds first

A game that runs in the browser removes every barrier: no download, no "Windows protected your PC" warning, no wrong operating system. For short prototypes it is the best default.

  • Plain HTML/canvas games (like this course's module 1 and 2 prototypes): put index.html and any assets in a folder, then zip the contents of the folder, so index.html sits at the top level of the zip.
  • Godot 4: install export templates (Editor > Manage Export Templates, then download), add a Web preset in Project > Export, and export to index.html in an empty folder. Zip that folder's contents. If the page shows an error about SharedArrayBuffer or cross-origin isolation, either export with Thread Support turned off in the Web preset, or tick the SharedArrayBuffer support option in itch.io's embed settings.
  • Unity: use the Web (WebGL) build target, then zip the build folder's contents.

Always test locally first. Browsers block many games opened straight from the file system, so run a local server (for example python -m http.server in the build folder, then open http://localhost:8000).

Creating the page

On itch.io: Dashboard > Create new project. The important fields:

fieldwhat to put
Title and project URLthe game's name; the URL becomes yourname.itch.io/game-name
Short descriptionone line that says what the player does
ClassificationGames
Kind of projectHTML for browser builds (Downloadable for desktop builds)
PricingNo payments, or "pay what you want" with a minimum of 0
Uploadsyour zip, with This file will be played in the browser ticked
Embed optionsviewport size matching your canvas or Godot window, fullscreen button, mobile-friendly if it is
VisibilityDraft while you set up; Restricted to share privately; Public when ready

A page that gets played

Visitors decide in seconds. A good page has:

  • a cover image (the dashboard shows the recommended size) that shows gameplay, not just a logo,
  • three to five screenshots or a short GIF of real play,
  • controls written clearly near the top ("Arrow keys to move, Space to jump, R to restart"),
  • a short description: the hook, the goal, how long a run takes,
  • credits for every asset, font and sound you did not make, with licences,
  • accurate tags (genre, input method, "short", "jam") so people can find it.

Test the published build

Before you share the link:

  1. Open the page in a private browser window (to see it as a stranger does).
  2. Click to play, then check input works: canvas games may need a click to receive keyboard focus, so say "click the game to start" if needed.
  3. Try fullscreen, and a second browser.
  4. If your game uses localStorage for saves, check it still works when embedded (itch.io serves games from a separate domain inside an iframe).
  5. Ask one person on a different computer to play it.

Updating and devlogs

Uploading a new zip replaces the build; players get the new version the next time the page loads. itch.io's devlog feature lets you post update notes, which keeps followers informed and shows employers how you iterate. For jams, check the rules: many allow bug-fix uploads after the deadline but not new content.

Selling and legal basics

If you charge money, itch.io handles payments and takes a share you choose (the default "open revenue sharing" lets you pick). You will be asked for tax information before payouts. Details change, so read itch.io's official documentation (itch.io/docs/creators) before you sell. Checked on 2026-10-23. Never upload assets you do not have the rights to publish.

Common mistakes

  • Zipping the folder instead of its contents, so itch.io cannot find index.html.
  • Wrong viewport size, which crops the game or adds scroll bars.
  • No controls on the page.
  • Publishing public before testing the uploaded build.
  • Missing credits for third-party assets.

Quick recap

  • Browser builds are the easiest for players; zip the build so index.html is at the top.
  • Create the project as HTML, tick "played in the browser", set the viewport.
  • Use Draft or Restricted until you have tested it as a stranger.
  • Show gameplay, controls and credits on the page.

Try it

Open the Do tab to publish one of your prototypes as a restricted itch.io page.

Also in this lesson: