#extraction #archive #renpy

bin+lib unrpa_rs

A multithreaded CLI program and library to extract RenPy archives (RPAs)

3 unstable releases

0.4.1 Feb 20, 2022
0.4.0 Oct 22, 2021
0.3.0 Jul 24, 2020
0.2.1 Jul 6, 2020
0.1.1 Jun 28, 2020

#1743 in Command line utilities

31 downloads per month


522 lines


Pipeline Status Latest Version Documentation License

A multithreaded command line program and library to extract RenPy archives (RPAs), written in Rust. This implements extracting assets, such as scripts, videos, images, etc. that have been bundled in the RPA format.

When given a list of RPA files, unrpa_rs will extract those archives in parallel on a threadpool.


  • Multithreaded extraction of RPAs on a per-file basis
  • Fast IO backed by memory maps
  • Supported RPA versions:
    • RPA_v3.2
    • RPA_v3
    • RPA_v2


Use this tool only on archives on which the authors allow modification or extraction. The unauthorized use is highly discouraged since this poses most likely a license violation.


From source with cargo

A recent Rust toolchain has to be installed. Then just enter cargo install --locked -f unrpa_rs to install the binary.


This tool has been ported to Rust from the rpatool repo, originally written in Python. Thanks to the authors for sharing their work! I am aware that the rpatool offers more functionality since it also allows packaging files in the RPA format. However, I am currently not interested in implementing that.


Licensed under the Apache License.


~185K SLoC