webvm
Virtual Machine for the Web
Runs a full Debian Linux environment directly inside a web browser tab using WebAssembly, no install needed, with networking via Tailscale and an optional Claude AI assistant built into the terminal.
WebVM is a project that lets you run a full Linux operating system right inside your web browser, with nothing to install on your computer. It's the source code behind the live site at webvm.io, where anyone can open a tab and immediately get a working Linux command line, including many of the developer tools that ship with a standard Debian system. There is also a newer graphical version that gives you a small desktop environment inside the same browser tab.
The way it works is unusual. Normally Linux software is compiled to run on Intel or AMD chips, so it cannot run directly in a browser. WebVM sidesteps this by using an engine called CheerpX, which translates that Intel-style code into WebAssembly, a fast format that all modern browsers understand. CheerpX also provides a virtual hard disk and pretends to be a Linux kernel, so unmodified Debian programs believe they are running on a real machine. Because everything happens locally in your browser tab, no code is sent to a server and the environment is sandboxed for safety.
WebVM supports networking through Tailscale, which lets the browser VM reach machines on your private network or, with an exit node, the wider internet. There is also an optional Claude AI integration that you can wire up with your own API key to get help from inside the terminal. People typically reach for WebVM when they want to try Linux commands without setting up a virtual machine, demo a tool on a webpage, teach a class, or experiment with a sandbox they can wipe by closing the tab. The project itself is written mostly in JavaScript and is meant to be forked and deployed to GitHub Pages or hosted locally with your own custom disk image.
Where it fits
- Try Linux command-line tools in a browser without installing a virtual machine or setting up dual-boot
- Create an interactive coding sandbox embedded in a webpage for teaching a class or demonstrating a tool
- Fork the project, build a custom disk image, and deploy your own browser Linux environment to GitHub Pages
- Connect the browser VM to a private network with Tailscale for remote access or network demo scenarios