RARM helps you manage and clean up your ROM library. It scans your local ROMs, identifies each game and matches it against the RetroAchievements database to retrieve all the available metadata for it. In a way it acts like a retroachievements desktop and mobile client that points to your local files. You can see which games have achievements, how popular they are, and what you have already played. RetroAchievements turns out to be the most useful resource for pruning a collection. Built with Flutter, it runs natively on Windows and Android. Linux, macOS and iOS builds exist but are untested. Testers are needed for these platforms. See Platform Support.
RetroAchievements adds achievements to retro games played through supported emulators. Each game is identified by the hash of its file, and the site tracks the achievements you've earned per game.
- A free RetroAchievements account and your web API key (found at retroachievements.org/settings?tab=applications).
- A local library of ROMs you legally own.
Windows: the easiest way to get started:
Grab the installer from the latest release and run it:
rarm-setup-vX.X.X.exe
Other platforms: download the latest build for your OS from Releases:
- Windows (portable):
rarm-windows-vX.X.X.zip - macOS:
rarm-macos-vX.X.X.zip - Linux (AppImage):
rarm-vX.X.X-x86_64.AppImage - Linux (Flatpak):
rarm-vX.X.X-x86_64.flatpak - Android:
rarm-android-vX.X.X.apk
On first launch RARM opens a short setup wizard:
- Account: enter your RetroAchievements username and Web API key, then hit Verify (Get my API key opens the right RA page)
- ROM folder: pick the folder that holds all your roms; fix any console it guessed wrong, and untick any folder you don't want scanned and displayed in the app
- Scan: start the first scan (or choose Later and scan from the home screen). The app hashes each ROM and matches it against RetroAchievements
Then start cleaning: browse by system with RetroAchievements counts on every game, and open the Cull deck to keep or bin.
That's it. Your collection is mapped to RetroAchievements and ready to prune.
- 🃏 Cull - keep-or-bin deck, one game at a time, with RetroAchievements data on every card
- 🧹 Filters & Cleanup - filter by system, achievement status, duplicates, region, and bad dumps; flags duplicates and misfiled ROMs
- 📤 Export - export any system to Markdown, CSV, or PDF, plus a library health report
- 💾 Storage View - treemap of disk usage by folder and system
- 🔍 Scanning & Hashing - scans and identifies ROMs the way RetroArch does (zipped and disc-based included), then matches them against RetroAchievements
- 🏆 Achievement Data - per-game achievements and your progress (casual/hardcore, points, last-played)
- 🎮 Extras - RA-ranked "play next" picks, favorites, custom playlists, and launch ROMs into your emulator
Cull: keep or bin, one game at a time, with RetroAchievements data on every card
Guided first-run setup
| Platform | Status | Notes |
|---|---|---|
| Windows | ✅ Fully Supported | Windows 10/11 |
| Linux | AppImage & Flatpak | |
| Android | Builds run; Everything should work except Wii and GC hashing at this point | |
| macOS | Builds in CI but not verified on a device; the maintainer has no Apple hardware. Contributions welcome. | |
| iOS | Builds in CI but not verified on a device; the maintainer has no Apple hardware. Contributions welcome. |
RARM is local-first. Your ROM library, scan results, playlists, and RA credentials all stay on your device.
- Only the MD5 hash of a ROM is sent to RetroAchievements to look up its game ID; the ROM file itself never leaves your machine.
- Your username and API key are used solely to fetch your own progress from the RA API.
Contributions are welcome!
- Report bugs: open an issue with clear reproduction steps
- Suggest features: share ideas in the discussions
- Improve docs: help make things clearer
- Share: tell other RetroAchievements players about the project
- Issues: GitHub Issues
- RetroAchievements: retroachievements.org
Released under the MIT License.
This project bundles third-party libraries inside packages/raw_hash/src/vendor/,
each of which stays under its own permissive license: rcheevos (MIT),
libchdr (BSD-3-Clause), and libchdr's bundled codecs zstd, miniz, lzma, and
dr_flac.
RetroAchievements is a trademark of its respective owners; this is an unofficial
community tool and is not affiliated with RetroAchievements.






