# Doom in a browser or native port: WADs, demos and Doom 3

Canonical: https://playable.wtf/guides/doom-quake-browser-versions/

Written: 2026-10-17

For classic Doom, choose a WAD launcher or a native port. For Doom 3, separate the browser demo from an owned retail installation.

## Choose the game and client

For classic Doom with your own WADs, start with [WAD Commander v1](https://playable.wtf/games/wad-commander-v1/) in a browser or [Chocolate Doom](https://playable.wtf/games/chocolate-doom-chocolate-doom/) as a native application. For Doom 3, choose between the [D3Wasm demo](https://playable.wtf/games/doom-3-browser/) and [dhewm3 with owned retail files](https://playable.wtf/games/dhewm-dhewm3/). These are two different generations of game: a Doom WAD cannot supply Doom 3.

Choose by game and setup

| Project | Choose it for | Prepare |
| --- | --- | --- |
| [WAD Commander v1](https://playable.wtf/games/wad-commander-v1/) | Classic Doom, Doom II and vanilla-compatible additions in a browser | Owned WADs, or the offered shareware/Freedoom choices |
| [Chocolate Doom](https://playable.wtf/games/chocolate-doom-chocolate-doom/) | A native port preserving DOS behavior | The engine download plus matching game data |
| [D3Wasm](https://playable.wtf/games/doom-3-browser/) | A browser taste of Doom 3 | Desktop keyboard/mouse and roughly 400 MB for demo data |
| [dhewm3](https://playable.wtf/games/dhewm-dhewm3/) | Original Doom 3 as a native game | Original 1.3.1 data; BFG Edition files are incompatible |

For a session with friends, [Silent Space Marine](https://playable.wtf/guides/doom-quake-browser-versions/#multiplayer) is a separate browser option. Looking for Quake instead? The [Quake campaign and multiplayer guide](https://playable.wtf/guides/quake-browser-native-versions/) compares its four browser clients.

## Classic Doom in a browser

In [WAD Commander v1](https://v1.wadcmd.com/), choose **Open file(s)** or drop your files onto the page. Your base IWAD supplies the game; a PWAD adds content. Select the base game before its compatible patches. Without retail files, the welcome screen offers Doom shareware and Freedoom. Freedoom has its own levels and art; it is not the retail Doom campaign.

Use fullscreen for desktop mouse control. Recognized controllers are supported. On a touchscreen, move through the play area and use the side buttons: hold **Use** to strafe, but double-tap it for doors and switches. Saves belong to the selected WAD/patch combination; return with the same files in the same order. Keep those originals outside browser storage. The [v1 help](https://v1.wadcmd.com/src.f5a9bab8.js) covers vanilla-compatible content, not every modern Doom mod.

[Jacob Enget’s doom.wasm](https://playable.wtf/games/doom-wasm-browser/) serves a different purpose: a minimal engine demonstration with shareware as its default data. Arrows move and turn, **Ctrl** fires, **Space** uses switches, and comma/period strafe. It produces no music or sound effects, and its screen-melt transition can briefly appear frozen. Its programming interface supports custom WADs, but that does not make the example a full mod manager. See the [project’s controls and limitations](https://github.com/jacobenget/doom.wasm).

## Doom with friends

[Silent Space Marine](https://playable.wtf/games/doom-multiplayer-browser/) wraps Chocolate Doom in Cloudflare’s browser multiplayer experiment. Choose **Play Solo**, or have one person select **Start Multiplayer** and share the invitation URL. Guests enter their names and wait for that host to start; opening separate games will not put everyone together.

The creator documents up to four players, desktop mouse input, sound, **F** for fullscreen and virtual gamepads on phones. Everyone’s simulation waits for the group’s inputs, so the slowest connection affects the match. Abrupt disconnects and reconnections are a known weakness. Plan a live session with friends rather than relying on it as a durable multiplayer save. These limits come from [Cloudflare’s implementation guide](https://blog.cloudflare.com/doom-multiplayer-workers/).

## Classic Doom as a native game

[Chocolate Doom](https://playable.wtf/games/chocolate-doom-chocolate-doom/) is the native choice when original DOS behavior matters, including compatibility with old demos and saves. Use the [platform download](https://www.chocolate-doom.org/wiki/index.php/Downloads), supply the matching game data, then run its setup utility to configure keyboard, mouse, sound or gamepad. The [setup menu](https://www.chocolate-doom.org/wiki/index.php/Setup) can also start a game or join a network session.

Choose additions designed for vanilla Doom. A WAD requiring an advanced engine’s scripting or rendering is outside this port’s purpose. Some older total conversions need Chocolate Doom’s `-merge` option and their accompanying DeHackEd patch, as explained in its [total-conversion instructions](https://github.com/chocolate-doom/chocolate-doom#playing-tcs). Establish a working base game before adding them.

## Doom 3: demo or owned files

[D3Wasm](https://playable.wtf/games/doom-3-browser/) uses dhewm3 as its engine basis, but its hosted route supplies only the Doom 3 demo. Allow roughly **400 MB** to download. The menu appears before all data arrives, so starting a new game can still leave you waiting for the rest. Use a desktop keyboard and mouse: **WASD** moves, **Home** opens the menu or skips cinematics, and **Insert** opens the console.

Saves and configuration stay in IndexedDB in that browser profile. Avoid private browsing when keeping progress, and do not clear site storage to fix a slow initial load. The creator reports no usable phone touch scheme and a broken in-game brightness adjustment. Read the [D3Wasm guide](https://www.continuation-labs.com/projects/d3wasm/) before choosing this experimental renderer for a longer session.

For owned retail Doom 3, [dhewm3](https://playable.wtf/games/dhewm-dhewm3/) offers a native route. With its official Windows/Linux build, place the original game’s patched PK4 files in `base/` beside the executable, then run dhewm3. It needs version 1.3.1, including `pak000.pk4` through `pak008.pk4`; the [installation guide](https://dhewm3.org/#how-to-install) covers other platform locations. A store bundle containing BFG Edition may also include the original; select that original installation. The port supports gamepads without rumble and opens its extra settings with **F10**. Its [README](https://github.com/dhewm/dhewm3) and supported-mod list govern compatibility.

## Quake and other fallbacks

Quake’s files, campaigns and servers are separate. Use [the dedicated Quake guide](https://playable.wtf/guides/quake-browser-native-versions/) to choose NetQuake’s first-game campaign, Pieter’s QuakeWorld or Quake II multiplayer, or Q3JS’s Quake III arenas.

If a Doom browser host is unavailable, your owned classic WADs can still be used with a compatible native engine such as Chocolate Doom; original Doom 3 files belong with dhewm3. That changes the application and storage location. Keep existing saves and use the [save and backup guide](https://playable.wtf/guides/browser-game-saves-backups/) before moving anything; one project’s save support does not promise transfer from another.

## Project reading

- [WAD Commander v1 · launcher and help](https://v1.wadcmd.com/)
- [doom.wasm · browser example and limits](https://github.com/jacobenget/doom.wasm)
- [Cloudflare · Silent Space Marine multiplayer](https://blog.cloudflare.com/doom-multiplayer-workers/)
- [Chocolate Doom · project and compatibility](https://github.com/chocolate-doom/chocolate-doom)
- [D3Wasm · demo requirements and controls](https://www.continuation-labs.com/projects/d3wasm/)
- [dhewm3 · original-game installation](https://dhewm3.org/#how-to-install)
