Universal ROM Compression Suite — by M5 Dev
OpenROM is a Universal ROM Compression Suite built to break the monopoly of proprietary ROM tools. It features a modern two-column UI design, real-time command line terminal logging, batch processing, and direct single-click conversions.
| Platform | Official Release (GitHub) | Fast Mirror (SourceForge) |
|---|---|---|
| 🪟 Windows | OpenROM_Windows_Portable.zip | Download Mirror |
| 🐧 Linux | OpenROM_Linux_x86_64.AppImage | Download Mirror |
| 🍎 macOS Apple Silicon | OpenROM_macOS_arm64.dmg | Download Mirror |
| 🍎 macOS Intel | OpenROM_macOS_x86_64.dmg | Download Mirror |
📖 Documentation & Guides: Check out our Official Wiki for setup guides, Steam Deck setup, and FAQs.
- Modern Two-Column Design — Clean split interface with DROP ZONE & Queue on the left, and Conversion Settings / Controls on the right.
- Complete Conversion Matrix — Support for over 15+ conversion paths including ISO, BIN, CUE, GDI, IMG, ECM, CHD, CSO, ZSO, and XISO.
- Live Terminal & Logging — Real-time process logging saved to your OS config directory.
- Auto CUE Generation — Auto-generates CUE files for standalone BIN files missing CUE sheets.
- Auto ECM Output Format — Auto-detects extracted format (ISO/BIN) after ECM decompression.
- Integrity Verification — Automatic post-conversion integrity check for CHD files via
chdman verify. - Drag & Drop — Native drag and drop support for single files and batch folders.
| Input Format | Output Target | Tool Used | Command Executed |
|---|---|---|---|
| ISO | CHD | chdman | createdvd -i in -o out |
| ISO | CSO | maxcso | maxcso in -o out |
| ISO | ECM | ecm | ecm in out |
| ISO | XISO | extract-xiso | -r in |
| BIN | CHD | chdman | createcd -i cue -o out (Auto CUE if missing) |
| BIN | ECM | ecm | ecm in out |
| CUE | CHD | chdman | createcd -i in -o out |
| GDI | CHD | chdman | createcd -i in -o out |
| IMG | CHD | chdman | createdvd -i in -o out |
| CHD | ISO | chdman | extractdvd -i in -o out |
| CHD | BIN/CUE | chdman | extractcd -i in -o out.cue |
| CSO | ISO | maxcso | --decompress in -o out |
| ZSO | ISO | maxcso | --decompress in -o out |
| ECM | ISO / BIN | unecm | unecm in out (Auto-detects output format) |
| XISO | ISO | extract-xiso | -x in -d out |
| Tool | Purpose |
|---|---|
| chdman | MAME CHD conversion tool |
| maxcso | PSP/PS2 CSO/ZSO compression |
| ecm / unecm | Error Code Modulator compression |
| extract-xiso | Xbox ISO extraction & creation |
All tools are bundled for Windows and Linux. No additional setup required.
- Python 3.10+
- Dependencies in
requirements.txt
git clone https://github.com/M5Devs/OpenROM
cd OpenROM
pip install -r requirements.txt
python main.py# Windows
build.bat
# Linux
chmod +x build.sh && ./build.sh
# macOS
chmod +x build_mac.sh && ./build_mac.shContributions are welcome! Please read CONTRIBUTING.md for guidelines on how to submit bug reports, feature requests, and pull requests.
OpenROM is licensed under GPL v3 + Commons Clause.
This means:
- ✅ Free to use personally
- ✅ Free to study, modify, and contribute
- ✅ Forks must remain open source (GPL)
- ❌ Cannot be sold or bundled in a commercial product without written permission
For commercial licensing inquiries: github.com/M5Devs/OpenROM
If OpenROM saved you time, consider supporting active development:
Donate USDT (TRC20):
TWbG9smLbcyTcVod3YsRPyEtWhtQnnu7vC