Freedom251 › Coding Learning Software
Snap!

What Snap! is
Snap! is a free, open-source visual programming language and browser platform for learning computer science. Its drag-and-drop environment lets children and adults create projects, define their own blocks, and work with first-class lists, procedures, continuations, sprites, costumes, and sounds. The site describes it as a serious introduction for high school or college students. Snap! runs in modern browsers on computers and most modern tablets, with versions listed for Android, iOS, Linux, macOS, web, and Windows; its interface is not optimized for mobile use. It can also run offline as a progressive web app or from downloaded source files. Offline projects cannot reach cloud storage and are exported as XML files. Extensions connect devices such as BBC micro:bit, Sphero, Arduino, and Raspberry Pi, while NetsBlox and TurtleStitch add other project options.
Who it suits
Snap! suits learners and educators seeking visual, project-based programming and computer-science study. It is also useful for experimenting with supported hardware extensions.
What it does well
- Free and open source
- Custom blocks and control structures
- Runs in a browser
- Offline progressive web app
- Hardware extension packages
What to know first
- Mobile interface is not optimized
- Offline mode cannot access cloud projects
- Cloud saving requires an account
- Third-party database breaches cannot be ruled out
Verdict
Snap! offers a broad visual programming environment for learning and serious computer-science projects without a fee. Its offline mode and hardware extensions add flexibility, although mobile optimization and cloud access have limits.
Facts from Snap!'s own pages
- Browser-based
- Snap! runs in a browser and is implemented in JavaScript. · snap.berkeley.edu, 7 Oct 2026
- Build Your Own Blocks
- Users can create their own blocks, and the language supports first-class lists, procedures, continuations, sprites, costumes, and sounds. · snap.berkeley.edu, 7 Oct 2026
- Children's data
- Snap! says it voluntarily follows COPPA rules for children under 13 and applies its protections worldwide, using age 16 as its parental-notification cutoff. · snap.berkeley.edu, 7 Oct 2026
- Device integrations
- The extensions page lists packages for devices including BBC micro:bit, Sphero, LEGO NXT, Finch, Hummingbird, and Arduino. · snap.berkeley.edu, 7 Oct 2026
- Devices and browsers
- Snap! runs in modern browsers on computers and most modern tablets; its interface is not yet optimized for mobile use. · snap.berkeley.edu, 7 Oct 2026
- Education extensions
- Listed extensions include NetsBlox for multiplayer networking and TurtleStitch for generating embroidery patterns. · snap.berkeley.edu, 7 Oct 2026
- Hardware extensions
- Listed device extensions include BBC micro:bit, Sphero, Lego NXT, Wiimote, Finch, Hummingbird, Arduino, and Raspberry Pi. · snap.berkeley.edu, 7 Oct 2026
- Learning audience
- The site describes Snap! as suitable for a serious introduction to computer science for high school or college students. · snap.berkeley.edu, 7 Oct 2026
- Makers
- Snap! is presented by UC Berkeley and developed by Jens Mönig at SAP, with design input and documentation by Brian Harvey at UC Berkeley. · snap.berkeley.edu, 7 Oct 2026
- Offline limitation
- The offline version cannot access cloud projects; it exports projects as XML files to the computer. · snap.berkeley.edu, 7 Oct 2026
- Offline use
- Snap! can be used offline as a progressive web app or by downloading its sources and opening them locally in a browser. · snap.berkeley.edu, 7 Oct 2026
- Open source
- All components of the Snap! Programming System are free and open source under the GNU General Public License. · snap.berkeley.edu, 7 Oct 2026
- Privacy
- Users can program without providing personally identifiable information; an account is required to save projects on the cloud server. · snap.berkeley.edu, 7 Oct 2026
- Product
- Snap! is a visual, drag-and-drop programming language for kids and adults, and a platform for studying computer science. · snap.berkeley.edu, 7 Oct 2026
- Programming features
- Snap! adds first-class lists, procedures, and continuations, which support user-created blocks and control structures. · snap.berkeley.edu, 7 Oct 2026
- Purpose
- Snap! is a visual, drag-and-drop programming language for kids and adults, and a platform for serious study of computer science. · snap.berkeley.edu, 7 Oct 2026
- Security
- Snap! says it follows industry standards to secure its web server but cannot absolutely guarantee that third parties will not access its database. · snap.berkeley.edu, 7 Oct 2026
- Security limitation
- Snap! says it follows industry standards for web-server security but cannot absolutely guarantee that third parties will not breach its database. · snap.berkeley.edu, 7 Oct 2026
- Support
- Snap! provides a community forum and a contact page for support. · snap.berkeley.edu, 7 Oct 2026
Where Snap! stands on Freedom251
- Coding Learning Software#31 of 42