n64js vs N64Wasm
n64js
github.comN64Wasm
github.comSide by side
| Figure | n64js | N64Wasm |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | — | Yes |
| iOS | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Nintendo 64 Emulators | 7.8 (#11) | 7.2 (#18) |
| Compatibility | The project says many ROMs run at full framerate, though most playable ROMs have some graphical issues. | The project says a good portion of 3D games are playable at full speed on a mid-range computer. |
| Controls | The emulator supports static and configurable key bindings, and lists the Gamepad API as an implementation feature. | Features include button and keyboard remapping, multiple controllers, mobile controls, Gameshark codes, and mouse controls. |
| Intended audience | The maker describes the project as a JavaScript emulator showcase and a way to explore what modern browsers can do. | The maker says the project began as an effort to create a well-playing open-source N64 emulator designed for the web and to learn OpenGL. |
| License | The repository includes an MIT license that permits use, modification, distribution, and sale subject to its notice conditions. | The GitHub repository identifies the project as MIT licensed. |
| Product | n64js is an N64 emulator written mostly in pure ES6 JavaScript. | N64Wasm is an N64 emulator that runs in the browser. |
| Save data | The repository lists save persistence through localStorage and save import/export among its implementation features. | It supports save states and SRAM stored in the browser for later return. |
Plans
In their own words
n64js
n64js is a free N64 emulator written mostly in pure ES6 JavaScript, with a hosted version on GitHub Pages. It uses WebGL and provides keyboard controls plus a controller-configuration interface. Many ROMs run close to full speed, but graphical problems remain and imprecise cycle counting affects compatibility. 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. The live site reports Chrome, Firefox, and Safari tested on macOS 13.5; Edge is untested. Low-level audio emulation is implemented, while high-level audio remains in progress. Savestates are listed as a TODO. Debug options include Off, Simple, and Mattias CRT display effects. The MIT-licensed repository also documents Bun scripts for headless emulation and programmatic controller input.