- klyo games
- For developers
Publish your game
Publish your HTML5 game and earn from ads
Upload a ZIP or paste the address of a game that already exists somewhere. After an automatic check the game is live on its own address. No application, no exclusivity, no transfer of rights. You get 70% of the ad revenue next to your game, plus leaderboards and cloud saves without running a server.
- 45games in the catalog
- 12creators
- 3 minfastest publication
- 2 htypical upload-to-catalog time
- 70%of ad revenue to the creator
- as of 22/10/2026
Already have a game online?
Move your game from another portal and earn here
Paste the address where your game already runs. We download it together with its files, so you repack nothing.
itch.io, GameJolt, Newgrounds, GitHub Pages, Netlify, your own server: anywhere the game opens from a link. When it sits in a frame, we step into it for the real files. After you sign in the download starts by itself.
- No repackingWe take the files from the same address where your game already runs.
- You stay where you areNo exclusivity and no rights transfer. The same game can live in two places at once.
- Share of the ad revenue70% of the net ad revenue next to your game, paid out above 100 PLN. This split starts with the first payout Google makes to us, and from that day we count the developers' shares. No ad revenue has been paid out yet.
How publishing works
- 01
Pack the game
The whole game folder in one ZIP with index.html at the root. Godot, Unity WebGL, Construct, GDevelop, Phaser, PICO-8, Defold or hand-written code: anything that exports to files a browser can run.
- 02
Upload and describe
A name, two sentences for the player, controls on touch and keyboard, how long a round takes. Large packages upload in chunks, so a dropped connection resumes where it stopped.
- 03
Automatic check
The package is unpacked and checked for everything a program can check: size, file count, paths, extensions, the presence of index.html and traces of third-party ad networks. You get the result at once, with a reason if something failed.
- 04
The game is live
Own address g-yourgame.klyo.pl, a catalogue page in two languages, a sitemap entry and a ping to search engines. A person looks at the game after publication and can take it down only with a stated reason, which you can appeal.
Step-by-step guide, with the button names from the studio
What we accept and what we do not
The full list of package rules
The rules are not a matter of taste; they are coded into the program that checks the package. A rejection always says exactly what is wrong.
- The ZIP is at most 350 MB, at most 700 MB unpacked, and a single file at most 500 MB.
- At most 5,000 files. That is enough for any browser game.
- Only files a game is made of: pages, scripts, styles, images, sounds, video, fonts, game data and WebAssembly.
- Server-side executables do not pass. The game runs in the player's browser.
- Paths pointing outside the game folder reject the whole package.
- The game does not load its own ads or third-party ad networks and does not collect player data. Ads stand beside the game; you place in-game breaks yourself through the SDK.
The SDK: one script file
Add one script and the game talks to the page it is embedded in: it reports readiness, asks for full screen, submits a score to the leaderboard, saves progress on the server (up to 64 KB, across devices) and places an ad break exactly where you want it, for example between levels. The game never gets access to the page or to the ads: it asks, the page answers. Outside the catalogue everything keeps working: the break returns immediately and the score stays in the browser.
File: klyo-gry-sdk.js. Calls: klyo.gotowa() (ready), klyo.wynik(points) (score), klyo.tablica.pobierz("dzien", cb) (leaderboard), klyo.zapis.zapisz(state) (cloud save), klyo.przerwa("miedzy-poziomami", resume) (ad break), klyo.nagroda(cb) (rewarded ad), klyo.pelnyEkran() (full screen). Without the SDK the game is still accepted; it only loses ad breaks, the leaderboard and saves.
Money: how we count and pay
Ads next to games are Google AdSense from our publisher account. You set up nothing. The developer pool for a month is 70% of the net ad revenue next to games; it is split between published games in proportion to plays. A play is counted on our side: only after 30 seconds spent in the game, and repeats from the same place within 10 minutes count once, so inflating plays with a script does not work. We close a month by the 15th of the next one and transfer once your balance reaches 100 PLN.
How we count: settlements begin with the first month that has ad revenue next to games; the share is the same for every developer and is written in the terms. We say this plainly instead of promising.
What it looks like in numbers. Below is an example of the split itself, not a promise of earnings: the numbers are made up to show the formula.
- 1000 PLNwhat Google paid us in a given month for ads next to all developer games
- 700 PLNthe share that goes to developers: 70% of net revenue
- 140 PLNyour game had one fifth of all plays, so you get one fifth of that pool
What Google actually pays depends on ad rates that none of us controls and that change month to month. That is why we give no range of expected earnings. We give the formula and show every number behind your amount in the studio: plays day by day, your share of the pool and the sum accrued for each closed month.
Taxes: developers outside Poland provide a tax residency certificate so the double-taxation treaty applies; EU businesses invoice with reverse-charge VAT; Polish individuals get a PIT-11 form from us. The binding agreement is the developer terms.
Where to publish an HTML5 game: an honest comparison
| What | CrazyGames | itch.io | klyo games |
|---|---|---|---|
| Publishing | QA review, then Basic Launch to a small group of players without ads, Full Launch after a second review | instant, anyone | instant after an automatic package check |
| Ad revenue on a free game | yes, share not published in the docs | no ads | 70% printed publicly, once ads are switched on |
| Game size | up to 250 MB in total, initial download up to 50 MB (up to 20 MB for the mobile homepage) | up to 500 MB unpacked, one file up to 200 MB, up to 1,000 files | ZIP up to 350 MB, up to 700 MB unpacked, one file up to 500 MB |
| Payout threshold and method | monthly from €100, wire or PayPal | Stripe or PayPal to your own account | bank transfer from 100 PLN |
| Own address for the game | page on crazygames.com | page on itch.io | own subdomain g-yourgame.klyo.pl |
| Exclusivity | none | none | none, ever |
| Rights to the game | stay with you | stay with you | stay with you |
| Leaderboards and cloud saves | through their SDK | your own server | in the SDK, free |
| Game page in two languages | no | no | English and Polish, translated for you |
| Moving a game that already exists | you package and upload it yourself | you package and upload it yourself | paste the address, we fetch the files |
| Gameplay clip | you upload a finished video | you upload a finished video | recorded in the browser in one click |
| Publishing a game from an AI assistant | no | no | yes, 22 MCP commands for games |
CrazyGames and itch.io data from their own developer pages: CrazyGames FAQ, CrazyGames technical requirements, itch.io creators FAQ, itch.io HTML5. Terms checked on 17 September 2026, size limits on 16 October 2026; the current numbers are always on their pages. If anything changed, tell us and we will fix it.
One-to-one comparisons: CrazyGames vs klyo games · itch.io vs klyo games
Developer questions
What developers ask most
Where can I publish an HTML5 game and earn from ads?
On klyo games: drop the game as a ZIP, a folder or a single HTML file, the game gets its own address g-yourgame.klyo.pl and a catalogue page, and you get 70% of the net ad revenue attributed to your game. No application, no exclusivity, the rights stay yours.
How much does klyo games pay per game?
70% of the net Google ad revenue attributed to your game, counted by plays. The monthly pool is split between games in proportion to plays. Payout by bank transfer from 100 PLN (about 23 EUR).
How is klyo games different from CrazyGames?
CrazyGames requires an application and a manual review that takes weeks, and does not publish its revenue share. Here publishing is instant after an automatic check, the share is printed on this page, every game has its own subdomain and there is no exclusivity.
How is klyo games different from itch.io?
itch.io does not pay ad revenue for HTML5 games; you only earn from sales. Here a free browser game earns from the ads next to it from day one, and you get leaderboards and cloud saves without running a server.
Can I publish a game that is already on itch.io or CrazyGames?
Yes. We do not ask for exclusivity and do not block publishing the same game anywhere else. You upload the same ZIP.
Which engines are supported?
Anything that exports to files that run in a browser: Godot, Unity WebGL, Construct, GDevelop, Phaser, PICO-8, Defold or hand-written code. The one condition: after unpacking, the game opens from index.html.
Does my game get its own address?
Yes. Every game runs on its own subdomain, g-yourgame.klyo.pl, isolated from other games and from klyo cookies. You can use it as the game's address anywhere.
Can I describe the game in several languages?
Yes, in a single field. Wrap each version in a language tag: <pl>polski opis</pl><en>English description</en>, and players see the one in their language. Square brackets work too: [pl]…[/pl]. Without tags the description stays in one language, and that is fine: we show it everywhere, we only mark its real language so a page in another language does not pass a foreign sentence off as its own.
What language is my game in, and why state it?
Because it is not the same as the language of the description. The description is read BEFORE playing; the menus and text inside the game are read WHILE playing. Players can set which languages they want to see, and your answer decides who your game is shown to. The strongest answer is “there is not a single word in the game”: numbers, shapes and icons only, like 2048 or a block puzzle. Such a game suits everyone and we show it to everyone, whatever their setting. No large game catalogue states this, even though every player has bounced off a game with menus in an alphabet they cannot read.
Can I publish without clicking, straight from an AI assistant?
Yes. If you build the game with Claude or ChatGPT, the assistant can send the package and prepare the entry, and you only look at the finished game and release it to the catalogue with one button. The assistant does not sign the agreement and does not put the game in front of players: both steps are yours. How to connect it is described on the page “Publish with an assistant”.
Will I earn regardless of where my players are?
Not always. Google ads are not shown everywhere: since 2022 Google has not sold ads to audiences in Russia, and in embargoed countries it does not operate at all. A player from there will start your game and nobody blocks them, but that round brings no revenue. Payouts are a separate matter: the transfer leaves a Polish bank, so we cannot send money where European Union sanctions forbid it, today including Russia and Belarus. You can publish a game from anywhere in the world; the details are in the developer terms, in the sections on ads and on payouts.
How do payouts and taxes work?
We close a month by the 15th of the next one and pay by bank transfer once your balance reaches 100 PLN. Developers outside Poland provide a tax residency certificate so the double-taxation treaty applies; EU businesses invoice with reverse-charge VAT.
Talk to klyo
Have a question or a business proposal?
Write to klyo directly: questions about publishing, moving a whole catalogue of games, partnerships and business proposals. We reply within one working day.
The studio conversation needs a free developer account; email works without one. Who we are: about klyo games and the company behind it.