Python library for reading/writing MIT's Scratch file format.
Clone or download
Latest commit fcccd80 Jul 23, 2017


Kurt is a Python library for working with Scratch project files.

It supports both Scratch 1.4 and Scratch 2.0 with a single Pythonic interface, and it's extensible to support new file formats for Scratch mods (such as Snap!).

It also includes a parser for converting plain text into Scratch blocks.

Example uses:

  • converting Scratch 2.0 projects back to 1.4
  • importing thousands of images into Scratch
  • importing midi files as play note blocks
  • importing font files as costumes
  • parsing text to Scratch blocks
  • analysing projects

Scratch is created by the Lifelong Kindergarten Group at the MIT Media Lab.


With a proper python environment (one which has pip available), simply run:

pip install kurt

Or using easy_install:

easy_install kurt

Or download the compressed archive from PyPI, extract it, and inside it run:

python install


Requires Python 2.7. Doesn't support Python 3.

The installation methods above will automatically install kurt and its dependencies. To do a manual install instead, you need:


Kurt's documentation is hosted on Read the Docs.


Kurt is released under the LGPL Version 3.