100% local · nothing uploaded · nothing stored

Retro games. Zero friction.

Drop in a ROM you already own and it's playing in seconds. NES, SNES, Game Boy, GBA, and Genesis, no installs, no accounts, no upload to any server, ever.

Drop a ROM file here or click to browse
.nes · .sfc / .smc · .gb / .gbc · .gba · .md / .gen / .smd
NES SNES Game Boy Game Boy Color Game Boy Advance Genesis / Mega Drive
ARROWSD-pad
ZA button
XB button
ENTERStart
SHIFTSelect

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 downloads, 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.

Supported systems

Six classic platforms, more may get added down the line.

1985

NES

The console that rebuilt the home gaming market after the early-80s crash. 8-bit, cartridge-based, and still influential decades later.

1991

SNES

Nintendo's 16-bit follow-up, known for detailed sprite work, layered backgrounds, and the Mode 7 pseudo-3D effect.

1989

Game Boy & Game Boy Color

The handheld that defined portable gaming for a generation, later given a color screen and expanded palette in 1998.

2001

Game Boy Advance

A genuine 32-bit handheld with a widescreen format, closing out the era of dedicated Game Boy hardware.

1988

Genesis / Mega Drive

Sega's 16-bit answer to the SNES, built around faster hardware and a distinctly different library of action titles.

More soon

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.

01

Choose your ROM

Drop in a game file you already own a legal copy of. Nothing gets sent anywhere, it's read directly by your browser.

02

The right core loads

Based on the file type, the matching emulator core downloads automatically and boots your game.

03

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, reading the raw data off a game cartridge you physically own, has been a normal part of retro gaming and preservation for decades. Plenty of official and third-party hardware exists specifically for this. Whether that backup is legal to keep or use varies by country, but the general principle most retro communities operate on is simple: back up what you own, don't download what you don't.

That's the exact model GamePuke is built around. This is a player, not a library.

Controls & tips

Default keyboard mapping and a couple of things worth knowing.

Default keyboard controls

ARROWSD-PAD
ZA BUTTON
XB BUTTON
ENTERSTART
SHIFTSELECT

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.
We don't host, store, or distribute any game files. GamePuke is a browser-based emulator front end built on the open-source Nostalgist.js and RetroArch projects. It only works with files you provide yourself, and those files are processed entirely on your own device, they are never uploaded to any server.

FAQ

Is this legal?

The emulator itself is open-source software, running an emulator is legal. What matters is the ROM file you load: using a backup of a game you legitimately own is generally accepted, while downloading ROMs of games you don't own is copyright infringement in most places. This site doesn't provide, host, or link to any ROM files, that part is entirely up to you.

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.