distrolab

x86 PC · emulated in WebAssembly

Boot a Linux ISO
right in your browser.

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

Runs offline once loaded · Chrome / Firefox / Edge

Distro library

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.

How it works

01

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.

02

Your ISO never leaves

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.

03

Freeze & resume

Snapshot the entire machine — RAM, CPU, devices — to a file, then restore it later. Great for capturing a bug or skipping a slow boot.

Which ISOs actually 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.

Is anything sent to a server?

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.

Why is it slow?

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.