EVERYTHING XIAOMI
Get listed

n64js

n64js is a free Nintendo 64 emulator written mostly in pure ES6 JavaScript, with a hosted version available on GitHub Pages.

Place
#10 of 23
Score
6.3
n64js's website

What n64js is

n64js is a free Nintendo 64 emulator written mostly in pure ES6 JavaScript, with a hosted version available on GitHub Pages. It runs in a browser and requires WebGL, which limits the graphics hardware it can use. The project says many ROMs run close to full speed, but graphical issues affect many playable titles, and imprecise cycle counting is also a compatibility limitation. The site provides keyboard controls for N64 buttons and an interface for controller configuration. Save data can persist through localStorage, with save import and export listed as implemented features. Saving and loading require native Uint8Array base64 methods supported in Chrome or Edge 140+, Firefox 133+, or Safari 18.2+, including iOS. Low-level audio emulation is implemented, while high-level audio remains in progress. Savestates are listed as a TODO rather than a completed feature. The hosted site reports Chrome, Firefox, and Safari tested on macOS 13.5; Edge is untested.

Good

  • Free browser-based emulator hosted on GitHub Pages.
  • Provides keyboard controls and controller configuration.
  • Save persistence and import/export are listed.
  • Includes configurable CRT display effects.

Watch out

  • Requires compatible WebGL graphics hardware.
  • Many playable ROMs have graphical issues.
  • High-level audio emulation remains in progress.
  • Savestates are not complete.

Who it suits

It may suit users interested in browser-based N64 emulation or exploring JavaScript emulation. Users should be comfortable with WebGL requirements and compatibility limitations.

Verdict

n64js offers browser-based N64 emulation with configurable controls and save-data features. Its WebGL requirement and documented graphics, audio, and compatibility limitations are important considerations.

Plans and prices

From n64js's own pricing page, checked 4 Oct 2001.

All about pricing
PlanPriceWhat it gives you
n64jsFreeNo paid plans or usage limits stated

The facts

Each one read from n64js's own pages, with the date it was checked.

What it does

Audio
The repository says low-level audio emulation is implemented and high-level audio emulation is a work in progress.checked 4 Oct 2001
Availability
A hosted version is available on GitHub Pages.checked 4 Oct 2001
Compatibility
The project says many ROMs run at full framerate, though most playable ROMs have some graphical issues.checked 4 Oct 2001
Controls
The emulator supports static and configurable key bindings, and lists the Gamepad API as an implementation feature.checked 4 Oct 2001
Debug features
The emulator offers Off, Simple, and Mattias CRT display effects under Debug → Graphics → CRT.checked 4 Oct 2001
Graphics
The repository says graphics use high-level emulation and that many ROMs have graphical issues.checked 4 Oct 2001
Headless use
The repository documents Bun scripts for creating a headless emulator and setting controller input programmatically.checked 4 Oct 2001
Hosted version
A hosted version is available on GitHub Pages.checked 4 Oct 2001
Intended audience
The maker describes the project as a JavaScript emulator showcase and a way to explore what modern browsers can do.checked 4 Oct 2001
Known limitations
The README identifies imprecise cycle counting and graphics as compatibility issues and lists savestates as a TODO.checked 4 Oct 2001
License
The repository identifies its license as MIT.checked 4 Oct 2001
Origin
The hosted page says n64js is based on Daedalus, an emulator its maker began writing while at university.checked 4 Oct 2001
Performance
The project says many ROMs run at close to full speed, though graphical issues remain.checked 4 Oct 2001
Product
n64js is an N64 emulator written mostly in pure ES6 JavaScript.checked 4 Oct 2001
Purpose
n64js is an N64 emulator written mostly in pure ES6 JavaScript.checked 4 Oct 2001
Save data
The repository lists save persistence through localStorage and save import/export among its implementation features.checked 4 Oct 2001
Support
The hosted site invites users to get in touch via the maker’s Twitter account.checked 4 Oct 2001

Where it runs

Browser compatibility
The live site reports Chrome, Firefox, and Safari tested on macOS 13.5, with Edge untested.checked 4 Oct 2001
Browser requirement
The emulator requires WebGL, which limits the GPUs it can run on.checked 4 Oct 2001
Browser requirements
The hosted emulator requires WebGL, and saving and loading require native Uint8Array base64 methods supported in Chrome/Edge 140+, Firefox 133+, or Safari 18.2+ including iOS.checked 4 Oct 2001

Alternatives to n64js

All alternatives
  1. 1

    Virtual Jaguar

    Free planOpen sourceAndroidiOSWebAPI
    8.1Free plan
  2. 2

    RetroArch

    Free planAndroidiOSWebLinux
    7.6Free plan
  3. 3

    ares

    Free planOpen sourceLinuxmacOSSelf-hostedWindows
    7.5Free plan
  4. 4

    Cool Retro Term

    Free planOpen sourceLinuxmacOSSelf-hosted
    7.2Free plan
  5. 5Provenance logo

    Provenance

    Free planiOSmacOS
    7.1From $3.33 a month
  6. 6

    RustyN64

    Free planWebLinuxmacOSWindows
    7.0Free plan