Coding games to learn programming: a ranking for kids and adults
For kids, the best picks are Scratch, Code.org and Blockly Games, and CodeCombat helps teenagers move on to real code. Adults can start with Flexbox Froggy, Grid Garden and CSS Diner, then train regularly on Codewars, Exercism or CodinGame. Games drill single skills well, but they won't replace your own projects.
Below are 19 games and gamified platforms, grouped by level and goal: from block coding for kids, through short games on CSS, SQL and Git, JavaScript puzzles and logic games, to daily training and strategy for advanced players. CodeWorlds is our own platform, so we judge it by the same criteria as the rest.
How this ranking was made
The list covers games where code controls a character or a machine, puzzles that teach one skill, and platforms with points and ranks where you solve regular exercises.
We judged each entry by four questions: what it teaches, whether you write real code, who it's for and what it costs. Within each group, the order shows where we'd start. We checked descriptions and price models on the official sites in September 2026, and when a maker doesn't list a price, we send you to the source.
Everything in one table
| Game | What it teaches | Level | Price model | Where it runs |
|---|---|---|---|---|
| Scratch and ScratchJr | block coding | kids 8-16, ScratchJr 5-7 | free | browser, app |
| Code.org (CodeAI) | blocks, then JavaScript in App Lab | kindergarten to high school | free | browser |
| Blockly Games | loops, conditions, functions, intro to JavaScript | kids with no experience | free, open source | browser, offline |
| CodeCombat | Python, JavaScript, C++, Lua | kids and teens, from zero | freemium | browser |
| CodeWorlds | HTML, CSS, JavaScript, Python, SQL and more | from zero to advanced | freemium | browser |
| Flexbox Froggy | CSS Flexbox | beginner | free | browser |
| Grid Garden | CSS Grid | beginner | free | browser |
| CSS Diner | CSS selectors | beginner | free | browser |
| SQL Murder Mystery | SQL queries | beginner to intermediate | free | browser |
| Oh My Git! | Git | beginner to intermediate | free, open source | Windows, macOS, Linux |
| Elevator Saga | JavaScript, events, algorithms | after JavaScript basics | free, open source | browser |
| Untrusted | reading other people's JavaScript | after JavaScript basics | free | browser |
| Human Resource Machine | algorithmic thinking | from zero | paid | computer, iOS, Android |
| TIS-100 | assembly and optimisation | intermediate to advanced | paid | computer, iOS |
| Codewars | exercises (kata) in 55+ languages | basics to expert | freemium | browser |
| Exercism | exercises with mentoring | after the first basics | free | browser |
| CodinGame | puzzles, bots, coding battles | intermediate | free | browser |
| Advent of Code | algorithmic puzzles | intermediate | free | any setup |
| Screeps | JavaScript, strategy, optimisation | after the basics | paid | computer (Steam) |
Freemium means a free start plus a paid plan that lifts limits or adds extras.
For kids: coding with blocks
Blocks snap together like bricks, so syntax errors can't happen, yet children still practise command order, loops, conditions and events.
Scratch and ScratchJr
Scratch is a free environment and community where kids build games, animations and stories from blocks. According to its page for parents, it's designed for ages 8-16, while children aged 5-7 get the simplified ScratchJr, a free app. Scratch is run by a nonprofit foundation, works in the browser and offline, and has a Polish interface. Its strength is freedom: a child builds their own project and peeks at other people's code. Without an idea, though, it's easy to get stuck, so a simple goal helps, such as a game where a cat catches apples.
Code.org (CodeAI)
Code.org is a nonprofit that renamed itself CodeAI on 2 June 2026 and now puts more weight on AI education. Its computer science courses remain, and they're free. Younger children (American grades K-5, roughly ages 5-11) code with blocks, while older ones move on to tools such as App Lab, aimed at ages 13-18, where they build apps in JavaScript with blocks or text. The Hour of Code campaign with its one-hour lessons now runs as the Hour of AI, and part of the site is translated into Polish.
Blockly Games
Blockly Games offers eight free games for kids who have never programmed. Maze introduces loops and conditions, Bird and Turtle go deeper, Movie uses maths and Music covers functions. In Pond Tutor, levels switch between blocks and real JavaScript, and Pond is a contest for the smartest duck. The code is open source, the games work offline, and there's a Polish version. It's the gentlest step from blocks to text.
From blocks to real code
Both platforms here teach typed code on a story-driven path, but for different audiences.
CodeCombat
CodeCombat is a game where your hero follows commands written in Python or JavaScript. The main version (Python, JavaScript, C++) covers game and web development plus preparation for the American AP CSP exam, CodeCombat Junior teaches the youngest grades (K-5), and CodeCombat Worlds lets you build Roblox games in Lua. The interface is available in Polish.
It's freemium: according to the help centre, the first five levels of the Kithgard Dungeon course are free, and going further needs a premium subscription, so check the current price on the site. Adults may find the story childish, but every step your hero takes is a line of code, and mistakes show up instantly.
CodeWorlds
CodeWorlds is a Polish platform where courses are story worlds. Each world teaches one technology in modules of lessons, code editor exercises, questions and puzzles, with characters guiding you through dialogues. Exercises earn XP and unlock new locations, and rankings let you compare points with others. Complete beginners can start with HTML and CSS in Ancient Egypt (9 modules, 429 exercises, an estimated 40-60 hours), Python in the Safari world or MySQL in The Great Library, while JavaScript in Jurassic Park assumes HTML and CSS basics. Higher levels include React, Next.js and NestJS, among others. The site works in Polish and English.
It's freemium: a free account covers the HTML and CSS course in the app and gives you 10 fuel units a day for exercises, and the premium plan unlocks the other worlds and removes the limit (check the current price on the site). The lessons of all courses are free to read on the site. To be fair, it's more a course with game elements than an arcade game. Lessons involve reading, so the youngest kids will do better with Scratch, and the fuel limit on the free plan restricts long study marathons.
Short games for a single skill
You can finish each of these in an evening or a few.
Flexbox Froggy
Flexbox Froggy has 24 levels where Flexbox properties such as justify-content, align-items and flex-wrap guide frogs to the right lily pads. It's free, has a Polish translation and needs only CSS basics. Its maker, Codepip, also sells a Pro plan with extra games, but the free version is enough to learn Flexbox. Afterwards, practise in the lesson Flexbox, a flexible layout.
Grid Garden
Grid Garden, also by Codepip, has 28 levels on CSS Grid. You water carrots by setting grid-column-start or grid-area, and near the end whole grid templates with grid-template-columns and grid-template-rows. It's free and has a Polish version. Play it after Flexbox Froggy, then review in the CSS Grid lesson.
CSS Diner
CSS Diner teaches CSS selectors in 32 levels. You pick plates, bento boxes, apples and pickles with selectors, from a simple plate through combinators and pseudo-classes such as :first-child or :nth-of-type to attribute selectors. It's free and in English. Selectors often trip up beginners, so revisit them in the advanced CSS selectors lesson.
SQL Murder Mystery
SQL Murder Mystery is a crime puzzle from Knight Lab: you search the SQL City database for a murderer by writing SQL queries in the browser. The authors call it more practice than a full tutorial and point SQL newcomers to the included walkthrough first. It's free and in English, and works well after the lesson on your first SELECT query.
Oh My Git!
Oh My Git! is a free, open source game about Git. Beginners issue commands with descriptive cards, while advanced players use a terminal running real Git. The game visualises the repository's internals in real time, so you see each command's effect at once. It runs on Windows, macOS and Linux.
JavaScript puzzles after your first weeks
These two games need JavaScript basics: variables, conditions, loops and functions. If you don't have them yet, start with the lessons on loops and functions.
Elevator Saga
In Elevator Saga you program elevators in JavaScript: you write an object with init and update functions, react to events such as a button pressed on a floor, and move a set number of people within a time limit. From the fourth challenge there are more elevators, and later the move count and longest wait matter too. It's free and open source, though its author notes the project is no longer actively maintained. The event-driven style helps later with listening for events on a web page.
Untrusted
In the adventure game Untrusted you help Dr. Eval escape level after level by changing the JavaScript that generates them. Every level is unbeatable as loaded and most of the code is locked, so you hunt for a loophole in what's left editable. It teaches reading other people's code and thinking about APIs, which courses rarely practise. It's free, and the source code is on GitHub.
Logic games that teach you to think like a computer
Instead of a popular language, these games teach how a computer runs a program step by step.
Human Resource Machine
In Human Resource Machine you program office workers who carry boxes from an inbox to an outbox. The language has only 11 commands and you start with two, so the game leads you from simple sequences to loops and conditions. No programming experience is needed, the makers promise, and each level has optional optimisation challenges. It's a paid game for computers (Steam and GOG, among others), iOS and Android. Check the current price on the official site or in the store.
TIS-100
TIS-100 from Zachtronics is a game about assembly programming. You repair corrupted code segments of a mysterious computer with a printable manual styled like an old handbook. Across more than 20 puzzles you compete for the lowest cycle, instruction and node counts. It's a paid game for computers (Steam, GOG, itch.io) and iOS, clearly harder than Human Resource Machine. Check the current price in the store.
Daily training and competition
Instead of a story, you get ranks, badges and leaderboards. They work best once you know the basics of one language.
Codewars
On Codewars you solve kata, short community-made exercises, in more than 55 languages. Ranks climb from 8 kyu to 1 kyu and continue into dan levels, as in martial arts. The documentation recommends the Fundamentals track with easier kata for beginners. After solving a kata you see other people's solutions, often the most valuable part. Training is free, and the optional Red subscription adds extras such as enhanced statistics and no ads.
Exercism
Exercism is a free nonprofit platform with exercises in dozens of languages. You solve them in an in-browser editor, automated analysis suggests fixes, and a volunteer mentor can review your code. Progress earns badges and trophies. The organisation runs on donations and promises to stay free. It's the best choice if you want code that follows a language's good practices, not just code that passes the tests.
CodinGame
CodinGame combines puzzles, bot programming where your bots fight other players' bots in leagues, and Clash of Code, five-minute battles over a short problem. It supports more than 25 languages, is 100% free for developers and belongs to CoderPad, a maker of technical hiring tools. You'll need to read input and write loops, so it's a second step rather than a first.
Advent of Code
Advent of Code is an Advent calendar of puzzles you solve in any language. Its author notes you don't need a computer science background, just a little programming knowledge and some problem-solving skills. Since the 2025 edition, puzzles come out daily from 1 December until mid-December. Taking part is free, AoC++ support is voluntary, and previous editions stay available year-round.
For advanced players: Screeps
Screeps is a pair of strategy games for programmers. In Screeps: World, an open source MMO strategy game, you write a JavaScript AI for your colony that runs on the server around the clock, even while you're offline: it harvests, builds, trades and fights. Screeps: Arena offers fast 1v1 matches with seasons and ratings. The makers say basic skills are enough to start, but there's no difficulty ceiling. It also supports other languages, such as TypeScript or Rust, through WebAssembly or community packages.
Both games are paid and have demos. The World starter package has a CPU limit that a separate purchase removes, and without it you play on a separate world shard with equally limited players. Check current prices in the official store.
How to play so you actually learn
Knowledge from a game sticks only when you take it off the board. Three habits help.
After each session, write something from scratch in your own editor. After Flexbox Froggy and Grid Garden, build a menu and a photo gallery:
/* Menu: logo on the left, links on the right */
.menu {
display: flex;
justify-content: space-between;
align-items: center;
}
/* Gallery: three equal columns with gaps */
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}Read up on what the game skips. Flexbox Froggy leaves out flex-grow, flex-shrink, flex-basis and gap. Cover them with the MDN guide to Flexbox or the lessons on flex-grow and flex-basis and gap spacing.
Save your solutions and revisit them. A first version in Elevator Saga might simply send the elevator wherever someone pressed a button, as in the code below. From the fourth challenge there are more elevators, so rewrite the code for all of them and decide which one picks up a passenger.
{
init: function (elevators, floors) {
const elevator = elevators[0]
// A passenger inside the elevator picked a floor
elevator.on('floor_button_pressed', function (floorNum) {
elevator.goToFloor(floorNum)
})
// Someone is waiting on a floor
floors.forEach(function (floor) {
floor.on('up_button_pressed', function () {
elevator.goToFloor(floor.floorNum())
})
floor.on('down_button_pressed', function () {
elevator.goToFloor(floor.floorNum())
})
})
},
update: function (dt, elevators, floors) {}
}What games won't teach you
Games give you a clear goal, a ready environment and instant feedback. In a real project you decide what to build, set up the tools, read the documentation and hunt bugs without hints. Treat games as training for specific skills, not your whole learning path.
The guide on how to learn to code lays out a plan with games as an extra to a course and projects, and where to start learning to code helps you pick a first technology. A good start is one path with one game beside it: HTML and CSS basics with Flexbox Froggy, or JavaScript for beginners with Elevator Saga. If your goal is a job, Codewars ranks won't replace a portfolio of your own projects, as how to become a developer explains.
FAQ
Can you learn to code with games alone?
You can learn algorithmic thinking and single skills such as Flexbox or CSS selectors. To build apps, though, you need your own projects, documentation and tools, which games don't train, so combine a game with a course and a project.
Which game should my child start with?
ScratchJr suits kids aged 5-7, and Scratch or Blockly Games suit older ones. Once your child types comfortably, move on to CodeCombat or App Lab on Code.org.
Which coding games are free?
Scratch, ScratchJr, Code.org, Blockly Games, Flexbox Froggy, Grid Garden, CSS Diner, SQL Murder Mystery, Oh My Git!, Elevator Saga, Untrusted, Exercism, CodinGame and Advent of Code are entirely free. Codewars is free too, and its Red subscription only adds extras. CodeCombat and CodeWorlds have a free start with limits, while Human Resource Machine, TIS-100 and Screeps are paid.
Are there coding games in Polish?
Yes. Scratch, Blockly Games, Flexbox Froggy, Grid Garden and the CodeCombat interface have Polish versions, and part of Code.org is translated. CodeWorlds works in Polish and English. The rest are in English, which gets you used to documentation vocabulary.
Is Scratch real programming?
Yes, just without typing syntax. In Scratch you use variables, loops, conditions, events and messages between sprites, the same concepts as in JavaScript or Python. Moving to a text language is mostly about learning the notation.