forkphorus.github.io
Forkphorus is a JavaScript compiler for Scratch 3, 2, and 1 projects.
At a glance
- Category
- Development
- Language
- English
- Paid-content signal
- No paid content foundObserved
- Registered
- Unknown
- Hosting
- FastlyInferred
- HTTPS certificate trusted
- PassedObserved
- Last updated
Related questions
More questions →How forkphorus Compares to TurboWarp
For most people choosing between the two, TurboWarp is the better default: forkphorus's own page says TurboWarp "typically has better performance and compatibility than forkphorus and has an editor." forkphorus remains a reasonable choice if you want a lightweight player that compiles Scratch 3, 2, and 1 projects to JavaScript and you don't need an editor — but it is in maintenance mode, receiving only occasional bug fixes.
The comparison at a glance
| Dimension | forkphorus | TurboWarp |
|---|---|---|
| Primary purpose | Runs Scratch 3, 2, and 1 projects fast by compiling them to JavaScript | Runs Scratch projects with better performance and compatibility, plus an editor |
| Editor included | No editor described; it is a player with settings, embedding, and packaging options | Yes, includes an editor |
| Project support | Scratch 3, 2, and 1 (Scratch 1 via the scratch-sb1-converter library) | Not specified on the forkphorus page |
| Development status | Maintenance mode; occasional bug fixes only | Recommended by forkphorus as the alternative to try |
| Performance and compatibility | Fast compilation is its core feature | Described as typically better than forkphorus |
| Inputs for running a project | Project ID or URL, project file selection, drag-and-drop onto the page, or the examples studio | Not described on the forkphorus page |
| Embedding | Yes — embed the forkphorus player with options for autostart, light controls, hidden UI, and custom size | Not described on the forkphorus page |
| Packaging | Link to a web page that auto-runs the project; HTML/EXE/APK and other formats via the separate HTML packager | Not described on the forkphorus page |
| Turbo mode | Available as a packaging/player option | Not described on the forkphorus page |
| Renderer | WebGL renderer available under advanced settings (requires refresh) | Not described on the forkphorus page |
When forkphorus is the sensible pick
Choose forkphorus if your priority is dropping a project in and running it immediately with minimal setup, or if you specifically want its embed and package-link workflow. The page lays out a short path: paste a project ID or URL, select a project file, drop a file on the page, or open the examples studio. From there you can generate an embed with autostart, light controls, hidden UI, and a custom size, or get a link to a web page that runs the project automatically.
It also exposes player settings that are applied automatically: framerate (FPS), username, image smoothing, sprite fencing, and removing some limits. Advanced settings, including the WebGL renderer, require a refresh to take effect.
Two practical caveats come straight from the page:
- Unshared projects are no longer visible due to Scratch API changes. The page points to
https://docs.turbowarp.org/unshared-projectsfor workarounds. - Maintenance mode means you should expect stability rather than new features. Bug reports go through the linked problem-report option or the comments, for people without a GitHub account.
When TurboWarp is the better choice
Pick TurboWarp when you need an editor, when compatibility with a wider range of projects matters, or when performance is the deciding factor. The forkphorus page itself frames TurboWarp as the upgrade path, so treating forkphorus as a fallback for quick playback and embedding is consistent with how its maintainers describe it.
A concrete way to decide: if your task is "run this finished project fast and put it on a web page," forkphorus covers it. If your task is "open the project, change something, and then run it," forkphorus has no editor to offer, and TurboWarp does.
What forkphorus is built on
Understanding the stack helps set expectations. forkphorus is maintained by GarboMuffin and other contributors and is a fork of Nathan's phosphorus; its CPS-style compilation was inspired by Rhys's sb2.js. It uses JSZip to read .sb2 and .sb3 files, canvg to render SVGs for Scratch 2 projects, and scratch-sb1-converter to support Scratch 1 projects. Source code is on GitHub, and the page lists a privacy policy and a version stamp (e956580, dated 2026-10-25).
That lineage explains the feature set: a compiler-focused player with broad Scratch version coverage, not an authoring tool. If you need to package to HTML, EXE, APK, or other formats, the page directs you to the separate HTML packager rather than offering those exports directly.
What Is forkphorus and What Does It Do?
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.
How to Run a Scratch Project in forkphorus
To run a Scratch project in forkphorus, open forkphorus.github.io and either paste the project's ID or URL into the input field, select a project file from your device, or drag and drop a .sb3, .sb2, or .sb1 file onto the page. The project then runs in the browser, compiled to JavaScript for faster execution than the standard Scratch player. This works for Scratch 3, 2, and 1 projects, but only for projects that are shared — unshared projects are no longer visible through forkphorus because of changes to the Scratch API.
Step by step
- Open the site. Go to forkphorus.github.io in a modern browser. No account or install is mentioned on the page.
- Load your project using one of these methods:
- Paste a project ID or URL into the field on the page. For example, a Scratch project URL such as
https://scratch.mit.edu/projects/<ID>or just the numeric ID. - Select a project file using the file picker.
- Drag and drop a file onto the page.
- Browse the examples studio if you just want to try sample projects.
- Paste a project ID or URL into the field on the page. For example, a Scratch project URL such as
- Wait for compilation. forkphorus compiles the project to JavaScript, so it should start quickly once loaded.
- Verify it's running. The project should appear in the player area at 480x360 by default. Use the controls to start it, and check that sprites move and scripts respond as expected.
What you can adjust while it runs
The player includes a controls panel and a settings panel. Settings changes are applied automatically, without reloading:
| Setting | What it does |
|---|---|
| Framerate (FPS) | Sets the target frame rate |
| Username | Sets the username reported to the project |
| Image Smoothing | Toggles smoothing on rendered images |
| Sprite Fencing | Toggles sprite fencing behavior |
| Remove some limits | Relaxes some built-in project limits |
There are also advanced settings for testing unfinished features; these require a refresh to take effect.
Sharing or embedding the result
- Embed: the page provides an embed option that puts the forkphorus player in your website, with choices for starting automatically, light controls, hiding the UI, and a custom size (default 480x360).
- Package: you can get a link to a web page that automatically runs your project. For HTML, EXE, APK, or other formats, the page points to an HTML packager instead.
Common snags
- Unshared projects won't load. This is expected: the page states unshared projects are no longer visible due to Scratch API changes, and links to workaround documentation at docs.turbowarp.org/unshared-projects.
- A project misbehaves. forkphorus is in maintenance mode and only receives occasional bug fixes. You can report a problem via the linked GitHub option, or comment if you don't have a GitHub account.
- You want an editor or better compatibility. The page itself suggests TurboWarp, noting it typically has better performance and compatibility than forkphorus and includes an editor.
What Settings Does the forkphorus Player Offer?
forkphorus provides a settings panel that lets you adjust framerate, username, image smoothing, sprite fencing, limit removal, and a WebGL renderer option. According to the site, changes to the main settings are applied automatically, while advanced settings require a page refresh to take effect. These controls are available in the player interface after you load a Scratch 3, 2, or 1 project.
Main Settings
The following options appear in the player's Settings section:
| Setting | What it controls |
|---|---|
| Framerate (FPS) | The target frame rate for running the project |
| Username | The username value used by the project (for projects that reference a username) |
| Image Smoothing | Whether rendered images are smoothed |
| Sprite Fencing | Whether sprites are kept within the stage boundaries |
| Remove some limits | Relaxes certain built-in limits in project execution |
The site states that changes to these settings are applied automatically, so you do not need to reload the page after adjusting them.
Advanced Settings
An Advanced Settings area is described as a way to "help test unfinished features." The site notes these settings require a refresh to apply and directs users to read a linked explanation first. Treat this area as experimental: features there may be incomplete or change without notice.
WebGL Renderer
The settings include a WebGL Renderer option. Enabling it changes how the project is rendered. Because it is listed alongside the advanced options, expect that a refresh may be needed for it to take effect.
Practical Notes
- Maintenance mode: forkphorus is in maintenance mode and receives only occasional bug fixes, per the site. Settings behavior should be treated as stable but not actively evolving.
- Better alternative for some needs: The site itself recommends TurboWarp, stating it "typically has better performance and compatibility than forkphorus and has an editor." If you need an editor or maximum compatibility, consider that recommendation before relying on forkphorus settings.
- Embedding: When embedding the player in a website, the embed options include "Light controls" and "Hide UI," which affect how much of the player interface (including settings access) is visible to viewers.
To use these settings, load a project into the forkphorus player, open the Settings panel, adjust the values, and refresh only if you change an advanced option.
How to Embed or Package a Scratch Project with forkphorus
forkphorus gives you two ways to take a Scratch project off the site: embed the player inside your own web page, or package the project so it opens and runs automatically from a link. Both start from a project loaded in the forkphorus player — paste a project ID or URL, select a project file, or drop a file on the page. From there, open the Embed this project section for embedding, or Package this project for a standalone link.
Embedding the player in a website
The Embed this project panel generates the player code for your site. Before copying it, set the options you want:
| Option | What it does |
|---|---|
| Start automatically | Runs the project as soon as the page loads |
| Light controls | Uses the lighter control bar |
| Hide UI | Removes the player interface |
| 480x360 / Custom | Sets the player size; Custom lets you enter your own width and height |
Choose your options, then take the embed code the panel produces and place it in your page's HTML where the player should appear. The result is the forkphorus player running your project inside your site, with the UI and size you selected.
Packaging a project as a standalone page
Package this project gives you a link to a web page that automatically runs your project — useful when you want to share a single URL rather than embed code. The project starts on its own when the page is opened, so the recipient doesn't need to paste anything into forkphorus.
For formats beyond a web link — HTML, EXE, APK, or other formats — the page points to the HTML packager. Use the packager when you need a downloadable file rather than a hosted page.
Settings that affect how the packaged project behaves
The Settings panel applies automatically, so set these before you embed or package if the behavior matters:
- Framerate (FPS) — the target frame rate.
- Username — the username the project sees.
- Image Smoothing — smoothing for scaled images.
- Sprite Fencing — keeps sprites inside the stage bounds.
- Remove some limits — relaxes some built-in limits.
- Advanced Settings — unfinished features that require a refresh to apply; the page asks you to read its notes first.
- WebGL Renderer — an alternative renderer to try.
Things to know before you share
- Unshared projects are no longer visible because of Scratch API changes. If you planned to load a project that isn't shared, the page links to workarounds at
docs.turbowarp.org/unshared-projects. - forkphorus is in maintenance mode. It still receives occasional bug fixes, but it isn't under active development. The page itself suggests TurboWarp, which it says typically has better performance and compatibility and includes an editor — worth comparing if you need ongoing support or editing.
- Report problems through the linked GitHub issue page, or comment on the page if you don't have a GitHub account.
If your goal is a player inside an existing site, use the embed options and match the size to your layout. If your goal is a single shareable link or a downloadable build, use packaging and the HTML packager for non-web formats.
Website Overview
The available information shows a mix of normal operation and configuration gaps. Depending on how the website is used, these gaps may affect secure access or the consistency of its public presentation.
Domain and Registration
Unknown
DNS and Email
Nameservers are provided by Amazon Route 53, indicating managed DNS hosting. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. The lowest observed DNS TTL is 3093 seconds.
TLS and Certificates
The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.
HTTP and Browser Security
The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The x-cache, x-served-by, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.
Technology Stack Analysis
The public page identifies Fastly without precise versions, leaving fewer clues for version-specific scanning.
Search and Social Sharing
No Open Graph metadata was detected, so social previews may depend on platform inference. The title has 37 characters, within a common display range. A meta description is present, with 69 characters. The observed directives allow indexing and link following. No Generator meta tag is publicly exposed.
Hosting and Email
Registration details
Unknown
DNS records
| Type | Name | Value | TTL | Priority |
|---|---|---|---|---|
| A | forkphorus.github.io | 185.199.108.153 | 3600 | — |
| A | forkphorus.github.io | 185.199.109.153 | 3600 | — |
| A | forkphorus.github.io | 185.199.110.153 | 3600 | — |
| A | forkphorus.github.io | 185.199.111.153 | 3600 | — |
| AAAA | forkphorus.github.io | 2606:50c0:8000::153 | 3600 | — |
| AAAA | forkphorus.github.io | 2606:50c0:8001::153 | 3600 | — |
| AAAA | forkphorus.github.io | 2606:50c0:8002::153 | 3600 | — |
| AAAA | forkphorus.github.io | 2606:50c0:8003::153 | 3600 | — |
| NS | github.io | dns1.p05.nsone.net | 3093 | — |
| NS | github.io | dns2.p05.nsone.net | 3093 | — |
| NS | github.io | dns3.p05.nsone.net | 3093 | — |
| NS | github.io | dns4.p05.nsone.net | 3093 | — |
| NS | github.io | ns-1339.awsdns-39.org | 3093 | — |
| NS | github.io | ns-1622.awsdns-10.co.uk | 3093 | — |
| NS | github.io | ns-393.awsdns-49.com | 3093 | — |
| NS | github.io | ns-692.awsdns-22.net | 3093 | — |
| TXT | github.io | v=spf1 a -all | 3600 | — |
| CAA | github.io | 0 issue "digicert.com" | 3600 | — |
| CAA | github.io | 0 issue "letsencrypt.org" | 3600 | — |
| CAA | github.io | 0 issue "sectigo.com" | 3600 | — |
| CAA | github.io | 0 issuewild "digicert.com" | 3600 | — |
| CAA | github.io | 0 issuewild "letsencrypt.org" | 3600 | — |
| CAA | github.io | 0 issuewild "sectigo.com" | 3600 | — |
TLS and certificates
HTTP response headers
| Header | Value |
|---|---|
| content-type | text/html; charset=utf-8 |
| cache-control | max-age=600 |
| server | GitHub.com |
| strict-transport-security | max-age=31556952 |
| access-control-allow-origin | * |
Identified technologies
Pages, Search and Sharing
| Meta description | Forkphorus is a JavaScript compiler for Scratch 3, 2, and 1 projects. |
|---|---|
| Canonical URL | https://forkphorus.github.io/ |
| Language | English (default) |
| Twitter Card | Not detected |
Unknown
robots.txt (opens in a new tab)
HTTP 404No robots.txt found
Sitemaps
0No sitemaps found
Recent Updates
- Website images
- Screenshots
- Network details
- Website Technologies
- Pages and Search Information
- HTTP Response Information
- TLS and certificates
- DNS Information
- Website profile
- Website Description
- Website Name
- Website profile
- Website Description
- Website Name
User reviews (0)