
XDA-Developers ran a piece this month calling a browser-based emulator the easiest way they’d found to play retro games. The argument is hard to refute: zero install, no driver setup, runs on a Chromebook or a locked-down work laptop, supports controllers via the Gamepad API, and the host operating system effectively doesn’t matter. The category has grown enough in the last two years that there are now real choices to make about which browser emulator to use.
We tested 7 of the best browser-based game emulators for desktop. The list spans the polished open-source projects, the self-hostable libraries you can deploy on your own server, the single-developer side projects that punch above their weight, and one full PC emulator that runs inside a browser tab.
What to look for in a browser-based emulator
The “browser tab” constraint shapes what’s good in this category. Picks below favour tools that:
- Run on modern Chrome, Firefox, Edge, and Safari without browser-specific bugs
- Support controller input through the standard Gamepad API
- Handle save states and battery saves in browser storage or with an export option
- Maintain at least full-speed playback on a mid-range laptop without thermal throttling
- Make ROM loading clear (most are bring-your-own-ROM by design; legality varies by jurisdiction)
Quick comparison
| Emulator | Best for | Systems supported | Self-host? | Controller |
|---|---|---|---|---|
| EmulatorJS | Self-hosted libraries | Many (NES through PSX) | Yes | Yes |
| Afterplay | Simplest “drop a ROM” experience | Many | No | Yes |
| Webrcade | Curated game catalogue | Many | Optional | Yes |
| RetroArch Web | The RetroArch reference | Many | Yes | Yes |
| EmulatorJS-loaded ROMpicker | Polished UI on EmulatorJS | Many | Yes | Yes |
| Eclipse Emulator | Single-page simple | NES, SNES, GB, GBA | No | Yes |
| v86 | Full PC emulation | x86 PC (DOS, Win 9x) | Yes | Limited |
The 7 best browser-based game emulators
1. EmulatorJS — best for self-hosted libraries
EmulatorJS is the open-source project that compiled the RetroArch emulator cores to WebAssembly, then wrapped them in a polished web interface. The same project powers most of the polished “play classic games in a browser” sites you’ve encountered. Deploy it on any web server, point it at a ROM directory, and it handles NES, SNES, Genesis, Game Boy, Game Boy Advance, N64, PlayStation, and several other systems with controller support, save states, and configurable shaders.
For users running a personal ROM library on a home server or hosting a games corner on a small site, EmulatorJS is the standard.
Where it falls short: Self-hosting setup takes more than five minutes. ROM licensing is your responsibility. Some less common cores have rough edges.
Pricing:
- Free, open source, no paid tier
Platforms: Runs in any modern browser. Self-hosted on Windows, macOS, Linux, Docker.
Download: emulatorjs.org
Bottom line: The default if you want a self-hosted personal ROM library in your browser.
2. Afterplay — simplest drop-a-ROM experience
Afterplay is the browser emulator XDA specifically highlighted as the easiest way to play retro games. Drop a ROM into the browser, the site detects the system, and play starts within seconds. Save states and saves persist in browser storage. The supported system list covers the core retro library (NES, SNES, Genesis, N64, GB/GBA, PSX) and the experience is the most polished of the no-install options.
For users who want zero setup, no self-hosting, and no account creation, Afterplay is the simplest entry to the category.
Where it falls short: Hosted only; can disappear if the project shuts down. Bring-your-own-ROM still applies. Performance on the heaviest systems (N64, PSX) varies by device.
Pricing:
- Free
Platforms: Any modern browser on Windows, macOS, Linux
Download: afterplay.io
Bottom line: The first link to send a friend who asks how to play their old ROMs without installing anything.
3. Webrcade — best curated game catalogue
Webrcade takes a different approach: rather than expecting users to bring ROMs, it curates a catalogue of legally distributed games (homebrew, open-source, and a growing list of commercial titles where the rights holder has authorised distribution). The interface is closer to a console front-end than an emulator UI, with categorised browsing and per-game art. A self-host option lets you add your own libraries.
For users who want a “browse and click play” experience without sourcing ROMs, Webrcade is closer to a streaming-service feel.
Where it falls short: Curated catalogue is smaller than what your own ROM collection might contain. Self-hosted setup is required for personal libraries. Some commercial titles come and go from the catalogue.
Pricing:
- Free
Platforms: Any modern browser. Self-hosted on Windows, macOS, Linux, Docker.
Download: webrcade.com
Bottom line: The closest browser emulation gets to a console launcher. Good for the homebrew scene.
4. RetroArch Web — the RetroArch reference
RetroArch Web is the official browser build of RetroArch, the most comprehensive open-source emulator front-end on every other platform. The web build covers most of the same systems with the same configurable cores, shaders, input remapping, and save state model. It’s the most flexible option in the category, with the same trade-off that makes desktop RetroArch divisive: configurability over convenience.
For users who already know RetroArch and want the same experience in a browser, the official web build is the canonical pick.
Where it falls short: Configuration is overwhelming on first launch. UI is dense. Loading ROMs takes more clicks than alternatives.
Pricing:
- Free, open source, no paid tier
Platforms: Any modern browser
Download: retroarch.com/?page=platforms
Bottom line: The right pick for RetroArch veterans. New users should start with Afterplay or EmulatorJS.
5. EmulatorJS ROMpicker builds — polished UI on top of EmulatorJS
EmulatorJS ROMpicker projects (several community forks exist with names like NextJS-EmulatorJS) layer modern web UIs on top of the EmulatorJS core to give a console-style game library with cover art, search, and per-system browsing. These are the easiest path to a personal browser-based ROM library that looks like a streaming service.
For users self-hosting EmulatorJS who want a more polished UI than the default, the ROMpicker forks are the genre’s best front-ends.
Where it falls short: Project quality varies between forks. Setup is more involved than vanilla EmulatorJS. Cover art usually has to be sourced separately.
Pricing:
- Free, open source
Platforms: Self-hosted on Windows, macOS, Linux, Docker
Download: Search GitHub for “emulatorjs” and “rompicker”
Bottom line: Run on top of EmulatorJS for a personal library with a real UI.
6. Eclipse Emulator — best single-page simple
Eclipse Emulator is the small open-source project that wraps NES, SNES, Game Boy, and Game Boy Advance emulation into a single static page. Drop a ROM, play. The scope is narrower than EmulatorJS but the page weight is tiny and the load time is instant.
For users who want a minimal “play this single ROM in a tab” experience without any of the complexity, Eclipse Emulator is the cleanest implementation.
Where it falls short: Limited system support. No N64 or PlayStation. Save state model is browser storage only.
Pricing:
- Free, open source
Platforms: Any modern browser
Download: eclipseemu.me
Bottom line: When you want to play one specific NES or SNES ROM and nothing else.
7. v86 — best for full PC emulation in a browser
v86 is the browser-based x86 PC emulator that boots full operating systems (DOS, Windows 95, several Linux distributions) inside a browser tab. It’s not strictly a game emulator, but it lets you run DOS games and Windows 9x era titles in a browser context. The technical achievement is remarkable; the performance is enough for most period software.
For users who want to play DOS or early Windows games in a browser tab specifically, v86 is the genre’s leading project.
Where it falls short: Performance lags native emulators on heavier titles. Sound support has rough edges. Best for period-appropriate software, not modern Windows games.
Pricing:
- Free, open source
Platforms: Any modern browser
Download: copy.sh/v86
Bottom line: The novelty pick that’s also genuinely useful for DOS games in a browser.
How to pick the right one
If you want zero setup and a polished UI: Afterplay. Click, drop ROM, play.
If you want to self-host a personal library: EmulatorJS, with a ROMpicker front-end on top if you want polish.
If you want a curated catalogue without sourcing ROMs: Webrcade.
If you’re a RetroArch user already: RetroArch Web. Same configuration model, same cores.
If you want a single static page for a single ROM: Eclipse Emulator.
If you specifically want DOS or Windows 9x games in a browser: v86.
FAQ
Are browser-based emulators legal?
The emulators themselves are legal in most jurisdictions. ROMs are usually not, unless you own the original cartridge or the rights holder has authorised distribution. Webrcade only hosts ROMs it has cleared; other emulators expect you to bring your own.
Do these work on Chromebooks?
Yes. Browser-based emulation is one of the few practical gaming options on a stock Chromebook, since the OS restricts native app installation. Afterplay, EmulatorJS, and Webrcade all run cleanly.
Can I use a controller?
Yes, all browser emulators on this list support the Gamepad API. Plug in or connect via Bluetooth and the browser passes input through. Xbox, PlayStation, and most third-party USB controllers work without configuration.
How well do N64 and PlayStation games perform in a browser?
On a modern mid-range laptop, most N64 and PlayStation games run at full speed in EmulatorJS, RetroArch Web, and Afterplay. Performance varies on older or low-power devices. The heaviest N64 titles can stutter.
Where do my save states go?
By default, save states live in browser storage (IndexedDB), tied to the browser and domain. If you clear browser data, you lose them. Most emulators offer an export option to download save states as files you can re-import later.
Is there a browser emulator for PlayStation 2 or GameCube?
Not yet at usable speeds. Web emulation of those systems is technically possible (PCSX2 has experimental web builds) but performance is well below native. Stick with desktop PCSX2 or Dolphin for those systems.