MS DOS WINDOWS EMULATOR
DOSee
DOSee — a web-front end that runs an EM-DOSBox (DOSBox JavaScript) MS‑DOS emulation stack in the browser, packaged as a progressive web app and development repository.

WHY IT MATTERS
Why DOSee exists
DOSee provides a ready-made, browser-first user interface and packaging for an MS‑DOS emulation ecosystem (EM‑DOSBox / emularity/DOSBox in JavaScript). It aims to make MS‑DOS games, demos, and software runnable in modern browsers (online or as an offline PWA) with configuration UI, example machine profiles, gamepad-to-keyboard mapping, and a simple install/build flow.
BEST FOR
What DOSee is best for
Running MS‑DOS software in a web browser with a prebuilt UI and example machine presets; quickly deploying a local instance for testing or packaging a PWA to run DOS content offline in modern browsers.
The people behind DOSee
History & upstream
DOSee is a fork/packaging effort built on work from The Emularity project and EM‑DOSBox (a JavaScript port of DOSBox). The repository collects a web UI, example disk images/programs (noting some non-free binaries are included in specific folders), and build/serve scripts to run the emulator locally or as a web app. The author credits the larger DOSBox and emulation community and documents that DOSee is feature-complete; it focuses on UI, packaging, and example content rather than reimplementing core emulation. The project source, README, and project site document requirements (a browser with service worker support and a local HTTP server) and provide build/serve instructions.
What DOSee supports
- Web browser (Chrome, Edge, Safari, Firefox) — runs on desktop and mobile browsers that support service workers
- Progressive Web App (PWA) offline use when installed
- Local hosting via Node.js (pnpm) or Docker; works on Windows, macOS, Linux when served
- Input: physical keyboard required; optional gamepad (mapped to keyboard)
Download and availability
OFFICIAL DOWNLOADS
Get DOSee
Official source, releases and builds are hosted on the project's GitHub repository and releases page. The docs and live demo are on the project's site.
Get DOSee ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗DOSee setup guide
Setup note: This guide follows the project's official README and docs: DOSee is a web application that must be built and served over HTTP. The repository includes build scripts (pnpm), optional Docker containers, and example machine/program bundles. The steps below outline getting a local instance running, customizing a machine, and packaging as a PWA.
- 1) Fetch the official source: Clone the official GitHub repository (bengarrett/DOSee). Use git to clone the repository to your machine. Do not open index.html from the file system — DOSee requires an HTTP server.
- 2) Install runtime/build tools (Node.js + pnpm) or use Docker: Install Node.js (LTS recommended). The project uses pnpm as its package manager. If you prefer containers, the repo contains a Dockerfile and docker-compose.yml you can use instead of installing Node.js and pnpm locally.
- 3) Install dependencies and build: From the repo root run the package manager commands shown in the README: pnpm install (or pnpm run install as documented) to install packages and build the web app assets. This step prepares the JavaScript emulator core (EM‑DOSBox) and the DOSee front-end.
- 4) Serve DOSee over HTTP for local testing: Start the included development/serve script. Examples in the README show pnpm run serve which launches a local HTTP server (default documented port is 8086). Open http://localhost:8086 in a browser that supports service workers. If you use Docker, follow the Dockerfile/docker-compose.yml flow to build and expose the same port.
- 5) Use the UI and load example machines: The DOSee UI provides machine presets (e.g., Tandy 1000, EGA+AdLib, VGA+AdLib) and hardware options (CPU speed levels, video adapter selection, audio addons such as Sound Blaster and Gravis UltraSound). Use the UI controls to change hardware, then reboot the emulated machine from the interface to apply settings.
- 6) Mounting games, disks and disk images: DOSee's documentation describes how to mount programs and disk images from the included disk_drives/dos_programs folders or by editing the app configuration. Because DOSee is an interface around EM‑DOSBox, it follows the same constraints: you supply the DOS programs, disk images, or directories you wish to run. DOSee's codebase contains helpers and example presets for common games; do not expect commercial game binaries or BIOS/firmware files to be bundled or redistributed.
- 7) Gamepad and input: Gamepad support is implemented by mapping gamepad buttons to keyboard actions. The mapping object can be edited in src/js/dosee-gamepad.js. For text input and command-line work, use a physical keyboard.
- 8) PWA / offline usage: DOSee includes service worker support and can be used as a PWA. After serving over HTTPS (or localhost for development), install the web app from the browser to enable offline caching. Note that service workers cache app assets — after rebuilding you may need to use the UI’s Update DOSee button or unregister the service worker to see changes.
Software reminder: DOSee is a front-end and packaging layer around EM‑DOSBox. You must provide any commercial MS‑DOS programs, disk images, or BIOS/firmware yourself and comply with their licenses. The project README notes some non-free binaries are present in specific source folders for convenience; verify licensing before reuse.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for DOSee as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
