v86 is an open-source x86 PC emulator that runs entirely in the browser using WebAssembly for near-native performance. It translates x86 machine code into WebAssembly at runtime, enabling users to boot and run full operating systems without installing anything locally. The emulator supports a wide range of legacy systems, including Linux, Windows 95/98/2000, FreeDOS, and various experimental OSes. It simulates essential hardware components such as CPU, memory, VGA graphics, sound cards, network adapters, and storage controllers. Designed for both experimentation and embedding, v86 can be integrated into web apps or used as a standalone virtual machine environment. Overall, it provides a powerful way to explore operating systems, retro computing, and low-level system behavior directly from a web browser.
Features
- Full x86 emulation in the browser using WebAssembly-based JIT compilation.
- Supports multiple operating systems including Linux, Windows (legacy), BSD, and DOS.
- Emulates hardware components like CPU (Pentium-level), VGA, IDE, network, and sound devices.
- Runs entirely client-side with no installation required—just a browser.
- Embeddable via libv86.js or npm package for web applications.
- Includes networking, filesystem support, and state save/restore capabilities.