< User:Apple502j

SandCastleIcon.png This page has links to websites or programs not trusted by Scratch or hosted by Wikipedia. Remember to stay safe while using the Internet, as we can't guarantee the safety of other websites.

This article explains how to make extensions for Scratch 3.0.

Note Note: This article will make an edit conflict with Ken's.However, to translate the Japanese version, let me keep it here.


To run Scratch 3.0, Node.js Version 8 with npm is needed. No other versions will work correctly. Having git is also useful when getting the content from the repositories on GitHub, but not required. An IDE can be used for coding smoothly, but it's optional.

Get Started

Make a directory and go there with your terminal (command prompt on Windows). try this with git:

$ git clone --depth 1 https://github.com/llk/scratch-vm.git
$ git clone --depth 1 https://github.com/llk/scratch-gui.git
Note Note: $ should not be typed.
Note Note: This can be done without git; Instead download zip-compressed files via GitHub.


Note Caution: If npm, especially npm link, have been used before, it's highly recommended to rename the node_modules folder placed at the place shown with npm bin -g to something else. This is because the script below may use other versions of the node packages there.

Run these:

$ cd scratch-vm
$ npm i
$ npm link
$ cd ..\scratch-gui
$ npm i
$ npm link scratch-vm


Make icons used for some places, such as libraries or block categories. There are four types of the pictures that will be used:

  • For library, bigger one: png, 600x372px
  • For library, smaller one: png or svg, 80x80px
  • For block category, svg, 40x40px
  • For block icon, svg, 40x40px