Scratch Extensions

The Scratch extension system enables anyone to extend the Scratch programming language through custom programming blocks written in JavaScript. The extension system is designed to enable innovating on the Scratch programming language itself, in addition to innovating with it through projects. With the extension system, anyone can write custom Scratch blocks that enable others to use Scratch to program hardware devices such as the LEGO WeDo, get data from online web-services such as, and use advanced web-browser capabilities such as speech recognition.


Chris Willis-Ford, Andrew Sliwinski, Sayamindu Dasgupta, Mitchel Resnick



Extending Scratch: New pathways into programming
Sayamindu Dasgupta, Shane M. Clements, Abdulrahman Y. idlbi, Chris Willis-Ford, and Mitchel Resnick
IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC ’15)


Personalized Extensions: Democratizing the programming of virtual-physical interactions
Abdulrahman Y. idlbi
Masters thesis