A whole phone inside a window — even an iPhone. ![]()
No device, no cable, no cloud bill. Seven free ways, grouped by what you are actually after.
┌───────── a window ─────────┐
│ 📱 android 15 │
│ running in a tab │
│ 🔋 nothing to charge │
└─────────────────────────────┘
Android, for real
Waydroid · 12.4k★ — real Android in a Linux container. Opens like an app instead of grinding like an emulator.
docker-android · 16.0k★ — Android in Docker, watchable in the browser over noVNC. One command per version, all at once.
redroid · 7.0k★ — Android in the cloud, multi-arch, GPU on. Built for dozens of instances on one host.
Anbox · 9.0k★ — the original, and still the lightest. Kind to old machines.
The phone you already own
scrcpy · 153k★ — mirror your real Android on the desktop. Five seconds, no root, no lag.
iOS, the honest version
vphone-aio · 7.9k★ — one script → a rooted iOS 26 virtual machine. A lab, not a daily driver.
UTM · 36.5k★ — the reverse trick: full computers running inside an iPhone or iPad.
Why a container beats an emulator
The one fact worth remembering: an emulator pretends to be hardware and eats a core. A container runs the real Android userspace on your real kernel — which is exactly why Waydroid feels instant and an emulator feels like 2014.
Own an Android? scrcpy first, it is the five-second win. Want a second phone for free? Waydroid.
!