Runs 16-bit Windows (1.x to 3.1) programs on 64-bit Windows through an emulator, with a DOS mode for DOS executables.
86Box/86Box
A low-level x86 emulator that runs vintage operating systems and software for IBM PC and compatible machines from 1981 onward.
- Stars
- 4,985
- Forks
- 641
- Open issues
- 20
- Last commit
- 4 hours ago
What is it?
86Box emulates x86-based PC hardware so that older operating systems and software designed for IBM PC systems and compatibles can run on modern computers. It focuses on low-level accuracy, covering processors from the 8086 era up to the Mendocino-era Celeron, and includes many period systems, from the original IBM PC 5150 to IBM PS/2 machines based on the Micro Channel Architecture.
Virtual machines are configured through a hypervisor-style interface. The emulator supports a wide range of peripherals, including video adapters, sound cards, network adapters, hard disk controllers and SCSI adapters, and provides MIDI output through Windows MIDI, FluidSynth or emulated Roland synthesizers. Guests can include MS-DOS, older Windows versions, OS/2, many Linux distributions, BeOS and NEXTSTEP.
The project is written in C and runs on Windows, Linux and macOS. Third-party machine managers exist for users who want to organize many virtual machines, and the command line option `-P` can point to a separate machine folder.
Key features
- 01Low-level x86 emulation from 8086-class processors up to Mendocino-era Celeron, with a focus on accuracy
- 02Many period systems, including the IBM PC 5150 and Micro Channel-based PS/2 machines
- 03Broad peripheral support for video, sound, network, hard disk and SCSI adapters
- 04MIDI output via Windows MIDI, FluidSynth or emulated Roland synthesizers
- 05Hypervisor-style interface with customizable virtual machine settings
Use cases
- Running MS-DOS games and applications from the 1980s and 1990s on a modern PC
- Testing legacy software or drivers on period-accurate hardware configurations
- Exploring early Windows, OS/2 or Linux releases in a preserved environment
- Studying how historical PC hardware and BIOS behaved at a low level
Quick start
- 1
Read the official documentation for an overview of features and the user interface
- 2
Follow the build guide to build 86Box from source
Things to know
- Licensed under GPL-2.0, a copyleft license that requires derivative works to remain open source.
- Most emulation runs in a single thread, so emulated speed depends on the host CPU's per-core performance.
Topics
FAQ
- What is 86Box?
- A low-level x86 emulator that runs vintage operating systems and software for IBM PC and compatible machines from 1981 onward. 86Box emulates x86-based PC hardware so that older operating systems and software designed for IBM PC systems and compatibles can run on modern computers. It focuses on low-level accuracy, covering processors from the 8086 era up to the Mendocino-era Celeron, and includes many period systems, from the original IBM PC 5150 to IBM PS/2 machines based on the Micro Channel Architecture.
- Is 86Box free to use? What license does it have?
- 86Box is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is 86Box still maintained?
- Actively maintained. The last commit to 86Box was on Nov 7, 2026.
- What can I use 86Box for?
- Running MS-DOS games and applications from the 1980s and 1990s on a modern PC Testing legacy software or drivers on period-accurate hardware configurations Exploring early Windows, OS/2 or Linux releases in a preserved environment Studying how historical PC hardware and BIOS behaved at a low level
- How do I install 86Box?
- Read the official documentation for an overview of features and the user interface Follow the build guide to build 86Box from source
- Where can I get 86Box?
- The source code and installation instructions are on GitHub: https://github.com/86Box/86Box
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An x86 PC emulator that runs in the browser, translating machine code to WebAssembly at runtime to boot real operating systems.
Transfers binary files from an NEC PC-98 to Windows 11 by splitting them into QR codes that are photographed with a phone.
A macOS app that runs Intel macOS versions from Tiger 10.4 to Big Sur 11 on Apple silicon Macs, with graphics acceleration.
A Linux shell for iOS that runs x86 Linux userspace via usermode emulation and syscall translation, with no jailbreak required.
A lightweight CPU emulator framework based on QEMU that runs machine code for multiple architectures through a clean, architecture-neutral API.