This packages your Scratch project into a single HTML file that can run on its own in a web browser. The HTML file will be pretty big because it contains the entire Scratch engine (2.6 MB) and the costume and sound files used in the project. There is no direct translation between a Scratch block and a JavaScript equivalent because the two languages are fundamentally different, so you should not use the code in the generated file for learning HTML or JavaScript after Scratch.
The project will automatically start, and there are no green flag or stop sign buttons.
If you want to view or edit the HTML file, you can use the specialized Large File Editor to hide the long lines that may hang or crash normal text editors.
1You may have to deal with privacy laws around cookies outside of Scratch.
2Compatibility mode forces projects to run at 30 FPS, like in Scratch 2.0. Turning this off allows the project to run at a higher framerate (usually 60 FPS, depending on the computer screen's refresh rate).
3I think the implementation of this is poor. Maybe instead of setting mouse x/y, it can set a cloud variable with a certain name. You can leave feedback and suggestions on my profile.
4If a cloud variable with the name "☁ eval" is set, it'll run the variable value as JavaScript and store it in a cloud variable named "☁ eval output"; if there is an error, it'll be stored in "☁ eval error." If you're using a custom cloud server, then cloud variables whose names start with "☁ local storage" will store their values in localStorage instead of in the server.
Update history
See the code and previous versions on Github.
2020-12-18
- Specific mouse buttons can now be detected using
<key (join [MouseN] []) pressed?>
, whereN
can be 1 for left click, 2 for middle click, 3 for right click, and 0 for touch/pen. - Fixed an issue where Scratch 2.0 projects with bitmap projects wouldn't work.
2020-06-13
- More options for styling variable/list monitors
- Option to generate a .zip of files
- Option to preview the HTMLified project
- Readded the option for a progress counter despite lack of demand
- Warn if a file might be too large for JavaScript to HTMLify
- Fixed HTMLifying 2.0 projects
2020-06-01
- Option to remove clone/list length limits
- Option to hide the cursor
- Ability to distinguish between cloud variables for localStorage and the server (and run JavaScript using cloud variables)
- Option for rudimentary pointer lock
- Fixed mouse position and unresized lists not showing
- Default project changed to one of ScratchCat's
- Unfortunately, as part of these changes, I removed the option for a progress bar. If there's demand, I'll try to add it back.
2020-05-01
- Support for custom extensions from a URL
- CSS by Mr. Cringe Kid
2020-03-29
- Fixed custom stage sizes
2020-03-27
- Show an image such as a gif while loading
- Fixed dragging sprites simulating another green flag click
2020-01-06
- An offline version of the HTMLifier
2019-12-25
- An option to use a custom cloud server for cloud variables instead of saving to localStorage
2019-11-23
- A fullscreen button
- An option to change monitor colours
2019-10-05
- New ask box
2019-09-28
- A status text that shows the assets loaded
- Support the video extension
- Support draggable sprites
2019-08-08
- Removed "Scratch" from the name of this utility just in case
2019-07-27
- Support 16:9 projects
- Simplify the number of modes for HTMLification
2019-07-13
- Cloud variables store in localStorage
2019-06-29
- Upload project file instead of using project ID
- Toggle compatibility and turbo mode
2019-03-31
- Variable and list watchers
2019-02-09
- Project start
Made by Sheep_maker, who used scratch-vm, download.js, and their dependencies for this project.
CSS by Mr. Cringe Kid.