GitPedia

Scratchnative

Convert Scratch3 projects to native executables

From scratchnative·Updated October 28, 2025·View on GitHub·
·Archived

Scratchnative is an ongoing project to compile Scratch3 programs to native executables. The project is written primarily in Rust, distributed under the MIT License license, first published in 2022. Key topics include: compiler, cpp, meme, rust, scratch.

Scratchnative

now in rust!

Scratchnative is an ongoing project to compile Scratch3 programs to native executables.

How does it work

Here's how Scratchnative is able to compile Scratch3 projects:

  1. It serializes the project.json file contained in the .sb3 Scratch file (which is a zip) using serde
  2. It builds an abstract syntax tree (AST) akin to any programming language's AST
  3. It outputs C++ code by iterating through the AST

Eventually, I will write documentation on the project.json file format as the current docs are quite vague and unclear.

State of the project

Right now, Scratchnative is able to compile very basic Scratch3 projects (e.g basic operators, loops and expressions), albeit without graphics, to C++ with the help of a runtime.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from scratchnative/scratchnative via the GitHub API.Last fetched: 6/24/2026