Scratch is a multi-platform, open source, easy, interactive, collaborative programming environment designed for creating interactive stories, animations, games, music, and art — and sharing these on the web. Scratch is designed to help young people (ages 8 and up) develop modern learning skills.
When developing Scratch projects, students learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.
Scratch is a graphical programming environment implemented in Squeak that works in a very Lego-like fashion. Testament to the popularity of Scratch, there are nearly 3 million projects that have been created with this programming environment.
Key Features
- Limited hardware / operating system access which helps make Scratch a safe programming language to learn.
- Build programs by snapping together colorful blocks of code.
- Turing complete.
- Visual Graphical User Interface.
- Basic programming constructs are supported and grouped into different block categories:
- Motion.
- Looks.
- Sound.
- Pen.
- Control.
- Sensing.
- Operators.
- Variables.
- Variables and lists for data storage, and arrays can be replicated.
- Floating point scalars and strings are supported.
- Primarily event-driven.
- Many simplified casting rules.
- Small stage / Full stage / Presentation Mode.
- Compress sounds.
- Compress images.
- Upload programs to the Scratch Web site.
Website: scratch.mit.edu
Support:
Developer: Lifelong Kindergarten Group at the MIT Media Lab
License: GNU GPL v2 OR Scratch Source Code License

Scratch 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.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.