What is the SCRATCH file format?
A .scratch file stores a project created with the Scratch programming language, developed at MIT (Massachusetts Institute of Technology). Unlike the plain-text description sometimes cited, Scratch project files are packaged archives: the modern .sb2 and .sb3 formats are standard ZIP archives containing a project.json manifest together with sprite images and audio files. The earlier .sb format used by Scratch 1.x is a binary Squeak object store rather than a ZIP. Scratch allows users to create games, animations, stories and interactive programs. The name "scratch" comes from a technique used in music mixing.
Scratch was designed as an educational tool for children aged 8 and above to get acquainted with coding. It uses a block-based programming interface built around coloured instruction blocks that snap together - no text syntax required. Scratch is an event-driven, visual programming language. Although programming in Scratch is simple and fun, Scratch 3.0 extended the platform with optional extension blocks for real hardware such as micro:bit and LEGO. Projects can be shared on the scratch.mit.edu community or run offline using Scratch Desktop.
Security & safety
RISK: LOWScratch projects are sandboxed, data-only programs (blocks + media) with no access to your system, so a .sb3/.sb2/.sb is low risk to open in the Scratch editor or TurboWarp. The .sb3 being a ZIP means you can safely inspect contents with an archive tool. Always download the editor from the official scratch.mit.edu (or turbowarp.org) rather than third-party 'Scratch project openers', some of which are adware. For children, the bigger consideration is the online community's sharing/comment features, not the file format. A bare '.scratch' file from unrelated software is just a temp file - treat per its source app.
Format details
in a nutshell- Generic 'scratch' temp/working file - Many unrelated programs name a temporary or working buffer '.scratch'; these are app-specific scratch files, not Scratch projects.
Programs that open SCRATCH files
Technical details
deep spec| Container format | ZIP archive (`.sb2` / `.sb3`); binary Squeak object store (`.sb`, Scratch 1.x) |
| Project manifest | `project.json` - JSON descriptor at the ZIP root listing all sprites, block scripts, costumes and sounds |
| Embedded media types | `.png` and `.svg` for costumes and backdrops; `.mp3`, `.wav` and `.ogg` for sounds - all packed inside the archive |
| Magic bytes | `50 4B 03 04` ("PK" ZIP signature) at offset 0, present in all `.sb2` and `.sb3` files |
| Programming paradigm | Visual, block-based, event-driven; scripts are assembled by snapping coloured blocks together without typing text |
| MIME type | `application/x.scratch.sb3` |
| Target audience | Children aged 8 and above; widely adopted in primary and secondary school coding curricula worldwide |
| Version history | `.sb` (Scratch 1.x, 2007) → `.sb2` (Scratch 2.0, 2013) → `.sb3` (Scratch 3.0, 2019) |
| Block palette categories | Motion, Looks, Sound, Events, Control, Sensing, Operators, Variables, My Blocks |
| Sprites | Independent objects that combine costume images, sound clips and a stack of block scripts; the main authoring unit in a project |
| Extension blocks (Scratch 3.0) | Optional add-on block sets including Music, Pen, Video Sensing, Text to Speech, micro:bit and LEGO Mindstorms |
| Developer / maintainer | MIT Media Lab Lifelong Kindergarten group; ongoing stewardship by the Scratch Foundation (non-profit) |
| Related sprite format | `.sprite3` / `.sprite2` - single-sprite export containers sharing the same ZIP+JSON inner structure |
| Community sharing | Projects publish directly to scratch.mit.edu; the platform hosts over 100 million registered users and 100+ million shared projects |
| Released | Scratch 1.0 (2007); current Scratch 3.0 from 2019 |
| Open standard | Yes · royalty-free |
| Specification | en.scratch-wiki.info |
SCRATCH conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SCRATCH files.