The ultimate browser-based curation suite for retro gaming enthusiasts, handheld emulators, and digital archivists.
Organize, clean, and enrich your entire ROM library with 1G1R curation, multi-disk M3U automation, No-Intro naming standards, and a realistic 3D Box Art Studio โ powered by React 19, Tailwind CSS v4, and optional Gemini 3.8 Flash AI metadata cleansing.
Features โข Workflow โข Supported Platforms โข 3D Box Studio โข Getting Started โข Privacy & Security
- Region Hierarchy Engine: Automatically filters out duplicate regional dumps based on your preferred order (e.g.
EUR (DE/EN) > USA > JPN). - Revision Hierarchy: Automatically selects the latest official revision (e.g.
v1.2overv1.0orRev Aover standard release). - Fan-Translation & ROM Hack Shield: Protects customized ROMs, fan translations, and prototypes from being mistakenly flagged as duplicates.
- Non-Destructive Quarantine: Duplicates are never permanently deleted; instead, they are moved safely into a designated
_Duplicates/subfolder.
- Automatic Multi-Disk Detection: Detects matching discs and disks across patterns like
(Disc 1),(Disk 2 of 4),(CD1),_Disk1, etc. - Clean Subfolder Isolation: Moves multi-disk images into a clean subfolder (e.g.,
/Final Fantasy VII (Disks)/) to eliminate UI clutter on handheld devices. - Root
.m3uGeneration: Automatically generates ready-to-run.m3uplaylists at the console root, directly compatible with RetroArch, Batocera, OnionOS, GarlicOS, MinUI, and ES-DE. - Sidecar File Preservation: Detects and bundles associated
.cue,.bin,.chd,.sbi,.sub,.ccd, and.gdifiles.
- Bracket & Dump Code Stripping: Removes cluttered GoodTools tags like
[!],[b1],[t1],(U),(E),(J)while preserving clean canonical game titles. - Standardized Filenames: Generates clean No-Intro-compliant filenames (e.g.,
Super Mario World (Europe).sfc). - Batch Renaming Preview: Real-time diff preview shows original paths vs. proposed target names before anything is touched on disk.
- Interactive 3D Viewport: Render photorealistic 3D game covers directly in the browser with full orbital controls (rotate, pan, zoom).
- Physical Materials & Lighting: Customizable spine thickness, plastic sheen, matte finishes, corner bevels, edge highlights, and floor shadow reflections.
- Platform Presets: Tailored aspect ratios and casing models for SNES, Genesis / Mega Drive, Game Boy / GBA, PS1 (Jewel & Double Cases), Amiga Big Box, and more.
- Batch Export & 3D Downscaling: Generate 3D box renders from 2D flat covers with single-click PNG/WebP exports and optional ZIP packaging.
- Unstructured ROM Identification: Decodes obscure, abbreviated, or corrupt dump names that regular regex parsers fail to identify.
- Platform & Genre Classification: Detects target platforms, primary genres, and approximate release years.
- Top 200 Classic Badging: Tags recognized all-time retro classics for curated highlight lists and easy sorting.
- Client-Side File System Access: Scans and renames files directly on your local drive or SD card via the HTML5 File System Access API.
- Zero Uploads: No game binaries or personal disk files are ever transmitted to any external server.
[ ROM Folder / SD Card ]
โ
โผ
Local Client Scanner (Browser)
โโโ Platform & Extension Detection (60+ Consoles)
โโโ Companion File Pairing (.cue, .bin, .chd, .sbi)
โโโ Multi-Disk Pattern Matching
โ
โโโโบ 1G1R Curation Engine (Priority: Language > Revision > Dump Quality)
โ โโโบ Isolates redundant dumps into `_Duplicates/`
โ
โโโโบ Multi-Disk Automation
โ โโโบ Isolates Discs into `/<Game> (Disks)/`
โ โโโบ Creates root `/<Game>.m3u`
โ
โโโโบ No-Intro Clean Renamer
โ โโโบ Strips tags [!], formats canonical titles
โ
โโโโบ 3D Box Art Studio
โ โโโบ Transforms 2D covers into realistic 3D box renders
โ
โโโโบ Gemini 3.8 Flash Metadata Assistant (Optional)
โโโบ Resolves messy hacks, genres & Top 200 tags
The manager includes dedicated detection profiles for over 60 retro systems:
| Category | Systems & Formats |
|---|---|
| Nintendo | NES (.nes, .fds), SNES (.sfc, .smc), N64 (.z64, .n64), Game Boy (.gb), Game Boy Color (.gbc), Game Boy Advance (.gba), Nintendo DS (.nds), Nintendo 3DS (.3ds, .cia), GameCube (.iso, .rvz, .ciso), Wii (.wfs, .iso), Virtual Boy (.vb), Pokemon Mini (.min) |
| Sega | Master System (.sms), SG-1000 (.sg), Mega Drive / Genesis (.md, .gen, .smd), Sega CD / Mega-CD (.chd, .cue, .iso), 32X (.32x), Game Gear (.gg), Saturn (.chd, .cue, .iso), Dreamcast (.gdi, .chd, .cdi), Naomi |
| Sony | PlayStation 1 (.chd, .cue, .bin, .pbp, .iso), PlayStation 2 (.iso, .chd, .gz), PlayStation Portable (.iso, .cso, .pbp), PS Vita (.vpk) |
| Home Computers | Commodore 64 (.d64, .t64, .prg, .crt), Amiga (.adf, .ipf, .dms, .lha, .hdf), Atari ST (.st, .stx, .msa), ZX Spectrum (.tap, .tzx, .z80, .sna), Amstrad CPC (.dsk, .cpr), MSX / MSX2 (.rom, .dsk), MS-DOS (.exe, .com, .iso), Sharp X68000 (.dim, .xdf) |
| Arcade & Others | MAME / FBNeo / FBA (.zip, .7z), Neo Geo (.zip, .neo), Neo Geo CD (.chd, .cue), Neo Geo Pocket / Color (.ngp, .ngc), PC Engine / TurboGrafx-16 (.pce), PC Engine CD (.chd, .cue), Atari 2600/5200/7800/Jaguar/Lynx, Wonderswan / Color, 3DO, ColecoVision, Vectrex, PICO-8 |
The integrated 3D Box Studio allows you to create authentic 3D box shots for emulators, frontends (ES-DE, Pegasus, Daijishล, RetroArch), and personal showcases:
- Interactive Controls: Drag to orbit, right-click to pan, scroll to zoom.
- Spine & Side Profiles: Realistic box depth simulation based on real-world console cartridge and CD jewel cases.
- Lighting & Shaders: Specular highlights, customizable environmental radiance, floor contact shadow, and ambient reflection.
- Presets Included:
- ๐ด Cartridge Boxes: SNES (Horizontal), NES (Vertical), Genesis (Clamshell Plastic Grid), Game Boy / GBA (Square/Mini).
- ๐ฟ Disc Jewel Cases: Standard CD (Single & Multi-Disc Fatbox for PS1/Saturn), DVD keepcases (PS2/GameCube/Xbox).
- ๐พ Classic Big Boxes: Amiga & PC Big Box packaging with matte cardboard textures.
- High-Resolution Rendering: Export crisp transparent PNGs at 1x, 2x, or 4x scale.
- Frontend Framework: React 19 + TypeScript 5.8
- Build Tooling: Vite 6 + ESBuild
- Styling: Tailwind CSS v4 (modern CSS-first configuration, frosted glass aesthetic)
- Animations & Icons: Motion & Lucide React
- 3D Graphics: HTML5 Canvas & WebGL with custom perspective projection and lighting pipeline
- Backend Server: Express with native TypeScript bundling via
tsx - AI Engine: @google/genai SDK with
gemini-3.8-flash - Archive Utility: JSZip for client-side batch packaging
- Node.js (version 18 or higher recommended)
- A modern browser with support for the File System Access API (Chrome, Edge, Opera, or Chromium-based browsers)
-
Clone the repository:
git clone https://github.com/your-username/retro-rom-manager.git cd retro-rom-manager -
Install dependencies:
npm install
-
Configure Environment (Optional for Gemini AI features): Copy the example environment file and add your Google Gemini API key:
cp .env.example .env
Edit
.env:GEMINI_API_KEY=your_gemini_api_key_here
(Note: The core curation, multi-disk bundling, 1G1R deduplication, and 3D Box Studio work 100% offline without an API key!)
-
Start the Development Server:
npm run dev
Open your browser at
http://localhost:3000. -
Build for Production:
npm run build npm start
When processing a multi-disk game or curated collection, the manager organizes files as follows:
๐ /ROMS/PS1/
โโโ ๐ Final Fantasy VII.m3u <-- Autogenerated root playlist (run in emulator)
โโโ ๐ Final Fantasy VII (Disks)/ <-- Disc images isolated in clean subfolder
โ โโโ ๐ฟ Final Fantasy VII (Disc 1).chd
โ โโโ ๐ฟ Final Fantasy VII (Disc 2).chd
โ โโโ ๐ฟ Final Fantasy VII (Disc 3).chd
โโโ ๐ฎ Metal Gear Solid (Europe).chd <-- Cleaned 1G1R canonical file
โโโ ๐ _Duplicates/ <-- Safe quarantine (non-destructive)
โโโ Metal Gear Solid (USA) (Rev 1).chd
โโโ Metal Gear Solid (Japan) [!].chd
- No ROM Uploads: ROM image files (which can be hundreds of megabytes or gigabytes) are processed entirely within your browser using local file pointers.
- Safe Operations: Renaming operations can be dry-run tested with diff previews before execution.
- Non-Destructive: Redundant files are moved to
_Duplicates/instead of being unrecoverably deleted.
Contributions, feature requests, and bug reports are welcome! Feel free to open an issue or submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.