Retro games. Zero friction.
Drop in a ROM you have permission to use and it's playing in seconds. NES, SNES, Game Boy, GBA, and Genesis, no installs, no accounts, no upload to any server, ever.
Need a game file? Browse ROM sources, then return here to load your download.
A connected USB or Bluetooth gamepad works automatically too, no setup needed.
Why play in the browser
No client to install, no launcher to update, no BIOS files to hunt down.
Zero install
No installs, no launchers, no admin permissions. It's a tab, not an app.
Works everywhere
Windows, Mac, Linux, Chromebook, even a lot of tablets. If it runs a modern browser, it runs this.
Nothing leaves your device
Your ROM is read locally and never transmitted anywhere. We couldn't see it if we tried.
Keyboard or gamepad
Full keyboard controls out of the box, plus USB and Bluetooth controller support.
Find a ROM. Then press play.
Browse the community ROM directory, download a supported game file, and bring it back to GamePuke.
r/ROMs Megathread
Use the external directory for its current source links. Opening the directory in a new tab keeps GamePuke ready for your return.
.nes.sfc / .smc.gb / .gbc.gba.md / .gen / .smd- Find a game for one of the supported systems above.
- Download the file from its source. Extract ZIP, 7z, or RAR archives first.
- Return here and select Load a ROM, or drag the extracted file into the player.
The directory includes other systems that this player does not support. Downloads happen on external sites; availability and account requirements vary. GamePuke is not affiliated with the directory and does not host game files. Only download and use files you are authorized to access.
Supported systems
Six classic platforms, more may get added down the line.
NES
The console that rebuilt the home gaming market after the early-80s crash. 8-bit, cartridge-based, and still influential decades later.
SNES
Nintendo's 16-bit follow-up, known for detailed sprite work, layered backgrounds, and the Mode 7 pseudo-3D effect.
Game Boy & Game Boy Color
The handheld that defined portable gaming for a generation, later given a color screen and expanded palette in 1998.
Game Boy Advance
A genuine 32-bit handheld with a widescreen format, closing out the era of dedicated Game Boy hardware.
Genesis / Mega Drive
Sega's 16-bit answer to the SNES, built around faster hardware and a distinctly different library of action titles.
What's next
Additional systems get considered based on what people actually ask for. Got a request? Reach out.
How it works
No accounts, no uploads, no waiting.
Choose your ROM
Find a supported file through the ROM sources above, or use one you already have permission to use. Load the extracted file into the player; it is read locally by your browser.
The right core loads
Based on the file type, the matching emulator core downloads automatically and boots your game.
Play instantly
Full keyboard or gamepad controls, save states, and fullscreen, all running locally in this browser tab.
Understanding ROM emulation
A quick primer if any of this is new to you.
ROM, core, and BIOS, what's the difference?
A ROM is a digital copy of a game's data, dumped from the original cartridge or disc. A core is the actual emulator, software that mimics a specific system's hardware closely enough to run that ROM correctly. Some systems also need a BIOS, a small firmware file the original hardware shipped with, though none of the systems supported here require one.
GamePuke handles the core automatically based on your file type. You only ever need to provide the ROM.
About backing up your own games
Cartridge dumping means reading game data from an original cartridge into a file. Use only files you are authorized to obtain and use.
GamePuke plays files you select locally. The external ROM directory above is a separate service; GamePuke does not host its downloads.
Controls & tips
Default keyboard mapping and a couple of things worth knowing.
Default keyboard controls
A connected USB or Bluetooth gamepad is detected automatically through your browser, no setup needed.
A couple of things to expect
- A camera/mic permission prompt may pop up. That's a known quirk of the underlying emulator's audio engine checking for microphone availability during setup, it never actually uses your camera or mic. Safe to deny.
- Close unused tabs for best performance. This runs a full hardware emulator via WebAssembly, it's efficient, but more headroom never hurts.
- .zip files won't load directly. If your ROM is inside a zip, extract it first and load the raw file.
FAQ
How do I use the ROM directory?
Download a supported ROM from an authorized source, extract it if it is archived, then return to GamePuke and choose Load a ROM. The external directory opens in a new tab; it does not automatically load a game into the player.
Is this legal?
GamePuke does not grant permission to download or use copyrighted games. Only load ROM files you are authorized to use. GamePuke links to an external ROM directory but does not host or distribute game files.
Do you upload or store my ROM file?
No. The file is read directly by your browser using the File API and handed to the emulator locally. It never touches our server, and we have no way to see, copy, or store it.
What systems are supported?
NES, SNES, Game Boy, Game Boy Color, Game Boy Advance, and Sega Genesis / Mega Drive right now. Support for more systems may be added later.
Can I use a controller?
Yes. USB and Bluetooth gamepads connected to your device are detected automatically through your browser, alongside full keyboard controls.
Why did my browser ask for camera or microphone access?
That's a known quirk of the underlying emulator technology, not GamePuke asking to watch or listen to anything. The audio engine checks for microphone availability during setup even though it's never actually used. Safe to deny the prompt.
My game won't load, what happened?
Double check the file extension matches one of the supported formats. Some ROM files are compressed inside a .zip, unzip it first and load the raw ROM file directly. If it still fails, the file may be corrupted.
What is this built on?
GamePuke is built on Nostalgist.js, an open-source library (MIT licensed) that runs RetroArch emulator cores in the browser via WebAssembly. Full credit to that project and to the RetroArch and libretro communities behind it.