Scratch
FreeBuild programs from blocks — a first programming language for kids
A visual programming environment from the MIT Media Lab where programs are assembled by dragging blocks — no syntax to memorize, no misplaced semicolons. Kids build animations, small games and interactive stories. The desktop version runs fully offline with no account required.
Why we picked it
Scratch is the most widely used introduction to programming for children in the world, created at the MIT Media Lab and stewarded by a non-profit foundation. Its design removes the typing-and- syntax layer entirely: loops, conditionals, variables and events are coloured blocks that snap together, and blocks whose shapes do not match simply will not connect — so a child never gets stuck on a missing semicolon, a problem that has nothing to do with thinking.
It is not a toy, though. Sequence, iteration, branching, variables, message broadcasting, parallel execution, cloning — these are real programming concepts wearing a different notation. By the time a child has built a playable game in Scratch, they hold most of the mental models needed for Python or JavaScript later.
The most practical point for parents and teachers: there is an offline desktop version. Installed locally it works without internet, so a child is not one click away from the rest of the browser. The web version needs no installation at all.
Two boundaries worth stating:
- Sharing projects online requires an account — publishing to the Scratch community, browsing others' work, or remixing a project. Working offline on your own creations needs no account.
- Licensing is layered: the editor and main components are AGPL-3.0 open source with code on GitHub, but the Scratch name, logo and cat are trademarks, and the community platform is not fully open. We list it on the basis that the core is free, offline-capable and ad-free, without awarding a full open-source badge.
Suitable from roughly age 8. For younger children, look at ScratchJr, a simplified tablet version aimed at ages 5 to 7.