| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Universal Retro Gaming Toolkit — by M5 Dev
🎮 Meet ROMeo — OpenROM's official mascot. Your friendly pixel-art cartridge companion for all things ROM.
OpenROM is a free, open-source Universal Retro Gaming Toolkit — one app to replace every fragmented ROM tool out there. Convert, patch, compress, clean, and manage your ROM collection with a modern Flutter desktop UI, real-time terminal logging, smart platform detection, and a full headless CLI for automation — all running 100% offline.
| Platform | GitHub Release | SourceForge Mirror |
|---|---|---|
| 🪟 Windows (Installer) | OpenROM-v3.0.0-Setup.exe | Mirror |
| 🪟 Windows (Portable) | OpenROM_Windows_Portable.zip | Mirror |
| 🐧 Linux x86_64 | OpenROM_Linux_x86_64.zip | Mirror |
| 🐧 Linux ARM64 | OpenROM_Linux_arm64.zip | Mirror |
| 🍎 macOS Apple Silicon | OpenROM_macOS_arm64.zip | Mirror |
| 🍎 macOS Intel | OpenROM_macOS_x86_64.zip | Mirror |
| 🤖 Android | 🚧 Coming soon via Termux | — |
Each release includes the Flutter GUI (OpenROM) and the headless CLI (openrom-core).
📖 Guides & Docs: Official Wiki — setup, Steam Deck, Termux, FAQs.
| Input | Output | Tool | Notes |
|---|---|---|---|
| ISO | CHD | chdman | createcd for PS1/Dreamcast/Saturn/Sega CD, createdvd for PS2/GC/Wii/Xbox |
| ISO | CSO | maxcso | PSP / PS2 |
| ISO | ECM | ecm | |
| ISO | XISO | extract-xiso | Xbox |
| ISO | RVZ | nodtool | GameCube / Wii |
| BIN | CHD | chdman | Auto CUE if missing |
| BIN | ECM | ecm | |
| CUE | CHD | chdman | |
| GDI | CHD | chdman | Dreamcast |
| IMG | CHD | chdman | |
| CHD | ISO | chdman | |
| CHD | BIN/CUE | chdman | |
| CSO | ISO | maxcso | |
| ZSO | ISO | maxcso | |
| ECM | ISO / BIN | unecm | Auto-detects output format |
| XISO | Files | extract-xiso | Extracts to folder |
| RVZ | ISO | nodtool | GameCube / Wii |
| WIA | ISO | nodtool | GameCube / Wii |
| WBFS | ISO | nodtool | Wii |
| GCZ | ISO | nodtool | GameCube / Wii |
| NKit | ISO | nkit | GameCube / Wii |
| WUD | ISO | nkit | Wii U |
| WUX | ISO | nkit | Wii U (compressed) |
| ISO | NKit | nkit | GameCube / Wii |
| Format | Systems |
|---|---|
| IPS / IPS32 | NES, SNES, GBA, and most retro systems |
| UPS | Universal — any ROM |
| BPS | Universal — any ROM |
| PPF | PS1 / PS2 disc patches |
| APS (GBA) | Game Boy Advance |
| APS (N64) | Nintendo 64 |
| EBP | EarthBound / SNES |
| DPS | DOS / PC |
| xdelta3 / VCDIFF | Large ROMs, disc images, PS2, PSP |
| SSP (Sega Saturn Patcher) | Sega Saturn disc patches |
| DCP (Dreamcast Patch Container) | Sega Dreamcast disc patches |
# Detect file format and platform
openrom-core --detect game.iso
# Convert a single file
openrom-core --input game.iso --format CHD
# Batch convert a folder
openrom-core --folder /roms/ --format CHD --compression Max
# Convert with verification
openrom-core --input game.iso --format CHD --verify
# Apply a patch
openrom-core --patch game.sfc --patch-file hack.ips
# Apply a Dreamcast DCP patch
openrom-core --dcp patch.dcp --disc-dir /disc/ --output /out/
# Read IP.BIN fields
openrom-core --read-ipbin IP.BIN
# Edit IP.BIN — region free + enable VGA
openrom-core --write-ipbin IP.BIN --region-free --set-vga
# Edit IP.BIN — set custom title
openrom-core --write-ipbin IP.BIN --set-title "MY GAME"
# Inspect GDI track structure
openrom-core --read-gdi disc.gdi
# Compress to 7Z
openrom-core --compress game.iso --format 7z --level ultra
# Remove ROM header
openrom-core --remove-header game.smc
# Generate M3U for multi-disc game
openrom-core --m3u /roms/Metal\ Gear\ Solid/
# Verify a CHD
openrom-core --input game.chd --verify-only
# JSON output (for scripting / Flutter IPC)
openrom-core --json --detect game.isoOpenROM ships with 4 built-in themes and supports fully custom themes via JSON files in the themes/ folder:
| Theme | Description |
|---|---|
| default.json | Gaming Dashboard — dark navy, red accent |
| cyberpunk.json | Neon on black |
| terminal.json | Green on black, monospace |
| minimal.json | Clean light mode |
Create your own theme by copying any JSON file and editing the color values.
All tools are open source and verifiable. See SECURITY.md for SHA256 checksums.
| Tool | Purpose | License |
|---|---|---|
| chdman | CHD conversion (MAME) | GPL v2 |
| maxcso | CSO/ZSO compression | ISC |
| ecm / unecm | ECM compression | GPL v2 |
| extract-xiso | Xbox ISO extraction | GPL v2 |
| nodtool | GameCube / Wii formats | MIT |
| xdelta3 | xdelta/VCDIFF patching | Apache 2.0 |
| nkit / nkds | NKit GameCube/Wii/WiiU conversion | MIT |
| saturn-patcher | Sega Saturn SSP patch applier | GPL v3 |
git clone https://github.com/M5Devs/OpenROM
cd OpenROM
# Build headless Python core
pip install -r requirements.txt
pip install nuitka ordered-set zstandard
python -m nuitka --onefile --output-filename=openrom-core --include-data-dir=assets=assets core/cli.py
# Run Flutter UI
cd openrom_flutter
flutter pub get
flutter run -d windows # or linux / macos# Windows
build_windows.bat
# Linux
./build_linux.sh
# macOS
./build_mac.shContributions are welcome! Read CONTRIBUTING.md for guidelines on bug reports, feature requests, and pull requests.
OpenROM is licensed under the GNU General Public License v3.0 (GPL v3) — a free, copyleft license approved by the Open Source Initiative.
| ✅ | Free to use personally and commercially |
| ✅ | Free to study, modify, and distribute |
| ✅ | Forks must remain open source under GPL v3 |
| ✅ | Listed on Flathub, Linux distros, and OSI-compliant repos |
See LICENSE for the full license text.
| Back | FazBrowse Home | New Git URL |