Skip to content
SPECIFICTION
Get listed

Nostalgist.js

nostalgist.js.org

Free plan Open source Web
Visit nostalgist.js.org
Spec score 8.0 #10 of 29 in Sega Genesis Emulators

Spec sheet

What it does
Nostalgist.js is a JavaScript library for running retro-console emulators such as NES and Sega Genesis inside web browsers.Read 15 Oct 2026 · nostalgist.js.org
License
The GitHub repository identifies the project as MIT licensed.Read 15 Oct 2026 · github.com
BIOS loading
BIOS files use the same resolvable-file mechanism as ROMs and are written to RetroArch’s system directory.Read 15 Oct 2026 · nostalgist.js.org
Bring your own content
Developers can load ROM files from their own server, which must have CORS headers configured properly.Read 4 Oct 2026 · nostalgist.js.org
Cheat support
The launch API documents cheat codes, but they require RetroArch 1.21.0-or-later cores that implement cheats.Read 15 Oct 2026 · nostalgist.js.org
Configuration
Developers can customize RetroArch and core configuration before launch.Read 4 Oct 2026 · nostalgist.js.org
Console helpers
Documented shortcut methods cover NES, SNES, Mega Drive, Game Boy, Game Boy Color and Game Boy Advance.Read 15 Oct 2026 · nostalgist.js.org
Content limitation
The project says it does not provide or encourage pirated ROM or BIOS files.Read 4 Oct 2026 · nostalgist.js.org
Content policy
The project says it does not provide or encourage pirated ROM or BIOS files.Read 15 Oct 2026 · nostalgist.js.org
Core delivery
String core names default to RetroArch Emscripten builds fetched from GitHub through jsDelivr.Read 15 Oct 2026 · nostalgist.js.org
CORS requirement
ROMs hosted on a developer’s server require correctly configured CORS headers.Read 15 Oct 2026 · nostalgist.js.org
Custom cores
Developers can provide custom JavaScript and WebAssembly core URLs or resolver functions.Read 15 Oct 2026 · nostalgist.js.org
Dependencies and delivery
Nostalgist.js itself does not contain emulators; by default, emulator cores are fetched from RetroArch Emscripten builds via jsDelivr.Read 4 Oct 2026 · nostalgist.js.org
Developer audience
The project is intended for developers building browser experiences rather than players seeking a ready-made game collection.Read 15 Oct 2026 · nostalgist.js.org
Distribution
Projects can install the library through npm, yarn, pnpm, or bun, or load it from CDNs including unpkg and jsDelivr.Read 4 Oct 2026 · nostalgist.js.org
Documentation depth
The official site provides getting-started, under-the-hood and API-reference sections with static and instance method documentation.Read 15 Oct 2026 · nostalgist.js.org
Emscripten access
The library exposes lower-level Emscripten interfaces, including the virtual filesystem.Read 15 Oct 2026 · nostalgist.js.org
Emulation engine
It simplifies launching RetroArch in a browser using a ROM and a core, without additional configuration.Read 4 Oct 2026 · nostalgist.js.org
Examples and integrations
The project documents a StackBlitz example and lists projects including NextCloud Nostalgist and a VS Code extension among its showcases.Read 4 Oct 2026 · nostalgist.js.org
Independent extension
The PyPI Sphinx extension embeds NostalgistJS in HTML documents and maps Mega Drive, NES, SNES and Game Boy families to named cores.Read 15 Oct 2026 · pypi.org
Independent integration
The MD Have Fun web emulator states that it is built with RetroArch and Nostalgist.js and supports Chrome, Firefox and Edge.Read 15 Oct 2026 · msdk316.uk
Independent integration: controls
MD Have Fun lists keyboard controls and beta mobile touch controls for its Nostalgist.js-powered emulator.Read 15 Oct 2026 · msdk316.uk
Independent praise: ecosystem
MEDevel highlights projects built with Nostalgist.js, including RetroAssembly, vme, NextCloud Nostalgist and VS Code tooling.Read 15 Oct 2026 · medevel.com
Independent praise: usability
MEDevel describes launching a retro game with a small amount of browser code and praises the combination of simplicity and developer control.Read 15 Oct 2026 · medevel.com
Independent praise: WebAssembly
MEDevel reports that the library runs NES, SNES and Sega Genesis emulators in browsers using WebAssembly.Read 15 Oct 2026 · medevel.com
Input limitation
The press API states that analog joysticks are not currently supported.Read 15 Oct 2026 · nostalgist.js.org
Installation methods
The getting-started guide lists npm, yarn, pnpm and bun installation, plus unpkg, jsDelivr, esm.run and Skypack CDN imports.Read 15 Oct 2026 · nostalgist.js.org
Instance controls
The API reference lists start, restart, pause, resume, exit, resize, input, screenshot and status methods.Read 15 Oct 2026 · nostalgist.js.org
Intended audience
The project describes itself as a tool for developers who want to build browser based emulation experiences.Read 4 Oct 2026 · nostalgist.js.org
Latest release
GitHub lists version 0.22.0 as the latest release, adding basic multidisc functionality and released on 30 August.Read 15 Oct 2026 · github.com
Launch feature
The launch API starts an emulator with a selected core and ROM and returns a promise for the emulator instance.Read 15 Oct 2026 · nostalgist.js.org
Limit: injected code
The Sphinx integration warns that its configuration can inject arbitrary JavaScript and may be unsuitable where that creates a security concern.Read 15 Oct 2026 · pypi.org
Limit: troubleshooting
The Sphinx integration says ROM loading failures may stem from CORS configuration and recommends checking browser developer tools.Read 15 Oct 2026 · pypi.org
Low level access
The API exposes low level Emscripten interfaces, including the virtual filesystem.Read 4 Oct 2026 · nostalgist.js.org
Maker profile
The maintainer account describes its owner as a frontend engineer and lists Nostalgist among its public repositories.Read 15 Oct 2026 · github.com
No bundled emulators
Nostalgist.js itself does not contain emulator cores; it loads external RetroArch Emscripten builds by default.Read 15 Oct 2026 · nostalgist.js.org
Notable news
Television Simulator’s 2024-07-02 release added a video-game engine supporting NES, SNES, Genesis and Game Boy emulation through Nostalgist.js.Read 15 Oct 2026 · docs.tvs.gcpw.art
Preparation workflow
Nostalgist.prepare loads emulator files before a later user-triggered start call, helping with browsers that require interaction before launching.Read 15 Oct 2026 · nostalgist.js.org
Recent changelog
Version 0.21.1 fixed handling of missing core information on 2026-05-08.Read 15 Oct 2026 · github.com
Related project license
The separate sphinx-nostalgistjs integration on PyPI is licensed GPLv3 and requires Python 3.10 or newer.Read 15 Oct 2026 · pypi.org
Repository activity
The public repository shows 985 stars, 49 forks and 461 commits on the opened page.Read 15 Oct 2026 · github.com
RetroArch customization
Launch options allow developers to provide custom RetroArch and core configuration values.Read 15 Oct 2026 · nostalgist.js.org
RetroArch integration
It launches RetroArch emulator cores compiled with Emscripten in the browser.Read 15 Oct 2026 · nostalgist.js.org
ROM sources
ROMs may be supplied as URLs, local File objects, file-content objects or arrays for multidisc games.Read 15 Oct 2026 · nostalgist.js.org
Save and load
The library can save a game's state and load it later.Read 4 Oct 2026 · nostalgist.js.org
Save states
Applications can save a game state and load it later through saveState and loadState.Read 15 Oct 2026 · nostalgist.js.org
Shaders
Shader names can load GLSL shader files from the libretro shader repository through jsDelivr, with custom resolution available.Read 15 Oct 2026 · nostalgist.js.org

Plans and prices

Free open-source library Free Browser-based retro emulation · developer-focused · ROMs and BIOS supplied by integrator Read 15 Oct 2026 · github.com
Nostalgist.js Free MIT-licensed JavaScript library; no paid plans are stated Read 4 Oct 2026 · github.com

Every Nostalgist.js plan and price →

Where Specifiction places it

Alternatives to Nostalgist.jsAll alternatives →