Live
RetroDB
About RetroDB
RetroDB
Retro Gaming ROM Library Manager - A web-based application for organizing, scraping metadata, and managing your retro game ROM collection.
Status: Solo-developed; releases on a best-effort cadence. See
SECURITY.mdfor the security disclosure policy andCONTRIBUTING.mdfor the developer setup.
Read the full guideShow less
Features
Library & Metadata
- Multi-System Library - Supports 150+ gaming platforms from Atari 2600 to PS5
- Hybrid Metadata Scraping - Combines data from TheGamesDB, IGDB, RAWG, ScreenScraper, and ES-DE gamelists (requires your own login/API key per source — see API Keys)
- AI Fill - Intelligent metadata gap-filling using Gemini, OpenAI, or Claude (requires your own AI provider API key, which is paid/usage-billed — see API Keys)
- Multi-Rating System - 8 international age rating systems (ESRB, PEGI, CERO, USK, ACB, FPB, GRAC, ClassInd) with cross-mapping
- Bulk Operations - Bulk scraping, bulk editing, compare games, and queue management with job recovery
Achievements & Trophies
- RetroAchievements Integration - Track achievement progress across retro games
- Steam Achievements - Import Steam library and track achievement progress
- Xbox Achievements - Import Xbox library and track gamerscore
- PS3/PSN Trophy Tracking - RPCS3 local trophies and PSN API trophy sync
Organization
- Collections - Tags, named lists with drag-and-drop ordering, and wishlist
- Collector Trophies - Gamification system with milestone-based trophy unlocks
- Game Imports - Import from CLZ Games (PDF), Steam, Xbox, and PlayStation Network
Tools & Analytics
- ROM Tools - Archive scanner, CHD converter/verifier, duplicate finder, multi-disc organizer
- ROM Reports - Naming validation and standards compliance checking
- Analytics Dashboard - 12-tab analytics with charts, export (PNG/CSV), and leaderboards
- Image Standardization - AI upscaling (Real-ESRGAN) and Lanczos downscaling
- Museum - Interactive gaming system encyclopedia with AI-generated content
UI & System
- 7 Themes - Cyberpunk, Matrix, Amber, Ocean, Cathedral (
christianinternal key), Blade Runner, and Elite (vector starfield) with animated canvas effects - Multi-User Support - Role-based access control (admin, editor, viewer)
- How Long to Beat - Playtime estimates for your games
- Log Viewer - Unified log browser across all categories
- Genre Normalization - Automatic normalization with custom rules
Heads up: The metadata scrapers, AI Fill, Museum AI content, and the achievement/trophy integrations (RetroAchievements, Steam, Xbox, PSN) each need the relevant account login or API key before they'll work. RetroDB runs fine without them, but those specific features stay inactive until you supply credentials — see API Keys below for where to get each one. Most are free; the AI providers are paid (billed by usage).
Quick Start
End users: download the source ZIP from Releases and follow the steps below. Developers:
git clonethe repo and see CONTRIBUTING.md for the dev setup instead.
1. Extract
Extract the RetroDB ZIP to a directory of your choice.
2. Install
python install.py
This installs Python dependencies, creates config files from templates, and sets up required directories.
3. Launch
# Linux/macOS
./start.sh
# Windows
start.bat
# Or directly
python app.py
Open your browser to http://localhost:5000 and follow the setup wizard.
Requirements
- Python 3.10 or higher (CI tests on 3.12 and 3.13)
- pip (Python package manager)
- Web Browser (Chrome, Firefox, Safari, Edge)
Optional Tools (for ROM Tools features)
- 7-Zip (
p7zip-full) - Archive extraction - unrar - RAR archive support
- chdman (
mame-tools) - CHD conversion and verification
Configuration
RetroDB uses two configuration files:
config.py- Main settings (paths, API keys, server config). Created fromconfig.example.pyduring install.data/settings.json- User-editable settings changed via the web UI.
Most settings can be configured through the web interface at Settings or during the first-run Setup Wizard.
API Keys
The metadata scrapers and AI services do not work out of the box — each one needs its own account login or API key, which you create on that provider's site. RetroDB itself is free and runs without any of them; the related feature simply stays inactive until you add the credential. Most keys below are free to obtain, but a few are paid / usage-billed — the AI providers (OpenAI, Anthropic Claude, and Gemini beyond its free tier) charge per request, so you pay them directly for what you use. Check each provider's current pricing before enabling it.
| Service | Signup URL | Used For | Cost |
|---|---|---|---|
| TheGamesDB | https://api.thegamesdb.net/key.php | Metadata & boxart | Free |
| IGDB (Twitch) | https://dev.twitch.tv/console | Metadata | Free |
| RAWG.io | https://rawg.io/apidocs | Metadata | Free |
| ScreenScraper | https://www.screenscraper.fr | Metadata, 3D boxart, videos | Free account |
| RetroAchievements | https://retroachievements.org/controlpanel.php | Achievement tracking | Free account |
| Steam Web API | https://steamcommunity.com/dev/apikey | Steam import & achievements | Free |
| Google Gemini | https://aistudio.google.com/apikey | AI Fill & Museum | Free tier + paid |
| OpenAI | https://platform.openai.com/api-keys | AI Fill & Museum | Paid (usage-billed) |
| Anthropic Claude | https://console.anthropic.com/ | AI Fill & Museum | Paid (usage-billed) |
Platform Support
RetroDB runs on Linux, Windows, and macOS. Platform-specific launchers are included:
| Platform | Launcher | Notes |
|---|---|---|
| Linux | start.sh |
Tested on Ubuntu, Fedora, Arch |
| Windows | start.bat |
Windows 10/11 |
| macOS | start.command |
Double-clickable from Finder |
Deployment
The default start.sh / start.bat / start.command launchers bind RetroDB to
localhost — fine for single-machine use. If you want to access RetroDB from
other devices on your LAN, follow the reverse-proxy guide in
docs/PROXY-DEPLOY.md. Putting RetroDB directly on a
non-localhost interface without a proxy in front of it is unsupported.
Updating
- Back up your install. Three things to copy:
database/— the live SQLite DB lives here (database/roms.db).data/— settings (settings.json,scraper_settings.json,rom_tools_config.json,psn_tokens.json,xbox_tokens.json,.secret_key).config.py— at the project root; copy it separately.
- Extract the new version over the existing installation
- Run
python install.pyto install any new dependencies - Your database and settings will be preserved
Support development
RetroDB is free and open source. If it saves you time, consider tipping — every bit helps keep solo development sustainable.
- GitHub Sponsors: github.com/sponsors/milnet01
- Patreon: patreon.com/c/AntsProjectsHub
License
RetroDB is released under the MIT License.
Legal
System logos and platform names are trademarks of their respective owners. RetroDB is not affiliated with any console manufacturer or game publisher. See LEGAL.md for full details.
RetroDB does not distribute or host ROM files.
Credits
- Built with Flask and Waitress
- Metadata from TheGamesDB, IGDB, RAWG, ScreenScraper
- Achievement data from RetroAchievements, Steam, Xbox
- Trophy data from PlayStation Network and RPCS3
- AI metadata via Google Gemini, OpenAI, Anthropic Claude
- Playtime data from HowLongToBeat
- Image upscaling via Real-ESRGAN (ONNX Runtime)
What's new · v3.12.0
- RetroDB is now available in Korean (한국어). Pick it under Settings → System → Language. The entire interface — menus, buttons, messages, and the in-app Help manual — is translated, bringing the supported languages to eight (English, German, Spanish, French, Italian, Japanese, Brazilian Portuguese, and Korean). Korean rounds out coverage for every game age-rating board RetroDB displays, including South Korea’s GRAC.