Skip to content
Switch branches/tags


This is Windows 95, running in an Electron app. Yes, it's the full thing. I'm sorry.


32-bit πŸ’Ώ Installer | πŸ“¦ Standalone Zip
64-bit πŸ’Ώ Installer | πŸ“¦ Standalone Zip
ARM64 πŸ’Ώ Installer | πŸ“¦ Standalone Zip
❓ Don't know what kind of chip you have? Hit start, enter "processor" for info.

Intel Processor πŸ“¦ Standalone Zip
Apple M1 Processor πŸ“¦ Standalone Zip
❓ Don't know what kind of chip you have? Learn more at

32-bit πŸ’Ώ rpm | πŸ’Ώ deb
64-bit πŸ’Ώ rpm | πŸ’Ώ deb
ARM64 πŸ’Ώ rpm | πŸ’Ώ deb
ARMv7 (armhf) πŸ’Ώ rpm | πŸ’Ώ deb


Does it work?

Yes! Quite well, actually - on macOS, Windows, and Linux. Bear in mind that this is written entirely in JavaScript, so please adjust your expectations.

Should this have been a native app?


Does it run Doom (or my other favorite game)?

You'll likely be better off with an actual virtualization app, but the short answer is yes. Thanks to @DisplacedGamers I can recommend that you switch to a resolution of 640x480 @ 256 colors before starting DOS games - just like in the good ol' days.


99% of the work was done over at v86 by Copy.


Before you can run this from source, you'll need the disk image. It's not part of the repository, but you can grab it using the Show Disk Image button from the packaged release, which does include the disk image. You can find that button in the Modify C: Drive section.

Unpack the images folder into the src folder, creating this layout:

- /images/windows95.img
- /images/default-state.bin
- /assets/...
- /bios/...
- /docs/...

Once you've done so, run npm install and npm start to run your local build.

Other Questions


This project is provided for educational purposes only. It is not affiliated with and has not been approved by Microsoft.