Play Morrowind in your browser. The OpenMW engine, compiled to WebAssembly, by Virtastic.
▶ Play now at morrowind.virtastic.app · Discord · YouTube · Releases · Issues · Discussions
openmw-web is a WebAssembly build of OpenMW, the open-source reimplementation of The Elder Scrolls III: Morrowind. The whole engine runs client-side in a desktop browser - no plugins, no streaming service, and no game data included: you bring your own legally-owned copy.
New in 1.2.0: the admin dashboard. Run your own server entirely from a browser - a setup wizard, a mod manager with drag-to-order, Tamriel Rebuilt support, savegame export, backups, logs and accounts. Multiplayer (added in 1.1.0) is there too, behind an experimental flag.
You need Docker and your own copy of Morrowind. Then:
git clone https://github.com/Virtastic/openmw-web.git
cd openmw-web
./setup.sh # Windows: .\setup.ps1- Grab the latest
openmw-web-*.zipfrom Releases and unzip it intoplay/(the game engine is too big for git - the script reminds you). - Your browser opens http://localhost/admin. Create your admin account, answer the wizard.
- Drag your Morrowind
Data Filesfolder in when it asks. Play at http://localhost.
That's it. SELF_HOSTING.md covers everything else - the dashboard page
by page, mods, Tamriel Rebuilt, multiplayer, domains and HTTPS. Stuck? Ask in
Discord.
On your own server, open http://localhost in desktop Chrome - or just play the hosted site at morrowind.virtastic.app. The launcher offers:
- The example world - a small free demo, no Morrowind required.
- Bring your own Morrowind - point the browser at your
Data Filesfolder; files stream from disk on demand, nothing is uploaded. - This server's copy - when the host has game data staged, play it with nothing to pick.
- Your own Morrowind, from anywhere - sign in and upload once; it follows your account to any machine, saves included.
Settings and keybindings persist in the browser. Saves go with how you play: to real files inside your picked folder ("bring your own"), to the server when signed in, or to browser storage for the offline demo. In-game, Options → Video has a resolution-scale setting - drop it a notch on lighter hardware.
- "Can't open this folder because it contains system files." Chromium refuses folders
under
Program Files, where Steam's default library lives. CopyData Filesto your Desktop or Documents and pick it there. GOG installs are unaffected. - "Doesn't look like a Data Files folder." Pick the folder actually containing
Morrowind.esmandMorrowind.bsa(or its parentMorrowindfolder). - No sound, music, or intro video. Your copy is missing the loose
Sound/Music/Videofolders that live beside the archives. A normal Steam or GOG install has them.
More help: Discord.
Experimental. Playable, but young - expect rough edges.
Three ways to play, switched from inside the game: Solo (your own world), Party (your group in one world), and Public (a shared lobby with strangers - nothing there is permanent; you leave with exactly what you brought). Visiting a friend's world advances their campaign; you keep the skills you used and what you carry out.
The server owns the world: NPCs, combat resolution and loot are simulated server-side by a headless copy of the engine, so a modified client cannot author what an NPC did. Friends, parties with loot rolls, whisper/mute/block, in-game reporting and server-side saves are all there.
On the hosted service, sign-in is SSO only (Google / Discord / Microsoft - no passwords to
leak; accounts are keyed on the provider's stable ID, never your email). A server you run
chooses its own sign-in in the setup
wizard. Running your own is the quick start above with
OMW_EXPERIMENTAL=multiplayer set; provider-side steps live in
docs/MULTIPLAYER-SETUP.md.
A code-only repo - game assets, dependency caches and build outputs are gitignored.
| Path | Purpose |
|---|---|
openmw/ |
OpenMW engine source (upstream plus local WASM changes) |
play/ |
Browser front-end: launcher, game page, dev server |
server/ |
The server (TypeScript/Node): admin dashboard, worlds, SSO, storage, savegames |
wasm-build/ |
Build scripts, patches and tooling for the WASM engine |
deploy/ |
Container and reverse-proxy config |
The openmw/ tree tracks upstream at the commit recorded in
.openmw-base-commit.txt; how the desktop engine was made to run
in a browser tab is written up in WASM_ADAPTATIONS.md.
Every release ships two archives:
openmw-web-<tag>.zip- the prebuilt engine and web front-end. It feeds the Docker quick start (unzip intoplay/) and also runs standalone: unzip anywhere and double-clickStart openmw-webfor a dashboard-less static server.openmw-web-src-<tag>.tar.gz- the exact source snapshot (GPLv3 Corresponding Source).
See CHANGELOG.md for what changed.
Only needed if you are changing the engine itself - the releases ship it prebuilt. The
toolchain (Emscripten 6.0.1), the dependency stack, the wasm64 story and every hard-won
gotcha live in docs/BUILDING.md. Questions:
Discord.
Desktop Chrome or Chromium with MEMORY64 (Chrome/Edge 133+): the engine needs
SharedArrayBuffer + threads, WebGL2 via ANGLE, EXT_clip_control, and the File System
Access API. Firefox, Safari and mobile are not supported.
openmw-web is licensed under the GNU General Public License, version 3. It is a derivative
work of OpenMW, which is itself GPLv3, so the combined work is GPLv3. The full text is in
LICENSE; bundled dependencies keep their own licenses (see
THIRD-PARTY-LICENSES.md).
The Elder Scrolls and Morrowind are trademarks of ZeniMax Media / Bethesda Softworks. This project is not affiliated with, endorsed by, or associated with Bethesda or ZeniMax. No Morrowind game data is included or distributed here; you must own and supply your own legally-obtained copy. The engine is an independent, clean-room reimplementation (OpenMW) and ships no Bethesda assets.
- Discord - the fastest place for help, screenshots, and news. Technical deep-dives welcome.
- YouTube (@Virtastic-Apps) - demos, build logs, and other native-to-browser ports.
- GitHub Discussions - longer questions and showcases.
Bugs and features go to Issues; pull
requests are welcome, see CONTRIBUTING.md.
openmw-web is built and hosted by Virtastic. If you enjoy it, you can support us on Ko-fi or Patreon - it pays for the servers and the development time. Nothing is behind a paywall: every mode is free to everyone, and no tier buys a feature.
- WASM port, tooling, and hosting: © 2025–2026 Virtastic. See
NOTICEandAUTHORS.md. - OpenMW: the engine this is built on, by the OpenMW team.
- Demo world: the OpenMW Example Suite (CC-BY / CC-BY-SA) by DestinedToDie and contributors, plus the OpenMW template data files.

