PyBoy review
A developer-focused GB/GBC emulator for scripts, bots, debugging, and research.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
PyBoy is an open-source emulator and Python library for Game Boy and Game Boy Color ROMs. It supports command-line use as well as Python scripts, making it a fit for developers, researchers, and users building bots or AI agents around emulation. Its API provides control over emulation, memory probing, screen and sound data access, and other programmatic operations. It runs on Windows 64-bit, macOS, Linux, and Raspberry Pi OS, and is available at no cost under its open-source model.
The main strength is depth beyond basic ROM playback. PyBoy supports saving and loading emulator states, rewind, real-time clock handling for compatible cartridges, GameShark cheat codes, debugging, and breakpoint support. These features give programmers several ways to inspect, automate, and reproduce emulator behavior. Gymnasium integration also supports projects that connect emulation with reinforcement-learning environments. For users who need a scriptable emulator rather than a controller-first desktop application, this feature set is the central reason to choose PyBoy.
PyBoy is less suitable for users seeking a conventional consumer emulator with broadly documented peripheral support or network multiplayer. Link-cable communication is experimental and documented between two local emulator instances, while network netplay and external controller support are not verified. The project’s narrow focus on Game Boy and Game Boy Color is an advantage for targeted development work but not for users wanting a multi-system emulator. Choose PyBoy for Python-driven experimentation, debugging, automation, and research; choose an alternative if standard multiplayer or external-device support is the priority.
PyBoy pros and cons
- Where it wins
- Python API exposes control, memory, screen, and sound data
- Includes save states, rewind, RTC handling, cheats, and debugging
- Runs on Windows, macOS, Linux, and Raspberry Pi OS
- Where it doesn't
- Link-cable communication is experimental and limited to local instances
- Netplay over a network is not verified
- External controller support is not verified
PyBoy fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. We may earn a commission when you click some links. How we rank.
Last updated · How we research and update