Archive.png This article or section documents a feature not included in the current version of Scratch (3.0). It is only useful from a historical perspective.
This article or section documents an outdated version of Scratch (version 1.4). For this article in Scratch 2.0, see Scratch File Format (2.0).

The Scratch File Format is the format with which a Scratch file, .sb (Scratch Project) or .sprite (exported sprite) file, is encoded.

Scratch needs to save all the information and media - stage, sprites, scripts, sounds, images - in a Scratch project or script to a single file. This means the format for encoding that information is rather complicated.

For a technical description of the file format, start with Project File or Sprite File.


Other than using Scratch program or modifications of Scratch's source code, there are the following libraries for reading/writing Scratch project files:

  • Kurt, written in Python. Supports scripts, variables, lists, colors. Can read all the scripts in a project file and output Block Plugin code. Supports images (nearly!) but not sounds.
  • sb.js