ScratchX

Play with Experimental Extensions to Scratch!

With Experimental Extensions, you can create Scratch projects that connect with external hardware (such as electronic devices and robotics) and online resources (including web data and web services).

Scratch

With the Scratch programming language, you can create your own interactive stories, games, and animations — and share your creations with others in an online community. Take me to Scratch

ScratchX

On the ScratchX website, you can play with Experimental Extensions to Scratch. Because these extensions are experimental and not endorsed or supported by the Scratch Team, they are available only on the ScratchX site, not the main Scratch site. Try out ScratchX

Who uses ScratchX?

Anyone can access and play with Experimental Extensions on ScratchX. Integrate Twitter feeds into your Scratch project, connect with hardware like Arduino and Raspberry Pi, and much much more.

Developers can use ScratchX to create and test new Experimental Extensions. Learn more about ScratchX in our developer documentation

Gallery of Experimental Extensions

With Experimental Extensions, you can create Scratch projects that connect with external hardware and online resources. Try examples below to see the wide variety of things you can do with Experimental Extensions!

If you are a developer with an extension that you'd like to submit to our gallery, read more about the submission process here.

Privacy Policy

ScratchX is a platform that enables people to test experimental functionality built by developers for the visual programming language Scratch. The purpose of this website is to provide a playground for people to test experimental content. We wrote this privacy policy to explain what information we access and how we use it. If you have any questions regarding this policy, you can contact us.

External Services

GitHub Pages: Developers who link their content to ScratchX are required to host their experimental content on an external service called GitHub pages, which is governed by GitHub's own Terms of Service and Privacy Policy. The ScratchX site itself is also hosted on GitHub pages, and is governed by their terms and policy (in addition to the ScratchX terms and policy).

Google Analytics: Using an external service called Google Analytics, we collect some data about where you click and which parts of the site you visit. This "click data" helps us figure out ways to improve the website. Information collected and processed by Google Analytics includes the user's IP address, network location, and geographic location. Google Analytics acquires all of its information directly from the user, by installing a cookie (see below) on your computer, if you have enabled JavaScript. We do not share any information (other than aggregate statistics) that we collect with Google, and Google does not collect any personal identifying information about you. You can read Google Analytics' privacy policy here.

Cookies: Google Analytics (above) uses cookies in order to gather information about your use of the ScratchX website. A cookie is a small text file that Google Analytics can send to your browser for storage on your computer.

How do we use your information?

  • Via Google Analytics, we gather browsing data so that we know how people use the website.
  • Other than as described above, we will never share personally identifiable information about you with any other person, company, or organization, except as required to comply with our obligations under the law.

Notifications of Changes to the Privacy Policy

We review our Privacy Policy on a periodic basis, and we may modify our policies as appropriate. We may also change or update our Privacy Policy if we add new services or features. If we make any changes to our privacy practices, we will amend this Privacy Policy accordingly and post the amended policy on the ScratchX website. We encourage you to review our Privacy Policy on a regular basis.

FAQ

What is ScratchX?

ScratchX is a platform that enables people to test experimental functionality built by developers for the visual programming language Scratch.

What's the difference between Scratch and ScratchX?

Scratch is a programming language and online community where you can create your own interactive stories, games, and animations. ScratchX is a separate experimental platform built to test experimental Scratch features, also known as Experimental Extensions. There is no login or community component to ScratchX, and projects created within ScratchX can only be run on ScratchX.

What are Scratch Extensions?

Scratch extensions make it possible for Scratch to interface with external hardware and information outside of the Scratch website through new blocks. Extensions are written in JavaScript for the ScratchX project editor.

What is the difference between Experimental and Official Extensions?

Experimental Extensions are extensions created for Scratch by the community; they are not managed or endorsed by Scratch in any way. Experimental Extensions can run only in the ScratchX environment. Official Extensions can be found and run from within Scratch 2.0 (both online and offline editors), accessible in the 'More Blocks' section of the blocks menu.

Are Experimental Extensions safe?

The Scratch Team has created ScratchX to enable people to create and test Experimental Extensions. However, the Scratch Team does not endorse, support or maintain specific Experimental Extensions. People using Experimental Extensions should be careful not to provide any personal details such as login passwords or personally-identifiable information if prompted by an Experimental Extension.

How do I use ScratchX?

There are three pathways into ScratchX. If you have been given or sent a .sbx file, you can load that into ScratchX via the homepage (look for 'Open an Extension Project'). If you have been sent a ScratchX URL (starts with 'scratchx.org/'), you can click your link and the extension will load automatically, or you can enter that URL into the box on the homepage (look for 'Open an Extension URL'). Lastly, if you don't have an example extension, you can try out one on the site by visiting the Gallery page and clicking on an example extension there.

I made a cool project on ScratchX. How do I share it?

Click the 'Save' button at the top of the page to download your project as an .sbx file on to your local computer. You can then send this file to other people, and they can upload your file onto ScratchX to play with your project.

Where can I find example Experimental Extensions to play around with?

You can find a list of example extensions in the ScratchX Gallery. We plan to add more extensions to this page in the coming months.

What is a ScratchX URL?

Developers who make extensions for ScratchX can choose to create a custom web address or URL that points to their extension and/or demo project. Clicking on a ScratchX extension URL will take you directly to a project with an extension loaded.

What is an .sbx file?

The SBX (.sbx) ScratchX file format is the file format used to encode ScratchX projects when they are downloaded to a user's computer. SBX files can only be used on the ScratchX site. Other Scratch environments use different formats, including the .sb2 format for Scratch 2.0 (read more here) and .sb format for Scratch 1.4 (read more here).

Why can't I open .sbx files in Scratch 2.0 or the offline editor?

Experimental Extensions are extensions created for Scratch by the community and are not managed or endorsed by Scratch in any way. Because of this, we do not allow Experimental Extensions to run on the larger Scratch site.

Oh Noes! Scratch project cannot display.
Flash player is disabled, missing, or less than version 10.2.

Get Adobe Flash player