Snap! (formerly BYOB) is a visual, block, drag-and-drop programming language. Unlike most programming languages, though, Snap! is a visual language; instead of writing a program using the keyboard, the Snap! programmer uses the same drag-and-drop interface familiar to computer users.
It is inspired by Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It extends Scratch with first class procedures, first class lists, and other capabilities designed to support the teaching and learning of computer science. It targets both novice and more advanced students by including and expanding Scratch’s features. Snap! also features first class lists, first class procedures, and continuations.
A Snap! program consists of one or more scripts, each of which is made of blocks. It runs in your browser, and is implemented using JavaScript.
Features (extending Scratch):
- First class functions or procedures (their mathematical foundations are called also “Lambda calculus”).
- First class lists (including lists of lists).
- First class sprites.
- Nestable sprites.
- Codification of Snap! programs to mainstream languages such as Python, JavaScript, C, etc.
Website: snap.berkeley.edu
Support: FAQ
Developer: University of California at Berkeley
License: AGPL

Snap! is written in JavaScript. Learn JavaScript with our recommended free books and free tutorials.
Related Software
| Programming Tools for Kids | |
|---|---|
| Snap! | Visual, block, drag-and-drop programming language |
| TurboWarp | Mod of Scratch |
| Scratch | Easy to use programming environment for ages 8 and up |
| Blockly | Web-based, visual programming editor that's developed by Google |
| Processing | Flexible software sketchbook and language |
| Greenfoot | Simple but powerful Java IDE |
| KTurtle | Educational programming environment for learning how to program |
| Alice | Innovative 3D programming environment |
| BASIC-256 | Easy to use version of BASIC |
| Robocode | Engaging and educational programming game |
| Hedy | Gradual textual programming language |
| CodeWorld | Web-based educational programming environment |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.