STEM

Block Coding Showdown: Scratch vs Snap! vs MakeCode

Jul 1, 2026  ·  5 views  ·  ~3 min read

Block-based programming environments remove the syntax barrier that trips up beginners and allow learners to focus on computational thinking — sequencing, loops, conditionals and functions. Three platforms dominate classroom use in 2026: Scratch, Snap! and Microsoft MakeCode. Each has distinct strengths suited to different age groups, goals and hardware contexts.

Scratch: The Global Standard for Ages 8–12

Scratch, developed by MIT, is the most widely used block coding platform in the world with over 100 million registered users. Its colourful sprite-based interface is designed for children aged 8–12. Students create interactive animations, games and stories by snapping together blocks organised into ten categories: motion, looks, sound, events, control, sensing, operators, variables and custom blocks.

Scratch's online community allows students to share projects publicly, remix others' work and leave comments — building an authentic audience for student creation. Scratch Jr (iOS/Android) extends the platform to ages 5–7 with simplified controls. Scratch works entirely in the browser with no installation and free accounts.

Snap!: Block Coding for Advanced Students and University

Snap! (formerly BYOB — Build Your Own Blocks) was developed at UC Berkeley as a more powerful alternative to Scratch for secondary and university students. Visually similar to Scratch, Snap! adds first-class functions, higher-order functions (map, filter, reduce), data structures and the ability to build custom control structures — introducing genuine computer science concepts through a visual medium.

UC Berkeley's Beauty and Joy of Computing course (offered as AP CS Principles in US high schools) uses Snap! exclusively. If your goal is to prepare students for university CS or to teach functional programming concepts before introducing a text language, Snap! is the appropriate tool.

Microsoft MakeCode: Physical Computing and Game Development

MakeCode differentiates itself through hardware integration and multiple editors. The micro:bit MakeCode editor programs the BBC micro:bit physical device — students code in blocks, see a simulated result instantly and download to the hardware in seconds. The Minecraft Education Editor adds coding to the Minecraft Education game world. MakeCode Arcade creates retro-style 2D games playable in the browser or on physical game handhelds.

MakeCode supports both block and JavaScript/Python views of the same code — students can switch between visual and text representations at any point, making it an ideal bridge between block and text-based programming. The hardware integration makes computing tangible, which is particularly motivating for students who do not engage with screen-only activities.

Which Should You Choose?

For primary school (ages 8–12) with no hardware budget: Scratch. For secondary students who will continue to a text-based language: start with Scratch, transition to Snap! at age 13–14. For classrooms with micro:bits, Minecraft licences or students interested in game development: MakeCode. All three are completely free to use in the browser and support teacher accounts with classroom management features.

Moving Beyond Block Coding

The goal of block coding is to make the transition to text-based programming easier, not to replace it. After students are comfortable with block-based conditionals, loops and functions, introduce Python — MakeCode's dual-view feature makes this transition particularly natural, as students can see their blocks automatically translated to Python and back. Replit, Thonny and CS First provide good free Python environments for this next step.

Share:

STEM — More Guides
All Guides