Run Windows XP Directly in Your Browser – No Virtual Machine Needed

A Reddit developer has open‑sourced win32.run, a web‑based emulator that reproduces the full Windows XP desktop—including games, Word, and file explorer—inside any modern browser without installing a VM, and provides step‑by‑step instructions for building and deploying the project.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Run Windows XP Directly in Your Browser – No Virtual Machine Needed

Overview

win32.run is a fully client‑side recreation of the Windows XP desktop that runs in any modern browser. By opening https://win32.run/ and pressing Enter , users see the classic Bliss wallpaper, taskbar, Start menu and a virtual file system with C: and D: drives.

Technical Architecture

Built with Svelte and SvelteKit for the UI layer and Tailwind CSS for styling.

The application is compiled to static assets (HTML, JS, CSS) that can be served by any static web server.

All runtime logic executes in the browser; no server‑side code is required for the core emulator.

File storage is implemented with the browser’s IndexedDB API, providing a persistent virtual C: and D: drive for each user session.

Optional server components (e.g., NGINX + PM2) are only needed to host the static build on a VPS.

Key Features

Fully functional Windows XP UI, including right‑click context menus, desktop icons, and a working Explorer.

Classic utilities and games: Minesweeper, Solitaire, a Minecraft‑style sandbox, space‑shooter, etc.

Embedded Microsoft Word 98 editor capable of opening and editing .docx files.

Media playback with subtitle support (place an .mp4 and a same‑named .srt in the same folder).

ZIP compression and extraction.

Support for loading small third‑party tools and Flash ( .swf) files.

Hidden Internet Explorer window for browsing external sites (e.g., Hacker News, GPT‑5 news).

Running Locally

git clone https://github.com/ducbao414/win32.run.git
cd win32.run-main
npm install
npm run dev   # starts development server at http://localhost:3000

Production Build

npm run build   # outputs static files to win32.run-main/build
npm run preview # preview the production build locally

Deployment

After building, copy the build directory, package.json and package-lock.json to a Linux VPS (e.g., Ubuntu on a $5/month Vultr instance). Install dependencies and start the server with PM2:

npm install
pm2 start build/index.js   # serves the app on the VPS (default port 3000)

Optionally configure NGINX as a reverse proxy to expose the service on standard HTTP/HTTPS ports.

Repository

The source code, documentation and issue tracker are hosted at https://github.com/ducbao414/win32.run. The project is open‑source and can be forked, modified, or self‑hosted.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Windows XPSvelteweb appbrowser emulation
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.