A web-based frontend for RetroArch
  • JavaScript 90.3%
  • CSS 6.4%
  • HTML 3.3%
Find a file
Ethan O'Brien fa1f7b4a87
All checks were successful
ESLint / eslint (push) Successful in 21s
Fix reference to shaders in gamemanager
2026-03-12 09:47:31 -06:00
.github Use npm ci instead of npm i 2026-03-05 14:30:47 -06:00
.vscode Update ESLint workflow to use npm install and ensure newline at end of settings.json 2025-12-18 09:56:52 +11:00
data Fix reference to shaders in gamemanager 2026-03-12 09:47:31 -06:00
docs Enhance file download handling and caching logic in EJS_GameManager and EJS_Download; update CACHING.md for unified caching strategy; add new emulator options in index.html 2025-12-16 13:38:09 +11:00
minify Move to ES6 modules 2026-03-05 14:15:43 -06:00
.gitattributes Localization and logging fix (#1038) 2025-07-02 22:05:39 -05:00
.gitignore Don't ignore package-lock.json 2026-03-05 14:32:25 -06:00
.npmignore Update Project Scripts 2025-07-06 17:41:13 -06:00
build.js Update build.js 2026-01-18 00:21:40 +11:00
CHANGES.md 4.2.3 2025-07-05 14:34:10 -05:00
CODE_OF_CONDUCT.md Add repo docs 2023-07-18 10:56:27 -05:00
CONTRIBUTING.md Update Project Scripts 2025-07-06 17:41:13 -06:00
eslint.config.js Add ESLint configuration and related files; update .gitignore and package.json 2025-12-18 09:53:43 +11:00
index.html Add advanced options for cache configuration in the UI 2026-02-16 10:02:48 +11:00
jsconfig.json Add ESLint configuration and related files; update .gitignore and package.json 2025-12-18 09:53:43 +11:00
LICENSE Update license 2026-03-09 11:05:51 -06:00
package-lock.json Don't ignore package-lock.json 2026-03-05 14:32:25 -06:00
package.json Move to ES6 modules 2026-03-05 14:15:43 -06:00
README.md Redo readme 2026-03-09 11:24:01 -06:00
update.js Move to ES6 modules 2026-03-05 14:15:43 -06:00

EmulatorJS Dark Mode Logo EmulatorJS Light Mode Logo

Self-hosted JavaScript emulation for various systems.

License: GPLv3 Website Usage Docs Configurator Live Demo Contributors

Join our Discord server:

Discord Badge


Getting Started

Supported Systems

EmulatorJS supports a wide variety of legacy consoles and arcade machines. For the complete list of supported cores, please visit our Cores Documentation.

Versioning Guide

We use a specific versioning system to help you choose the right build for your needs:

  1. Stable - The most current release. Both code and cores are tested before release. Updated when new versions are released on GitHub. This is the default version on the Demo.
  2. Latest - Contains the latest code but uses stable cores. Updated whenever the main branch is updated. This version will often be more broken than nightly
  3. Nightly - Contains the latest code and the latest cores. Cores are updated daily. This version is not recommended for production use as it is the main development branch.

CDN Integration

EmulatorJS provides a public CDN at https://cdn.emulatorjs.org/. You can access any version by setting the data path and loader.js accordingly.

// Example Configuration
const EJS_pathToData = 'https://cdn.emulatorjs.org/<version>/data/';
// Replace <version> with: stable, latest, nightly, etc.

Development

To run the project locally for development:

  1. Open a terminal in the root directory.
  2. Install dependencies:
    npm i
    
  3. Start the server/minification:
    npm run start
    
  4. Open http://localhost:8080/ to view the demo.

Note: Minify your script files before deploying to a production server to optimize load times and bandwidth. See Minification Docs.


Community & Support

3rd Party Integrations

EmulatorJS is built as a library/plugin, not a standalone website (therefore, no Docker container). For projects that utilize EmulatorJS, check out our 3rd Party Integration List.

Issues & Reporting

If you encounter an issue, please open an Issue on GitHub. Include as many details as possible, including your browser console logs.

When reporting bugs, please specify the version you are using (Stable/Latest/Nightly).

Support the Project

This project is free and ad-free. The demo page may show occasional ads to help with hosting costs, but you can support development directly via Patreon.


Star History

Star History Chart