binjnes is a free NES emulator written in C, available in a browser and as source for Linux and macOS builds. Its emulation is cycle accurate and passes many timing tests. It supports numerous cartridge mappers through a built-in database, with extra audio channels for mappers 19, 24, and 26. You can save and load battery backup data and emulator state files, pause, advance one frame, rewind, or seek to a particular cycle. The browser version runs as WebAssembly and lets you upload a file to play. Desktop build instructions use make or CMake; building requires CMake and sokol, while the WebAssembly build also requires Emscripten. A Python test harness uses hashes to validate tests. The source is distributed under the MIT License. The project lists Linux, macOS, and web support, but its GitHub releases page has no packaged downloads, so desktop users need to build from source. The free plan is listed at 0.00 USD per free.
Who it is for
It suits people who want to play NES games in a browser or build an emulator for Linux or macOS. Its save, rewind, frame-step, and cycle-seeking controls may appeal to users who want playback control.
What is good
- Cycle-accurate emulation passes many timing tests
- Supports numerous mappers with a built-in database
- Save states and battery backup data are supported
- Browser version lets users upload a file
- MIT-licensed source code
What to know first
- No packaged downloads are listed
- Desktop use requires building from source
- Build requires CMake and sokol
Freedom251 review
binjnes: the full review
binjnes offers browser play and detailed playback controls, along with mapper and save support. Desktop users should be prepared to build it themselves.
binjnes is a free NES emulator for browser play and for desktop users on Linux or macOS who are comfortable compiling software. It suits players who value precise playback controls and mapper support; its main drawback is that desktop users must build it themselves.
Overview
Binjnes pairs cycle-accurate emulation with a browser version, giving users a way to play without setting up a desktop build. Its careful timing and fine-grained playback controls make it more compelling for users interested in examining or revisiting gameplay than for someone seeking only the simplest route to launch a game.
Key features
The emulator passes many timing tests and supports numerous cartridge mappers, with a built-in cartridge database to help identify cartridges. It also adds audio channels for mappers 19, 24 and 26. That combination gives binjnes useful breadth for users whose cartridges depend on mapper support, though no broader compatibility claim follows from it.
Save and load support covers both battery backup data and emulator state files. Playback controls include pausing, advancing one frame, rewinding and seeking to a specific cycle. These options suit deliberate replay and close inspection; casual play may not call for that level of control.
The WebAssembly version lets players upload a file in the browser. Desktop builds have a higher setup cost: Linux and macOS instructions use make or CMake, and building requires CMake and sokol. WebAssembly builds also require Emscripten. There are no packaged downloads on the GitHub releases page, so desktop users should expect to compile the project rather than install a ready-made release.
A Python test harness uses hashes to validate tests, and the source code is distributed under the MIT License.
Pricing
The Free plan costs 0.00 USD per free and covers the NES emulator in web and build-from-source versions. There is no free trial. The price is the same across those forms, but the convenience is not: browser play avoids a desktop build, while desktop use requires the build tools and dependencies.
Platforms
Binjnes supports Linux, macOS and web through WebAssembly. The browser option is the most direct way to start; desktop users must build from source. Windows is not among its supported platforms.
Who it's for
Choose binjnes if you want a free NES emulator with cycle-level playback controls, save-state support and broad mapper support, and especially if browser play fits your needs. It is a less suitable choice if you need a packaged desktop download or a Windows build.
Pros and cons
- Pros: Browser play avoids desktop compilation, while save states, rewinding and cycle seeking serve users who want close control over playback.
- Pros: Numerous mappers, a cartridge database and extra audio channels for three specified mappers give users several compatibility-focused features.
- Cons: Linux and macOS desktop users must compile the program and obtain its build requirements; there are no packaged releases.
- Cons: Windows is not supported, limiting its fit for users who need that platform.
Alternatives
Browse NES emulators to compare other options. NESER is another free option for Linux, macOS, web and Windows users. Consider HalfNES if Linux, macOS or Windows support matters more than save states; it requires Java 8 or newer and has no savestates. NET-NES is a free MIT-licensed alternative for Linux, macOS and Windows. Jnes is a Windows-only freeware option, but it cannot be sold or distributed through commercial channels. KuroganeNES is a free web alternative. Dendy and Nintengo are free alternatives for Linux, macOS, web and Windows. Geolith is a free option for Linux, macOS and Windows.
Verdict
Binjnes is a strong fit for users who want free browser-based NES play with precise playback controls, saves and mapper support. Look elsewhere if you need a ready-to-install desktop release or Windows support; for Linux and macOS desktop use, choose it only if building from source is acceptable.
binjnes plans and pricing
All plansCompared on NES emulators
- Free plan
- Yes
- Supported platforms
- Linux, macOS, web via WebAssembly
- Save states
- Yes
- Rewind
- Yes
