EVERYTHING XIAOMI
Get listed

Snap!

Snap! is a visual, drag-and-drop programming language for kids and adults, and a platform for studying computer science.

Place
#31 of 42
Score
6.1
Snap!'s website

What Snap! is

Snap! is a visual, drag-and-drop programming language for kids and adults, and a platform for studying computer science. It runs in a browser and is implemented in JavaScript. Users can make their own blocks; its support for first-class lists, procedures, and continuations enables custom blocks and control structures. Projects can also use sprites, costumes, and sounds. The site presents Snap! as a serious introduction to computer science for high school and college students.

Snap! works in modern browsers on computers and most modern tablets, though its interface is not optimized for mobile use. It can run offline as a progressive web app or from downloaded source files opened locally in a browser. Offline use cannot access cloud projects, and projects are exported to the computer as XML files. Extensions include devices such as BBC micro:bit, Sphero, LEGO NXT, Finch, Hummingbird, Arduino, and Raspberry Pi; other extensions include NetsBlox and TurtleStitch. The system is free and open source under the GNU General Public License. An account is required to save projects on its cloud server.

Good

  • Users can create their own programming blocks.
  • Runs offline as a progressive web app.
  • Device extensions include Arduino and BBC micro:bit.
  • Cloud saving is optional; programming does not require personal information.
  • Free and open source under the GNU General Public License.

Watch out

  • Offline use cannot access cloud projects.
  • Cloud project saving requires an account.
  • The interface is not optimized for mobile use.
  • The site cannot guarantee third parties will not breach its database.

Who it suits

Snap! suits learners who want block-based programming and a route into computer science, including high school and college students. It also offers device extensions, though its interface is not optimized for mobile use.

Verdict

Snap! combines visual programming with features intended for deeper computer science study. Consider its offline cloud limitation and mobile interface caveat if those affect how you plan to use it.

The facts

Each one read from Snap!'s own pages, with the date it was checked.

Where it runs

Browser-based
Snap! runs in a browser and is implemented in JavaScript.checked 7 Oct 2026
Device integrations
The extensions page lists packages for devices including BBC micro:bit, Sphero, LEGO NXT, Finch, Hummingbird, and Arduino.checked 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.checked 7 Oct 2026

What it does

Build Your Own Blocks
Users can create their own blocks, and the language supports first-class lists, procedures, continuations, sprites, costumes, and sounds.checked 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.checked 7 Oct 2026
Education extensions
Listed extensions include NetsBlox for multiplayer networking and TurtleStitch for generating embroidery patterns.checked 7 Oct 2026
Hardware extensions
Listed device extensions include BBC micro:bit, Sphero, Lego NXT, Wiimote, Finch, Hummingbird, Arduino, and Raspberry Pi.checked 7 Oct 2026
Learning audience
The site describes Snap! as suitable for a serious introduction to computer science for high school or college students.checked 7 Oct 2026
Offline limitation
The offline version cannot access cloud projects; it exports projects as XML files to the computer.checked 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.checked 7 Oct 2026
Open source
All components of the Snap! Programming System are free and open source under the GNU General Public License.checked 7 Oct 2026
Privacy
Users can program without providing personally identifiable information; an account is required to save projects on the cloud server.checked 7 Oct 2026
Product
Snap! is a visual, drag-and-drop programming language for kids and adults, and a platform for studying computer science.checked 7 Oct 2026
Programming features
Snap! adds first-class lists, procedures, and continuations, which support user-created blocks and control structures.checked 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.checked 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.checked 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.checked 7 Oct 2026
Support
Snap! provides a community forum and a contact page for support.checked 7 Oct 2026

The company

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.checked 7 Oct 2026

Alternatives to Snap!

All alternatives
  1. 1Codecademy logo

    Codecademy

    Free planAndroidiOSWeb
    8.1Free plan
  2. 2Kodable logo

    Kodable

    Free planAndroidiOSWeb
    8.1From $119.99 a year
  3. 3MIT App Inventor logo

    MIT App Inventor

    Free planOpen sourceAndroidiOSWebAPI
    8.0Free plan
  4. 4CodeHS logo

    CodeHS

    Free planAndroidiOSWeb
    7.6From $990 a year
  5. 5

    Hopscotch

    Free planAndroidiOSWebmacOS
    7.4From $19.99 a year
  6. 6

    Progate

    Free planAndroidiOSWebmacOS
    7.4From $14.99 a month