win32.run
March 8, 2026 · View on GitHub
Windows XP in the browser — with a virtual file system, XP-style programs, Open/Save dialogs, third-party app support, and more.
This is a refactored rewrite of the original win32.run, migrated to Svelte 5 and deployed on Cloudflare Pages instead of a VPS. The entire refactor — migration, new features, and bug fixes — was done by Claude Code, Anthropic's AI coding assistant, with no manual code changes.
https://github.com/user-attachments/assets/26cbd93d-b784-407b-bc0a-12e32afcb5e9
What is this?
win32.run is a nostalgia project — a faithful Windows XP simulation that runs entirely in your browser. No server-side processing, no file uploads. Every user gets their own isolated OS session backed by IndexedDB.
Microsoft, Windows XP, and all program names/logos (WinRAR, Internet Explorer, Foxit, etc.) are trademarks of their respective owners. win32.run is purely for nostalgia and is not monetized.
Some games in the Games folder are embedded from CrazyGames. These are third-party embeds — CrazyGames may display ads within their games. I have no affiliation with CrazyGames and receive no monetary compensation of any kind from them.
Getting Started
git clone https://github.com/ducbao414/win32.run.cf.git
cd win32.run.cf
npm install
Dev server
npm run dev
Runs at http://localhost:3000.
Build
npm run build
Preview production build
npm run preview
Deploy to Cloudflare Pages
The easiest way is directly through the Cloudflare dashboard — no CLI needed:
- Push your fork to GitHub
- Go to Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git
- Select your repository
- Under Build settings, choose SvelteKit as the framework preset — it will fill in the build command and output directory automatically
- Click Save and Deploy
Cloudflare will build and deploy on every push to your main branch from that point on.
Documentation
For adding programs, working with the virtual file system, and extending win32.run: