Web-based tool for extracting assets.epw out of any WASM-GC based offline Eaglercraft HTML file.
https://kinnnine.github.io/extractepw
This project's source code doesn't host or contains any portion of Eaglercraft and any offline Eaglercraft HTML files. Its only job is allows you to extract assets.epw out of HTML file you provided.
Spaghetti code and bugs are expected to be found here, and not every html files will work with this tool.
- EaglercraftX_1.8_u53_WASM-GC_Offline.html
expectedassets.epwsha256:ecfa438804724de30a871408058b25504746ab14705486cd9ec32855676cc524 - Eaglercraft_1.12.2_u3_WASM_Offline.html
expectedassets.epwsha256:6dc65357ddc681ee95ec8623850de6389d746c723fb7329eb3f8746ffcbbafb3
Valid assets.epw file must have a magic number of 45 41 47 24 57 41 53 4D (|EAG$WASM|), hexdump output example below.
$ hexdump -n 8 -C assets.epw
00000000 45 41 47 24 57 41 53 4d |EAG$WASM|
This tool's main function can break down into 4 steps:
- Find the longest line containing base64 string, by using matching string
window.eaglercraftXOpts.assetsURI.
code - Now, we should have
window.eaglercraftXOps.assetsURI = "data:application/octet-stream;base64,<huge_and_long_base64_string>==";, store it to somewhere.
code - Take entire line of matched string into cleaning and stripping out the unneeded, we should have just a very long base64 string.
code - Decode the base64 string into file data, then create a blob file for it, finally we will have assets.epw available for download.
code
This tool is very straightforward, press Choose File, select valid .html file and then press Extract & Download.
- Mithril.js: JavaScript framework
- Workbox: Handling asset caching for offline use
- xterm.js: Logging
- Vite: Web Bundler
- lax1dude: Eaglercraft, inventing EPW file format.
This software is created by Supphakit Duanghoy (kinnnine), copyright (c) 2026 under GPLv2 license.