Nostalgist.js
nostalgist.js.org
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
Where Specifiction places it
- Sega Genesis Emulators#10 of 298.0