SandCastleIcon.png This article has links to websites or programs outside of Scratch and Wikipedia. Remember to stay safe while using the internet, as we cannot guarantee the safety of other websites.
Sulfurous Player logo

The Sulfurous Player is an alternative to the Flash Player which makes it possible to run Scratch programs on mobile devices, such as smartphones using Android or iOS.

The Sulfurous Player is a modification of the Phosphorus Player and was designed to perform better and deliver more features. Some long-standing bugs of the Phosphorus Player were also fixed.

However, the release of Scratch 3.0 allowed projects to run on mobile devices and with much less lag, therefore removing the benefits of the Sulfurous player.


The main page of the Sulfurous Player prior to loading a project.

The Sulfurous Player works just like the Phosphorus Player. The player will accept a link to a Scratch project, but it will also read a local .sb2 file if it is dragged into the page.

Under "Package" and "Embed", there are new options to specify the resolution of the project. The options include standard resolution (480x360), double resolution (960x480), and custom resolution. Especially the double resolution option can be useful for Scratch projects that are designed to use the sub pixel rendering of Scratch 2.0. Larger, custom resolutions should only be used for pen, vector, and specially designed projects. (See High resolution projects)

New Features

The Sulfurous player has many new features.

Resolution options

The "Package" and "Embed" areas with the possibility to specify resolution and aspect ratio.

"Package" and "Embed" now allow the user to specify the resolution of their project. The highest possible resolution is 16000x12000 pixels. For most devices, a resolution of 960x720 or 1920x1440 pixels should suffice. It is also possible to change the aspect ratio of the player. Projects are always scaled to fill the player, so projects will need to be redesigned when used with custom aspect ratios.

Graphic Effects

Several Graphic Effects have been implemented. These utilize the power of the Graphics Processing Unit (GPU), similar to the Stage3D player used in Scratch. Previously, these rendering steps were very slow because they had to be executed sequentially on the CPU instead.

Planned Features

Archive.png This article or section documents something not included in the current version of Scratch (3.0). It is only useful from a historical perspective.

These features were planned and would be implemented according to usefulness.

  • Cloud Variables (Although interaction with the Scratch cloud variables was not possible, using cookies would be plausible.)
  • Usage of Javascript in the Scratch Project.
  • Stamping on different layers.
  • Stereo audio, with L/R balance.
  • List rendering.

High resolution projects

With some tricks, the Sulfurous player can support resolutions much higher than the 480*360 supported by Scratch.


The Sulfurous Player allows resolutions of up to 16k. Some tricks are needed to actually use the full resolution:

The Sulfurous coordinate plane always has a size of 480x360 points. This means that general positioning of sprites works exactly like in the Flash Player. Furthermore, Scratch Projects designed specifically for Sulfurous should theoretically still work in the Flash Player. If a specific resolution is to be used to its full extent, the corresponding Sprite/Costume needs to be shrunk until the size of its pixels matches that of the Sulfurous Player. Thus, a Sprite needs to be shrunk to 1/4 of its original size if it needs to be used in a 1920x1440 pixel environment (1920 / 480 = 4). The Sprite's pixels are now equivalent to the Player's pixels. The same applies for pen: A pen size of 0.25 will match the size of one pixel at this resolution. Small position changes are described using appropriate decimal numbers.

Vector images do not need to be adjusted, as they will keep their "infinite" resolution, as would be expected.

Example of a high resolution project

Result of the previous code. The "Package" function was used with a resolution of 1920 pixels. The texture used has a size of 256x256 pixels. (Click on image for full resolution)
define render
set[xResolution v]to[1920]
go to x:(-240) y:(-180)
set size to((48000)/(xResolution))% //48000/480 = 100%
repeat ((2)*((xResolution)/(480))) //Picture fits on stage twice
repeat ((2)*((xResolution)/(480)))
change x by((256)*((480)/(xResolution)))
change y by((256)*((480)/(xResolution)))
set x to(-240)

Example of a project running in Sulfurous

Click here for a packaged example project.

Bug Fixes

  • Costume changes now work correctly
  • Almost all audio files are now supported
  • Touchscreen and mouse support for hybrid devices.
  • Bitmaps and vector images are displayed at high resolutions without any loss of quality.
    • This is also true for bitmaps embedded in SVGs.
  • Pen does not draw while costume is dragged.
  • Full support for SVG rendering, including Scratch fonts.

See Also

Cookies help us deliver our services. By using our services, you agree to our use of cookies.