Skip to content

Latest commit

ย 

History

123 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenROM Banner

โฌก OpenROM

Universal ROM Conversion Suite โ€” by M5 Dev

Translation status


๐ŸŽฎ Meet ROMeo โ€” OpenROM's official mascot. Your friendly pixel-art cartridge companion for all things ROM.

OpenROM is a free, open-source Universal ROM Conversion Suite built to replace every proprietary and fragmented ROM tool out there. Powered by a modern Flutter desktop UI with a gaming dashboard aesthetic, real-time terminal logging, batch processing, smart platform detection, and a full headless CLI for automation โ€” all running 100% offline.


โฌ‡๏ธ Download

Platform GitHub Release SourceForge Mirror
๐ŸชŸ Windows OpenROM_Windows_Portable.zip Mirror
๐Ÿง Linux OpenROM_Linux_x86_64.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.


๐ŸŽฎ Features

  • Gaming Dashboard UI โ€” Flutter-powered dark interface inspired by PS5/Xbox aesthetics, with ROM cards, platform badges, and real-time progress.
  • Themeable โ€” Swap between built-in themes (Gaming Dashboard, Cyberpunk, Terminal, Minimal) or create your own via JSON.
  • Complete Conversion Matrix โ€” 20+ conversion paths: ISO, BIN, CUE, GDI, IMG, ECM, CHD, CSO, ZSO, XISO, RVZ, WIA, WBFS, GCZ.
  • Smart Platform Detection โ€” Magic byte detection for PS1, PS2, PSP, Xbox, GameCube, Wii, Dreamcast โ€” not size guessing.
  • Real CHD Header Parsing โ€” Reads actual CHD v4/v5 headers to determine CD vs DVD type accurately.
  • Auto CUE Generation โ€” Generates CUE sheets for standalone BIN files with correct track mode (MODE1/MODE2/AUDIO).
  • Integrity Verification โ€” Post-conversion CHD integrity check via chdman verify.
  • Batch Processing โ€” Drop a whole folder, convert everything at once.
  • Real-time Terminal Log โ€” Live process output with timestamps, slides up during conversion.
  • Drag & Drop โ€” Native drag and drop for files and folders.
  • Full Headless CLI โ€” openrom-core for scripting, automation, and Flutter IPC.
  • No Telemetry โ€” Zero network requests. No analytics. Runs 100% locally forever.

๐Ÿ” Conversion Matrix

Input Output Tool Notes
ISO CHD chdman createcd for PS1, createdvd for PS2/GC
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

๐Ÿ’ป CLI Usage

# 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

# Verify a CHD
openrom-core --input game.chd --verify-only

# List supported formats
openrom-core --list-formats

# JSON output (for scripting / Flutter IPC)
openrom-core --json --detect game.iso

๐ŸŽจ Themes

OpenROM 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.


๐Ÿ› ๏ธ Bundled Tools

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

๐Ÿš€ Building from Source

Requirements

  • Python 3.10+
  • Flutter 3.27+
  • PyInstaller 6.0+

Run Flutter UI from source

git clone https://github.com/M5Devs/OpenROM
cd OpenROM

# Build headless Python core
pip install -r requirements.txt
pyinstaller --onefile --name openrom-core core/cli.py

# Run Flutter UI
cd openrom_flutter
flutter pub get
flutter run -d windows   # or linux / macos

Build release packages

# Windows
build_windows.bat

# Linux
./build_linux.sh

# macOS
./build_mac.sh

๐Ÿ—บ๏ธ Roadmap

  • Flutter UI rewrite (v2.5.0)
  • Magic byte platform detection
  • CHD header parsing
  • Theme system
  • Android support via Termux ๐Ÿค–
  • ROM Checker โ€” No-Intro DAT + RetroAchievements hash verification
  • ARM builds (Linux ARM64)

๐Ÿค Contributing

Contributions are welcome! Read CONTRIBUTING.md for guidelines on bug reports, feature requests, and pull requests.


๐Ÿ“„ License

OpenROM is licensed under GPL v3 + Commons Clause.

โœ… Free to use personally
โœ… Free to study, modify, and contribute
โœ… Forks must remain open source
โŒ Cannot be sold or bundled commercially without permission

Commercial licensing: open a discussion on GitHub or reach out on Twitter/X @M5Devs

About

Universal ROM Compression Suite for retro gaming. Convert PS1, PS2, Xbox, GameCube ISOs to CHD, CSO, ECM and more. Windows, Linux & macOS.

Topics

Resources

Contributing

Security policy

Stars

99 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Contributors

Languages