CLOUSD
Open account
Compare

Android emulator in the browser: 5 ways compared

What actually runs when you open Android in a browser tab, five ways to get there, and which one fits a demo, a test session or a phone you keep for months.

An Android emulator in the browser can mean two very different things. Either the tab itself emulates a phone, or the tab is a window onto Android running somewhere else, with the screen streamed to you and your clicks sent back. For any current Android release, only the second works.

That still leaves five practical options, from a weekend experiment to a phone you keep for months. Here is what each one runs, what it takes to set up and who it suits, followed by a table that puts them side by side.

1. Emulation inside the tab

WebAssembly made it possible to compile a PC emulator so that it runs inside a web page. v86 is the best-known example: it emulates a 32-bit x86 PC and boots small Linux systems and old operating systems in a tab. Projects in this family are impressive engineering and fun to try.

They are not a way to run current Android. A modern Android system wants gigabytes of memory, a fast CPU and a GPU, and an emulator running inside a JavaScript engine has none of that headroom. I know of no project that runs a current Android release in a tab at a usable speed, so treat promises of "full Android in your browser, nothing installed, nothing streamed" with suspicion.

2. Your own emulator, streamed to a browser

If you control a Linux server with KVM, Google's own tools can put an emulator's screen in a browser tab.

  • Android Emulator in a container. Google's open-source android-emulator-container-scripts package the emulator in Docker and add a WebRTC bridge with a small web front end.
  • Cuttlefish. Google's server-oriented virtual device serves its own WebRTC interface. Once a device is running, its screen and controls open in a browser, by default on port 8443 of the host.
HOME=$PWD ./bin/launch_cvd --daemon
adb devices

This route is free software and gives you full control, including ADB to every instance. The price is the host: KVM, images, updates, TLS, authentication and capacity planning are all yours. It suits teams that already run Linux infrastructure and want emulators inside their own network.

3. Hosted emulator streaming

Several services run emulators for you and stream them into a page, often as an embeddable player. They are built for app previews: a demo on a landing page, an interactive screenshot in documentation, a support agent walking a customer through settings, a reviewer opening a build without installing anything.

Sessions are usually short and start from a clean image each time, and the device is a generic emulator profile. That is ideal for a demo and limiting for anything that depends on the phone model, or on state that has to survive until tomorrow.

4. Real-device clouds

Device clouds keep racks of physical phones and stream them to your browser. You get the real thing: vendor firmware and skin, camera, GPU and battery. It is the closest you can get to a phone in your hand without owning it.

The trade-offs come from sharing hardware. Sessions are time-limited, the phone is usually wiped when you leave, popular models can be busy, and the price reflects the cost of keeping physical devices alive. Android Studio's Device Streaming follows the same model but streams physical phones into the IDE instead of a browser, which is often what a developer searching for a browser emulator actually wants.

5. Cloud phones

A cloud phone is Android running in a data center as a specific phone model, kept for you like a device. You open its screen in the browser, control it with mouse and keyboard, and come back to it later: apps, logins and data stay until you reset it.

Clousd works this way: phones built from 150+ real models on Android 12 to 17, ready in about a minute, with a REST API, an MCP server for AI agents and ADB through a relay alongside the browser screen. The limits are the ones every virtualized phone shares: no real camera or sensors, and graphics performance that does not represent the physical device. The model list shows what is available.

The five side by side

Tab emulationSelf-hosted, streamedHosted emulator streamingReal-device cloudCloud phone
What runsan emulator inside the tabAndroid Emulator or Cuttlefish on your serverAndroid Emulator on theirsphysical phonesAndroid on servers, set up as a phone model
Current Androidnoyesyesyesyes
Device presentednot applicablegenericgenericthe real phonethe chosen model
SetupnoneLinux host with KVMnonenonenone
State between sessionsnoif you keep itusually notusually wipedkept
ADBnoyesdependsusuallyusually, through a relay
Best forcuriosityin-house fleetsdemos and previewshardware-specific testingtesting, long-lived phones, agents

For a deeper look at how an emulator on a server differs from a phone built from a real model, see the cloud Android emulator explainer.

What to check before you choose

  • Latency. Every tap travels to the server and the new frame travels back. Distance matters more than bandwidth: a server on another continent adds a delay you feel on every swipe. Clousd's servers are in the EU, in Frankfurt and Helsinki, so the shortest round trips are from Europe.
  • Input. Try typing with your keyboard, pasting from your clipboard, a pinch gesture and the back action. Browser sessions differ most here.
  • Google Play. Emulator images come with or without Play; physical devices have it; cloud phones vary by provider. If your test needs Play services, check before you start.
  • Logs. A browser-only session shows you a crash but not why. Make sure you can reach logcat, ideally with ADB. The ADB docs show what that looks like with a relay.
  • Where your build goes. Uploading an APK to a service you cannot identify hands your code to a stranger. Never upload a build with production keys inside.

Which one for which job

  • Show an app to a client or a reviewer: hosted emulator streaming, or a cloud phone if they need to come back to it.
  • Test layouts on the phones your users own: a cloud phone or a real-device cloud.
  • Camera, sensors, performance: a real-device cloud or a phone on your desk.
  • Emulators inside your own network: self-hosted Cuttlefish or the emulator container.
  • A phone kept for weeks, or one for an AI agent: a cloud phone.
  • Debug the app you are writing: none of the above. Use the emulator in Android Studio on your own machine.

If you are about to run a first test session, testing an Android app online walks through install, logs and a repeatable smoke pass.

The free options

Tab emulation is free and does not run current Android. Self-hosted streaming is free software on hardware you pay for and look after. Real-device clouds and hosted emulator services offer limited free tiers or trials. Cloud phones usually offer a trial as well; the free cloud phone trial gives you 30 minutes with no card. For the shortest route from a link to a running app, see Android emulator online.

Keep reading

All guides

Ready to launch
your first cloud phone?

Try free for 30 minutes

No card needed