Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Doom in a Tab

Pedro Henrique FranciscoPedro Henrique Francisco7 downloads

Play Doom in a workspace tab with bundled Freedoom levels and support for your own WAD files.

  • Overview
  • Scorecard
  • Updates3

Play Doom in a desktop Obsidian tab. The plugin runs Chocolate Doom in WebAssembly and includes Freedoom Phase 2. You can also load your own Doom WAD files.

Support development

Enjoy playing Doom in your vault? Support my work on Ko-fi. Donations are optional and help me maintain the plugin.

Install

Requires Obsidian Desktop 1.8.0 or later and a keyboard. Get main.js, manifest.json, and styles.css from GitHub Releases. Put all three in <vault>/.obsidian/plugins/doom-in-a-tab/, then enable Doom in a Tab under Settings → Community plugins. For a vault with a custom configuration folder, use that folder in place of .obsidian.

If you installed an earlier preview, disable Obsidian DOOM and install this release in the new doom-in-a-tab folder. The plugin ID changed before Community directory submission.

Play

Open the game from the gamepad ribbon icon or the Open DOOM command. Click Play / Resume, then choose New Game and a skill level. Click the canvas to enable sound and capture the mouse.

  • WASD to move and strafe. Up/Down move and Left/Right or the mouse turn.
  • Ctrl or left click fires. E or Space interacts. Shift runs.
  • 1–7 select weapons. Tab opens the automap. Esc releases the mouse or opens the game menu.
  • Use the toolbar for master volume and mute. F4 opens the game's sound menu.

Switching tabs pauses the game. Restart starts a new engine session. Saves and settings are temporary and disappear when you restart or close the game.

Use your own WADs

Load WAD opens a file picker. Select one base IWAD and up to 16 vanilla-compatible PWAD add-ons. Select all add-ons together, since each new selection replaces the previous add-on list. The plugin checks WAD directory bounds, map structure, and base-game compatibility before handing the files to the engine. Individual files are limited to 128 MiB and the selected files to 192 MiB in total.

The engine supports Freedoom Phase 1 and 2, Doom, Doom II, and Doom Shareware IWADs. Shareware does not support add-ons. Select Play / Resume after loading files. Freedoom 2 restores the bundled game. Reselect custom WADs after closing the tab or Obsidian.

Privacy and file access

Gameplay is offline. The plugin makes no network requests, collects no telemetry, displays no ads, and requires no account or payment to play. The file picker can read WAD files outside the vault only when you select them. The plugin keeps those files in memory and does not read or write notes. The game runs in an isolated iframe with network access blocked. WebAssembly and game data ship inside main.js.

Build and verify

Use Node.js 22.13+ or 24+ and npm.

npm ci
npm run check
npm run lint
npm test
npm run build
npm run package:source

The installable files are in dist/doom-in-a-tab/. Corresponding source and notices are in dist/doom-in-a-tab-source/. The plugin build verifies the SHA-256 hashes of the vendored engine artifacts. See the engine build instructions for rebuilding the WebAssembly engine from the included C source.

For the browser smoke test, set DOOM_BROWSER_PATH to a Chrome, Chromium, or Edge executable and run npm run test:browser after building. The test runs the release bundle in an offline Chromium test host.

Licensing

The plugin and Chocolate Doom use the GPL-2.0-or-later license. Freedoom Phase 2 uses its permissive license. The third-party notices cover the engine, game assets, SDL, and Emscripten. No commercial Doom assets are bundled. Doom in a Tab is an unofficial project.

Sync and source downloads

The bundled game makes main.js about 43 MiB. This exceeds the 5 MB per-file limit reported by Obsidian Sync Standard. Install the plugin separately on each desktop. Saves remain temporary.

GitHub provides corresponding source as the automatic source-code archives on each release, including the vendored engine source, build scripts and licenses. Release assets are built and attested by GitHub Actions.

HealthExcellent
ReviewNot scanned
About
Play Doom in a desktop Obsidian tab using Chocolate Doom compiled to WebAssembly, with Freedoom Phase 2 bundled. Load your own IWAD/PWAD files to run Doom, Doom II, Freedoom or shareware WADs and play classic levels and mods directly inside Obsidian.
VideoFiles
Details
Current version
0.1.3
Last updated
4 days ago
Created
4 days ago
Updates
3 releases
Downloads
7
Compatible with
Obsidian 1.8.0+
Platforms
Desktop only
License
GPL-2.0
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Author
Pedro Henrique FranciscoPedro Henrique Franciscopedrohf-dev
GitHubpedrohf-dev
  1. Community
  2. Plugins
  3. Video
  4. Doom in a Tab

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Quick Explorer

Perform file explorer operations (and see your current file path) from the title bar, using the mouse or keyboard.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Flexplorer

Enhance the file explorer with custom sorting, pinning, and hiding.