Manage your DSpico SD card from the browser — covers, library organization, favorites and play stats. No install, no backend, your files never leave your machine.
![]() |
![]() |
![]() |
![]() |
- 📂 Open your SD card directly in the browser (File System Access API) and see your whole library at a glance: games per system, cover coverage, and — if you use Pico Launcher Enhanced — your favorites, completed games and play stats (which you can also edit by hand for corrections).
- 🖼 Cover manager: finds games without box art, matches them against the libretro-thumbnails catalogs (No-Intro naming, region-aware), previews the result and writes launcher-ready BMPs to
/_pico/covers/. - 🎮 Library organizer: drop ROM files onto the page — PicoDex detects the system, places them under
Games/, and fetches their covers. - 📁 Folder banners: give each system folder a proper icon and display name (
banner.bnr), generated in the browser. - 🔗 File association editor: point each ROM extension at its emulator without hand-editing
settings.json. - 🩺 Card health check: finds macOS junk files, missing loader files and orphaned saves or covers — nothing is deleted without confirmation.
Everything runs client-side. PicoDex has no server, no accounts and no telemetry.
- A Chromium-based browser (Chrome, Edge, Brave, Opera). Firefox and Safari do not yet ship the directory-write File System Access API.
- A DSpico SD card (any card with a
/_picofolder).
Use it now: https://rasalopa.github.io/picodex/ — no install needed.
Or run it locally:
git clone https://github.com/rasalopa/picodex.git
cd picodex
npm install
npm run devOpen the printed URL, click Open SD card, and pick your mounted SD.
npm run dev # dev server
npm test # unit tests (vitest)
npm run lint # eslint
npm run format:check # prettier
npm run build # production buildThe interesting logic lives in src/lib/ as pure, dependency-free TypeScript: NDS/GBA header parsing, launcher-format BMP encoding, banner.bnr building, box-art title matching, and the Pico Launcher gamedata.json/settings.json formats. The React app is a thin shell over it.
See CONTRIBUTING.md if you want to help.
- The LNH team for DSpico and Pico Launcher — the open flashcart that makes this fun.
- libretro-thumbnails for the box art collections.




