Canonical: https://rom-weaver.com/play-rom

# ROM tester online: Play and test ROMs | rom-weaver

Test a ROM or patched game online with EmulatorJS. Play supported NES, SNES, Game Boy, GBA, N64, DS, and PlayStation games locally. No uploads.

[Open in browser](https://rom-weaver.com/play-rom)

[Documentation](https://rom-weaver.com/docs.md)

[Full guide](https://rom-weaver.com/docs/test-roms.md)

## Check platform support

1. Check [browser emulator support](<https://rom-weaver.com/docs/supported-formats.md#browser-emulator-support>) for your game's platform and the bundled core limitations.
2. For GameCube, Wii, Nintendo 3DS, Dreamcast, or PlayStation 2 games, use an emulator for that platform. Converting, patching, or identifying a ROM in rom-weaver does not mean the browser player supports it.
3. Keep the original ROM and use a copy when testing a patch.

## Load a ROM

1. Open [Test](<https://rom-weaver.com/play-rom>).
2. Drop a ROM onto **0x01 Load a game**, or select that area to choose a file.
3. If the player shows **START GAME**, select it. Touch devices can require this tap before playback starts.
4. Use the controls inside the emulator player.

You can also add a ZIP or 7z archive. rom-weaver shows the extraction progress, then opens a supported ROM from the archive.

A CHD that rom-weaver identifies as Sony PlayStation or Sega Mega Drive or Genesis opens without extraction. A CHD identified as Sega CD or Mega-CD has no bundled core and does not play. The emulator core reads the CHD directly, so a multi-track CD plays as one file. Add the `.chd` file itself, not an archive that contains it. A CHD for any other platform, including Saturn, is extracted first.

Saturn games run on the bundled [SaturnOpenBios](<https://github.com/rom-weaver/saturn-open-bios>) BIOS. Earlier versions of rom-weaver used the emulator's built-in BIOS emulation instead, so a save state made with one of them may not resume correctly.

Saturn games start with the 4 MB RAM expansion cartridge inserted, because some games need it to boot. If a game misbehaves with it, open the emulator's settings, choose **Backend Core Options**, set **yabause addon cartridge** to `none`, then reload Test and start the game again. The emulator's **Restart** button keeps the cartridge. The browser remembers the choice for that game. In-game saves keep working, but loading a save state never restores the cartridge's memory, so a game that uses the cartridge can show broken graphics or freeze after you load one.

[Browser emulator support](<https://rom-weaver.com/docs/supported-formats.md#browser-emulator-support>) lists the platforms with bundled cores.



## Fix a game that does not start

- **No emulator core for this system:** check [browser emulator support](<https://rom-weaver.com/docs/supported-formats.md#browser-emulator-support>).
- **WebGL 2 is required:** enable hardware acceleration or use a browser that supports WebGL 2.
- **An archive does not load:** extract it yourself, then add the ROM file.
- **A save does not appear:** load the same ROM bytes. rom-weaver uses the ROM's SHA-1 checksum to find its saves.
- **An imported save does not load:** confirm that its SHA-1 matches the ROM shown in Storage.
- **The player has no sound on iPhone or iPad:** start the game inside the player. Safari requires that direct tap before it enables audio.

The emulator and its cores download from rom-weaver's own origin. With **Keep an offline copy** on, the offline download includes every core, so [offline use](<https://rom-weaver.com/docs/browser-settings.md#prepare-for-offline-use>) needs no per-system step.
