What Is forkphorus and What Does It Do?

Updated

forkphorus is a browser-based JavaScript compiler and player for Scratch projects. It runs Scratch 3, 2, and 1 projects by compiling them to JavaScript, which makes them execute quickly. It is not a full editor: you use it to load and play existing projects, not to build them from scratch. It is currently in maintenance mode, receiving occasional bug fixes rather than active feature development.

What forkphorus actually does

The core mechanism is compilation rather than interpretation. Instead of stepping through Scratch blocks one at a time in a virtual machine, forkphorus translates the project's scripts into JavaScript and lets the browser's engine run them. That is the source of the speed advantage the site advertises.

A practical example: a Scratch 3 project with many sprites running loops every frame will often feel sluggish in the standard player. Loading the same project in forkphorus compiles those scripts and typically produces smoother motion at higher framerates.

How to run a project

You can load a project in several ways, all from the main page:

  • Paste a project ID or URL into the input field.
  • Select a project file from your device.
  • Drag and drop a file onto the page.
  • Browse the examples studio to try existing projects.

Once loaded, the player offers controls for full screen, a 480x360 default stage size (with custom sizing), and an embed option that generates a player for your own website, including settings for autostart, light controls, and hiding the UI.

Settings worth knowing

The settings panel applies changes automatically and includes:

Setting What it affects
Framerate (FPS) Target frame rate for the project
Username The username reported to the project
Image Smoothing Rendering quality of scaled images
Sprite Fencing Whether sprites are confined to the stage
Remove some limits Loosens certain built-in Scratch constraints
WebGL Renderer Advanced option; requires a refresh

Packaging and embedding

Two separate paths exist for distribution:

  • Embed this project produces a player you can place on a website, with autostart, light controls, and UI-hiding options.
  • Package this project gives you a link to a page that runs the project automatically. For HTML, EXE, APK, or other formats, the site directs you to a separate HTML packager.

Limitations to plan around

  • Unshared projects are no longer visible. The site states this is due to Scratch API changes and points to a workarounds page for details.
  • No editor. If you need to modify scripts, use Scratch or another tool first, then load the result here.
  • Maintenance mode. Bug fixes arrive occasionally, but you should not expect new features.
  • The site itself recommends TurboWarp for better performance and compatibility, noting that TurboWarp also includes an editor. If editing and maximum compatibility matter to you, that is the more suitable choice; forkphorus remains a lightweight way to play and embed projects quickly.

forkphorus is a fork of Nathan's phosphorus, with CPS-style compilation inspired by Rhys's sb2.js. It is maintained by GarboMuffin and other contributors, and its source code is available on GitHub.