NINTENDO NES/FAMICOM EMULATOR CORE
Mesen
Mesen (libretro port) — a high-accuracy NES / Famicom emulator implemented as a libretro core (derived from the Mesen project).

WHY IT MATTERS
Why use the libretro Mesen core?
Mesen is known for high accuracy, broad mapper support, and advanced debugging and video options. The libretro port brings that accuracy into RetroArch and other libretro frontends so you can use Mesen’s emulation within a core-based workflow and benefit from RetroArch features (input, shaders, rewinding, savestates, and remapping).
BEST FOR
Best for
Users who want an accurate NES/Famicom core inside RetroArch (or other libretro frontends), and those who need excellent mapper/compatibility fidelity compared with older libretro NES cores.
The people behind Mesen
History and project context
Mesen began as a standalone high-accuracy NES/Famicom emulator (the original project and its author are documented in the project's repositories). A libretro port was created to allow Mesen’s emulator code to run as a libretro core inside RetroArch and similar frontends. The standalone Mesen project has later forks and successor projects (for example Mesen2 / MesenCE and Mesen-S as a separate SNES-family project); libretro maintains a Mesen core repository and core-info metadata used by RetroArch’s core updater/build infrastructure. The libretro core is distributed via libretro/RetroArch core channels rather than bundled with commercial ROMs or BIOS files.
What Mesen supports
- RetroArch (Windows, Linux, macOS builds that include libretro cores)
- Any libretro-compatible frontend that can load libretro cores
- Standalone Mesen remains available separately (different project/repo) for Windows and Linux
- No BIOS required for NES/Famicom games (standard ROM formats only)
Download and availability
OFFICIAL DOWNLOADS
Get Mesen
Install via RetroArch’s Online Updater (Cores → Download a Core) to get the libretro Mesen core. For the standalone emulator or source, consult the official Mesen / SourMesen repositories; the libretro core and core-info are hosted in libretro organization repositories and documented on the Libretro website.
Get Mesen ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗Mesen setup guide
Setup note: Practical setup notes for using the Mesen libretro core inside RetroArch (and obtaining the standalone Mesen when needed). This guide assumes you already have a RetroArch install on your platform of choice.
- 1) Install or update RetroArch: Use your platform’s RetroArch builds (official RetroArch downloads or your distribution’s package). Ensure RetroArch is a recent build so it can download and run libretro cores. If you installed RetroArch long ago, run RetroArch’s Online Updater → Update Assets / Update Core Info Files first.
- 2) Install the Mesen core via RetroArch Online Updater: Open RetroArch → Main Menu → Online Updater → Core Updater → find and download the Mesen core (listed as Mesen or mesen). After download, load your NES/Famicom ROM and choose Run → Load Core → select the downloaded Mesen core, or use Load Content and when prompted choose the core.
- 3) Choose and configure core options: In RetroArch, while a Mesen core is active, open Quick Menu → Options to view Mesen-specific core options (palette overrides, mapper fixes, audio latency, overscan cropping, etc.). Some options (for example custom palettes) require you to place files in paths reachable by RetroArch; core options may expect path strings. If you rely on a custom palette file (e.g., MesenPalette.pal), set the core option that points to it and ensure RetroArch has permission to read that path.
- 4) ROM formats and archives: Use standard NES ROM formats (.nes, UNIF/UNF where supported). RetroArch cores commonly accept compressed archives (.zip, .7z) if the frontend handles archive extraction. Do not expect the core to provide or include any commercial game ROMs or copyrighted BIOS/firmware — acquire game images legally.
- 5) Saves, save states and compatibility considerations: Use RetroArch’s save state system and core-provided SRAM saves. Note that save states are core-specific; states made with a different Mesen core build (or standalone Mesen) may not be compatible. If you update the core and encounter save-state incompatibility, keep backups of .srm and .state files before upgrading.
- 6) Standalone Mesen and alternate projects: If you want features outside of the libretro environment (GUI debugger, HD pack tools, or platform-specific features), get the standalone Mesen or its successor/forks from their official repositories. The standalone project and the libretro core are separate distributions; versions and features can differ.
- 7) Troubleshooting video/audio issues: If the core produces black video, audio glitches, or performance problems on certain devices, try changing RetroArch’s video driver (e.g., OpenGL, Vulkan) and toggling core options. Also try using a different RetroArch build (some mobile/ARM phones have issues with certain cores). If problems persist, consult the libretro forums or the core’s issue tracker.
- 8) Building or obtaining the core manually: If you need a custom build, get the libretro core source from the libretro organization or the Mesen libretro repo referenced in libretro’s core-info. Follow the core’s COMPILING.md/build instructions in its repository. For the standalone project, use the SourMesen/Mesen repository and its build documentation.
Software reminder: The libretro Mesen core and the standalone Mesen project are separate. Neither includes commercial games, firmware, BIOS files, or copyrighted ROMs. Always consult the core’s repository and RetroArch’s updater for the official binaries and updates.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for Mesen as they are published.
Use Mesen on Android
An Android ARM64 Libretro build exists for Mesen. Run the core through RetroArch for Android; the standalone desktop download and Android core may have different menus and features.
Emulates: NES.
Verified Android core build ↗ · Browse all Android emulators →
Retro Replay Retro Replay gaming reviews, news, emulation, geek stuff and more!