A whole PC in a tab
v86 emulates a 32-bit x86 machine and JITs guest code to WebAssembly. SeaBIOS and a VGA BIOS boot exactly as they would on metal.
x86 PC · emulated in WebAssembly
Drop in a live .iso and Distrolab spins up a virtual PC — SeaBIOS, a
real boot sequence, a running kernel — entirely on this tab. Nothing is uploaded.
Nothing is installed.
Drop an ISO here or click to choose a file
.iso · .img · .raw — stays on your machine
These pull from a same-origin /images folder. Run
npm run fetch-images once before deploying to populate it — or just use
drop / paste above, which always works.
v86 emulates a 32-bit x86 machine and JITs guest code to WebAssembly. SeaBIOS and a VGA BIOS boot exactly as they would on metal.
The file is read with the File API into memory and mounted as a virtual CD-ROM. No server, no upload, no account. Close the tab and it's gone.
Snapshot the entire machine — RAM, CPU, devices — to a file, then restore it later. Great for capturing a bug or skipping a slow boot.
Small, BIOS-bootable x86 / x86-64 live images: Tiny Core, Alpine, SliTaz, antiX, Puppy, FreeDOS, KolibriOS. Big modern desktop ISOs (full Ubuntu, Fedora) usually run out of memory or need EFI/KVM and won't get to a desktop. Aim for images under ~300 MB and give them enough RAM.
No. The emulator core (libv86.js + v86.wasm) and BIOS blobs load from a CDN the first time; after that everything — your ISO, the CPU, the disk — is local to the tab.
It's a software CPU. Expect tens to a few hundred MIPS. Console distros feel snappy; graphical desktops are usable but deliberate. The live MIPS counter in the toolbar shows what you're getting.