Snap!
Block programming language
Drag blocks together to make animations and games, with no code to type.
“Make it mine” asks you to sign in first. On the Free plan, your copy is your one app; you can delete it any time.
“Try it” opens the authors’ own copy, not yours.

- Made by
- jmoenig
- Licence
- AGPL-3.0
- Popularity
- 1.6k stars on GitHub
- Uses
- Your browser
What you can do
- Make your own blocks when the built-in ones aren't enough
- Run math experiments with the same blocks
- Save a project as a file to keep or hand in
Who it’s forCoding teachers and kids aged 10 and up
Once it’s yours
- Your own copy, at its own address
- Anyone with its address can open it, until you choose who can
- Change it with your own coding agent
Ideas for changing it
Once it’s live, give any line below to your coding agent.
Open with our class's starter project loaded
Make the blocks bigger so younger kids can see them
Hide the blocks our class hasn't learned yet
Source and licence
Snap! is open source: its authors, jmoenig, published the code for anyone to use and change.
Its licence, AGPL-3.0, lets you use and change it for free; when other people use your changed version, you share your changed code with them.
Your copy is the version you copied; the authors’ later updates don’t arrive by themselves.
More like this
LOOPYCause and effect simulatorPress play and watch a change snowball or settle down.
Branching puzzles for GitVersion control playgroundClear levels on a live diagram and learn to branch and merge in Git.
Flexbox FroggyWeb layout gameWrite CSS to get the frogs onto their lily pads, and learn to arrange a web page along the way.
Describe an app, or bring one from your agent. Tofu puts it online.
Works with any coding agent
© 2026 Tofu
trytofu.ai