# EmulatorJS/EmulatorJS

A web-based frontend for RetroArch

Repository: https://github.com/EmulatorJS/EmulatorJS
Canonical: https://ross.abutalabs.com/products/emulatorjs
Homepage: https://emulatorjs.org
Language: JavaScript
License: GPL-3.0
License Family: copyleft
Topics: snes, playstation, nintendo-game-boy, emulator, gameboy, n64, nes, ds, virtualboy, sega-cd, sega-mega-drive, atari-lynx, sega-saturn, atari7800, atari2600, emulation, nintendo, retroarch, emulatorjs, retroarch-wasm
Last push: 2026-08-07T20:04:28+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 96, release rhythm 40, longevity 100
- inputs: {"age_days": 1976, "days_push": 26, "days_rel": 424, "gap_med": 20, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4119, forks 963 (observed 2026-08-28T04:08:35.935864+00:00)

## What it is
EmulatorJS is a JavaScript library that embeds RetroArch (compiled to WebAssembly) into any website, enabling browser-based emulation of many retro consoles like NES, SNES, Game Boy, N64, PlayStation, and Sega systems. It is designed as an embeddable plugin rather than a standalone application, with a public CDN, customizable UI, and multilingual support.

## Use cases
- play retro console games in the browser
- embed an emulator into my website
- add a retro game player to a web page
- run NES SNES GameBoy ROMs without installing software
- host a self-hosted browser game emulation library
- embed emulator in React single page app via iframe

## When to choose
- you want to embed retro game emulation into a website with a few lines of code
- you need broad console support via libretro cores without managing native installs
- you want a customizable, multilingual, CDN-hosted emulator frontend

## When to avoid
- you need a standalone desktop emulator application
- you want to embed directly into a React/SPA page without an iframe
- you need high-accuracy native emulation or modern console support
- you want a Docker all-in-one server solution

## Facets
- artifact type: library
- maturity: active
- function: game-engine, wasm, plugin-system, gui
- domain: gaming-tools, web-development, frontend, cross-platform
- platform: browser, wasm
- tags: emulation, retroarch, libretro, retro-gaming, console-emulator, embeddable, cdn, rom-player, gameboy, nes, snes, playstation, n64, sega, javascript, web-server

## Member repositories
- EmulatorJS/EmulatorJS (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:35.935864+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:23:07.424055+00:00, confidence not recorded.
  - readme: https://github.com/EmulatorJS/EmulatorJS (fetched 2026-08-28T04:08:35.935864+00:00, sha e3b6890e0ae2)
  - homepage: https://emulatorjs.org (fetched 2026-08-29T09:14:48.447870+00:00, sha dac9d52e6747)
  - site_page: https://emulatorjs.org/docs (fetched 2026-08-29T09:14:48.457332+00:00, sha 2e34954eb9ac)
  - site_page: https://emulatorjs.org/docs/embed (fetched 2026-08-29T09:14:48.459602+00:00, sha 0aa200af4407)
  - site_page: https://emulatorjs.org/docs4devs/buildingraw (fetched 2026-08-29T09:14:48.461535+00:00, sha e3d2f311c223)
  - site_page: https://emulatorjs.org/docs/languages (fetched 2026-08-29T09:14:48.463319+00:00, sha 4b824e54b2d2)
  - site_page: https://emulatorjs.org/docs/options (fetched 2026-08-29T09:14:48.465019+00:00, sha 34169c9a3392)
- Data as of 2026-08-30T08:39:29.467469+00:00.
