What are extensions?

In the Scratch editor, you can add collections of extra blocks called "extensions." For example, there are extensions that enable you to program physical devices (such as micro:bit and LEGO robotics kits) and to translate text within your Scratch projects. We will continue to add new extensions over time, so what you can do with Scratch will continue to grow over time.

How can I use them?

If you click on the "Extensions" button in the bottom left corner of the Scratch programming editor, you will see a listing of all Scratch Extensions. When you select one of the extensions, a new category of blocks will be added to your project. The extension will be automatically loaded each time your project is opened. You can add multiple extensions to the same project.

Can I make my own extension?

The Scratch Team will be publishing specifications and guidelines for extensions in the future. Once available, you will be able to submit extensions to the Scratch Team for consideration in the official Scratch 3.0 extensions library. We’ll also provide guidelines for developing and distributing "experimental" extensions, which can be used to create projects on individual computers, but not shared in the Scratch online community.

What is the ScratchX website?

The ScratchX website (scratchx.org) was an experimental testbed for extensions. Extensions created for ScratchX are not compatible with Scratch 3.0. Once experimental extensions are fully supported in Scratch, we will discontinue support for ScratchX and provide developers and users time to transition off of ScratchX to the new extensions platform.