Scratch is a block-based visual programming language and website targeted primarily at children to help learn code. Users of the site can create online coding projects using a block-like interface. The service was developed by the MIT Media Lab, has been translated into 70+ languages, and is used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of September 2020, community statistics on the language’s official website show more than 59 million projects shared by over 58 million users, and almost 36 million monthly website visits.

The Scratch platform lets users mix together different media (including graphics, sound, and other programs) in creative ways by creating and remixing projects, like video games and animations.

Scratch User Interface

The Scratch interface is divided into three main sections: a stage area, block palette, and a coding area to place and arrange the blocks into scripts that can be run by pressing the green flag or clicking on the code itself. Users may also create their own code blocks and they will appear in the “My Blocks” section.

The stage area features the results of running the program (e.g., animations, turtle graphics, either in a small or normal size, with a full-screen option also available) and all sprites thumbnails being listed in the bottom area. The stage uses cartesian coordinates (x and y), with (0,0) being the stage center.

Scratch User Interface

With a sprite selected at the bottom of the staging area, blocks of commands can be applied to it by dragging them from the block palette into the coding area. The Costumes tab allows users to change the look of the sprite in order to create various effects, including animation. The Sounds tab allows attaching sounds and music to a sprite.

When creating sprites and backgrounds, users can draw their own sprite manually, choose a Sprite from the library, or upload an image.