Skip to content

Retropak

A modern container format for retro software preservation

Retropak (.rpk) is an open standard for distributing retro software with everything in one place: ROMs, artwork, soundtracks, manuals, and metadata. A .rpk file is a single, self-contained package that preserves everything about a title.


Why Retropak?

Everything in One File

Box art, manuals, and soundtracks all travel together with the software. No more scattered folders across different directories.

Self-Describing

Rich metadata includes developer info, genre, player counts, peripheral requirements, and credits. No external scraping or database lookups required.

Tamper-Proof

Optional cryptographic signing ensures files have not been modified, deleted, or added since the creator approved them.

Accessible

Built-in alt text support for all images ensures screen reader compatibility.

Frontend-Friendly

Structured JSON with enums makes filtering, sorting, and displaying straightforward. The schema is predictable and consistent.

Simple

Retropak files are standard ZIP archives with a manifest. Any tool can extract them. No proprietary formats or special software required.


Quick Start

Creating a Retropak

# Create directory structure
mkdir mygame.rpk
cd mygame.rpk
mkdir software art audio docs

# Add your files
cp game.bin software/
cp boxart.jpg art/box_front.jpg
cp manual.pdf docs/

# Create manifest
cat > retropak.json << 'EOF'
{
  "schemaVersion": "1-0-0",
  "info": {
    "title": "My Game",
    "platform": "nes"
  },
  "media": [{
    "filename": "software/game.bin",
    "type": "cartridge"
  }]
}
EOF

# Package it
cd ..
zip -r mygame.rpk mygame.rpk/

Using a Retropak

Emulators that support RPK will treat them natively without needing to unzip. For other tools, extract with any ZIP tool:

unzip mygame.rpk

Features

  • 120 supported platforms: From Atari 2600 to Xbox Series X
  • Comprehensive metadata: Genre, players, features, ratings, credits
  • Multi-disc support: Handles CD swapping, boot disks, compilations
  • ROM verification: MD5/SHA1/CRC32 checksums with database validation
  • Cryptographic signing: GPG and SSH signatures for authenticity
  • Accessibility: Alt text for all images
  • Preservation: Version tracking, dump status, source attribution

Platform Support

Retropak supports 120 platforms including:

Cartridge-based: NES, SNES, Genesis, Game Boy, N64, PSX, Saturn, Dreamcast

Disc-based: PlayStation, Saturn, Dreamcast, GameCube, Wii, PS2, Xbox

Computer: DOS, Amiga, C64, Apple II, ZX Spectrum, MSX

Handheld: Game Boy, GBA, DS, PSP, Vita, Switch

See full platform list →


Get Involved

Retropak is an open standard released under CC0 1.0. Anyone can implement it, use it, or extend it.


License

The Retropak specification is released under CC0 1.0 Universal. Use it however you like.