
GemShell – Export HTML5 Web Games to Desktop (Windows, macOS, Linux)
A downloadable tool for Windows, macOS, and Linux
Ship your HTML5 game to Steam, itch.io or anywhere else. GemShell turns your web build into a tiny ~3 MB native app with Steamworks and GemCore native APIs on board – built for high FPS and instant startup.
No Electron. No NW.js. No 150 MB bloat. Just your game.
~3MB Binary Size · ~2s Build Time · 3 Platforms
How It Works
FROM WEB TO DESKTOP IN 3 STEPS
![]() DROP YOUR WEB BUILDDrop your HTML5 build – Godot, Unity WebGL, Construct, GDevelop, Phaser… no plugins, no code changes.
|
![]() CONFIGUREMake it pro: tweak window, icons, assets and GemCore API options so your native build fits your game.
|
![]() EXPORT & SHIPOne click builds native Windows, macOS and Linux builds in ~2 seconds – ready for Steam, itch.io and GOG.
|
True Cross-Platform
ONE CLICK. MULTIPLE PLATFORMS.
Export Windows, macOS, and Linux builds simultaneously. Ship to itch.io, Steam, GOG, or your own website.
Windows
.exe
|
macOS
.app
|
Linux
.elf
|
iOS
PLANNED
|
Android
PLANNED
|
Beyond the Browser
NATIVE APIS. ZERO SETUP.
Access OS features your web game never could. Use what you need.
GEMCORE API
Documentation Available
|
|
STEAMWORKS API
Documentation Available
|
Engine Agnostic
WORKS WITH YOUR FAVORITE ENGINE
If it exports to HTML5, GemShell can ship it as a native app.
|
Godot |
Unity |
![]() Phaser |
Construct |
![]() GDevelop |
GameMaker |
Pixi.js |
Three.js |
+ More |
Choose Your Version
START FREE. GO PRO WHEN READY.
LITEFor game jams, prototypes & small releases
|
PROFor long‑term projects, teams & store releases
|
|
| ✓ | ✓ | |
| ✓ | ✓ | |
| ✓ | ✓ | |
| ✓ | ✓ | |
| Test Mode | ✓ | |
| — | ✓ | |
| — | ✓ | |
| — | ✓ | |
| — | ✓ | |
| — | ✓ | |
|
Download Below ↓
|
Purchase Below ↓
|
"This tool is really simple to use and I love it! I tested the lite version with my GDevelop projects and I like that it cut down a lot of the bloat."
— Acci, itch.io user
READY TO SHIP YOUR GAME?
Download Lite free. Export your first desktop build in under a minute.
Join 100+ developers in our Discord for support, feedback & feature requests.
discord.gg/b24q5B8ZAY · gemshell.dev
GemShell Beta v0.5+ · No Electron · No NW.js · No Chromium · Just your Game
| Updated | 10 days ago |
| Status | In development |
| Category | Tool |
| Platforms | Windows, macOS, Linux |
| Rating | Rated 5.0 out of 5 stars (2 total ratings) |
| Author | spagheddis |
| Tags | converter, desktop, export, game-development, html5, linux, macos, tools, web-to-desktop, windows |
| Average session | A few minutes |
| Languages | English |
| Inputs | Keyboard, Mouse |
| Links | Homepage, Discord |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $16.99 USD. You will get access to the following files:
Download demo
Development log
- GemShell v0.6.0 Changelog10 days ago
- BETA 0.5.1 - Steamworks & native APIs are here16 days ago
- GemShell v0.0.5 - 95% Faster Loading! ⚡48 days ago







Comments
Log in with itch.io to leave a comment.
This is great, thanks! I’d appreciate some additional features:
Thank you for your feature request. They are included in the new Update of GemShell: https://l0om.itch.io/gemshell/devlog/1137312/gemshell-v060-changelog
Would it be possible to make it optional to include node.js with the build? This would be required for those of us building games that utilise a local server/client architecture.
Hello Bioburden,
It's great to have you here! Our vision is to pack small games that include everything we need. While there are many frameworks available with Chromium and Node.js, we see this as an opportunity to develop our own native server communication API without unnecessary bloat. I'll note this as a feature request for upcoming updates.
Thanks, keep up the great work.
This will be possible in the next update fyi :-):
const ws = new WebSocket('wss://server.com/game');
ws.onopen = () => console.log('Connected');
ws.onmessage = (e) => console.log('Data:', e.data);
ws.onerror = (e) => console.error('Error:', e);
ws.onclose = () => console.log('Disconnected');
ws.send(JSON.stringify({ action: 'move', x: 10, y: 20 }));
Nice. I also see some utilising Bun for performance.
This tool is really simple to use and I love it! I tested the lite version with my Gdevelop projects and I like that it cut down a lot of the bloat
this sounds really cool! 😍
Though one of the most important things for me to even consider with a Construct 3 export is how well it integrates with Steam.
How well does this one work with Steam features like achievements, overlay, and things like that?
Hey, nice to have you here!
Quick note on Steam support: it’s not available yet because we don’t bundle Node.js with your game. I’m adding Steamworks via native C bindings so you’ll get the key features without Node.js bloat soon.
I can’t give an exact ETA, as I’m heads‑down on a major GemShell update right now. I’ll share progress and timelines as soon as they’re ready.
The new update will include native Steamworks with all essential functions, allowing you to use the GemShells API to interact with Steam. It currently works properly on Mac and Windows, while Linux is still in testing.
Intriguing project, thanks for making & sharing it! Can you elaborate a bit on what are the advantages of using this instead of the default Windows / macOS exporters in Construct 3? Because Scirra recently moved away from NW.JS and the current exporters all use “slim” runtimes (WebView2 on Windows and WKWebView on macOS).
JS Legend Dev claims this uses Neutralino.js? That is real nice, however...
If it had the option to choose NW.JS instead, to ask if they want it to run in Chromium or the user's default OS browser.
Please make that happen!
The new version will not include Neutralino anymore, and Chromium is not currently planned. However, I will take it as a feature request because GemShells' vision is to deliver executables as small as possible.
yup, JSlegendDev shared this, I've tried it with ExcaliburJS game i made, and it worked easy peasy... very intrested in where this development goes!
Thanks for the feedback, great to hear it works with ExcaliburJS! Stay tuned for the next big update, it will significantly improve performance across all operating systems and deepen our Steamworks integration.
Heard about this from https://jslegenddev.substack.com/p/export-web-games-for-desktop-in-one
Welcome! Super excited to hear any feedback or feature requests – join us in our Discord channel! Big love to jslegend!