RPA Extractor

RPA Extractor Software: Free Online Ren'Py RPA Extractor

Open Ren'Py .rpa archives in your browser, preview images, audio, video and scripts, and extract one file or all of them. No install, no account, no upload.

Drop .rpa files here

or

Read locally in your browser. Nothing is uploaded. Several archives (and RPA-1.0 .rpi + .rpa pairs) can be added at once.

In short: drop an .rpa file into the tool above. It reads RPA-1.0 to RPA-4.0 and ALT-1.0 archives on your own device, shows what is inside before you save anything, and exports one file, checked files or everything, as a folder where the browser offers a folder picker (such as Chrome and Edge on a computer) or as a ZIP everywhere else. Here, RPA means the Ren'Py archive format, not robotic process automation.

What an .rpa file is in a Ren'Py game

An .rpa file is an archive used by the Ren'Py visual novel engine to package game assets. It can contain images, music, sound effects, videos, text scripts, and compiled scripts. Opening the archive shows the files packaged inside it; extraction saves copies of those files for you to work with.

If you searched for “rpa extractor software” and found automation vendors, this page covers a different subject. This Ren'Py RPA extractor is for visual novel archives. It does not automate business processes. For the engine's own packaging guidance, read the Ren'Py build and archive documentation.

Use it to recover assets from your own project or inspect files you have permission to use. Extracting an archive does not convert its contents: a compiled script stays compiled, and a media file keeps its original format.

How to extract RPA files online in four steps

  1. Open your archives. Drop an .rpa file into the tool above. You can add several archives, such as archive.rpa, images.rpa, and audio.rpa, to browse them as one combined file list. For RPA-1.0, drop both the .rpi index and its .rpa data file.
  2. Check the archive details. Review the detected version, file count, and total size. For 3.x archives, the details also show the XOR key. An unsupported archive produces a clear error instead of an empty promise of compatibility.
  3. Find and preview files. Search by file name or filter by type. Use the image thumbnail grid, play supported audio or video, or read supported text files before deciding what to save.
  4. Export your selection. Save one file, checked files, or everything. A single file downloads as the original file. For several files, browsers that offer a folder picker (Chrome and Edge on a computer) can write directly into a folder you choose while keeping the folder structure; other browsers, such as Firefox and Safari, download a ZIP built without recompressing the contents.

For terminal instructions alongside this online method, follow our guide to extracting RPA files with the browser, unrpa, and rpatool. A desktop browser is the practical choice when your selection includes many files.

Supported RPA versions and older .rpi index files

The tool handles the common official RPA-2.0 and RPA-3.0 formats, older RPA-1.0 with both its .rpi index and .rpa data file, and several known variants, as listed here.

HeaderWhere you meet itIndex encodingStatus here
RPA-3.0Written by current Ren'Py's own archiverzlib + pickle, offsets XOR'd with a keySupported, tested
RPA-2.0Games built with older Ren'Py versions; current Ren'Py still reads itzlib + pickle, no keySupported, tested
RPA-1.0 (.rpi + .rpa)The earliest Ren'Py games; the index is a separate file; current Ren'Py still reads itzlib + pickle in the .rpiSupported, tested (add both files)
RPA-3.2Custom builds, not Ren'Py's own formatAs 3.0, only the header marker differsSupported, tested
RPA-4.0Custom builds, not Ren'Py's own formatAs 3.0, different headerSupported, tested
ALT-1.0A short-lived variant from earlier mainline Ren'Py; current Ren'Py's loader has no reader for itKey and offset swapped, extra XORSupported, tested
ZiX-12A / ZiX-12BDeliberately obfuscated buildsCustom, needs the game's own loaderNot supported; shows an error

"Tested" means our own sample archive for that header opens and every extracted file matches its source by SHA-256 (checked by our automated test suite, last run 13 November 2026).

Sources, checked 13 November 2026: Ren'Py's loader.py at commit 4b22c3d (3 November 2026) reads only RPA-3.0, RPA-2.0 and RPA-1.0/.rpi, and its archiver.rpy at commit da2fb26 writes RPA-3.0 with an empty prefix on every entry; the latest Ren'Py release at that date was 8.5.3. The descriptions of RPA-3.2 and RPA-4.0 ("a slightly custom variant of RPA-3.0"), ALT-1.0 ("a short-lived alternative version of RPA-3.0 from mainline Ren'Py") and ZiX (which needs the game's own loader file) come from unrpa 2.3.0's version definitions.

Some archives store one file in several parts. Ren'Py's own loader joins all parts in order, and so does this tool. In our test with a three-part sample built by our fixture script, unrpa 2.3.0 extracted only the first part of each such file. Entries can also carry a few prefix bytes inside the index; we read them the way Ren'Py's loader does (prefix first, then the stored length of data), which differs from unrpa and rpatool on such entries.

A filename ending in .rpa alone does not guarantee support. Deliberately obfuscated or encrypted custom builds cannot be opened by this tool. If you see an unknown-version error, use the reported error text when contacting support rather than assuming the archive is empty.

What RPA files you can preview and export

Previewing helps you choose what to extract. Search matches file names, while type filters help narrow a mixed archive to the kind of asset you need. Preview support and extraction are different: a file does not need a preview to be exported.

TypeExtensionsPreviewExport
Images.png .jpg .jpeg .webp .gif .bmp .avifThumbnail grid and image preview fitted to the windowOriginal files
Audio.ogg .opus .mp3 .wav .flac .m4aAudio playerOriginal files
Video.webm .mp4 .ogv .mkv .avi .mpg .mpegVideo player, if your browser supports the codecOriginal files
Text and source scripts.rpy .rpym .txt .json .csv .xml .ini .cfg .yml .yaml .md .py .tl .htmlText preview (first 256 KiB)Original files
Compiled scripts.rpyc .rpymc .pycNo preview, no decompilationCompiled files as stored
Fonts.ttf .otf .woff .woff2No previewOriginal files

For example, filter for audio to listen before saving a track, or search for an image name to avoid exporting a full image collection. If you need an entire project asset folder, export everything to preserve the archive's directory organization.

View RPA files without extracting (RPA viewer)

You can use this page as an RPA viewer: open an archive, look through its contents and play or read individual files without extracting anything. The archive stays on your device; nothing is uploaded.

  1. Open the archive. Drop the .rpa file on the tool above or pick it from your device. The full file list appears with the archive version, file count and size.
  2. Filter by type. The filter buttons show how many images, audio files, videos, scripts and fonts the archive holds. Use the search box to find a file name.
  3. Browse images as thumbnails. With the Images filter on, Grid / list switches to a thumbnail grid. The grid shows the first 300 images in the current view; search to narrow it if an archive has more.
  4. Preview a file. Preview opens images fitted to the preview window, plays audio and video, and shows text files such as .rpy scripts. Long text files show the first 256 KiB (262,144 bytes).
  5. Save only what you need. The preview window and each row have a Save button for that single file. To save several files, tick them and export them together, as described in the extraction guide.

Compiled .rpyc scripts and fonts have no preview, but you can still save them as stored. A video that stays blank may use a codec your browser cannot play, or the file may be damaged; save it and open it in a media player.

RPA viewer test: how fast previews open

We built a test archive with our own generated files (no game assets): 400 PNG images (320 × 180), one Ogg audio file, one WebM video, a 2.2 MB .rpy script and a synthetic .rpyc-named file (compressed text, not a real compiled script) used to check that compiled files get no Preview button. It is an RPA-3.0 archive of 404 files, 2.7 MB in total. We opened it on rpaextractorsoftware.com three times on 13 November 2026 in headless Chrome 157 on a Mac and timed each step with a script: opening is measured from loading the file until the list shows, audio and video until the player has loaded the file's metadata or first frame, and text and images until they are displayed.

StepRun 1Run 2Run 3
Open the archive and list 404 files817 ms806 ms841 ms
First thumbnail in the image grid242 ms228 ms333 ms
Image preview259 ms167 ms393 ms
Audio preview (player ready)499 ms203 ms483 ms
Video preview (player ready)303 ms132 ms377 ms
Text preview of the 2.2 MB script (first 256 KiB)323 ms209 ms520 ms

In every run the filters counted 400 images, 1 audio file, 1 video and 2 scripts, the grid showed 300 thumbnail tiles with a note about the remaining 100, the .rpy script had a Preview button and the .rpyc did not. Timings depend on your device and browser; these describe our test archive only.

Online RPA extractor vs unrpa, rpatool, and desktop extractors

Choose an online RPA extractor for a no-install workflow with previews. Choose a command-line tool for scripting or batch jobs across many games, and rpatool when you need to create archives. The unrpa and rpatool cells come from reading their source code on 13 November 2026 (unrpa 2.3.0 from PyPI; the rpatool script from its archived GitHub repository, last updated August 2022). The desktop tools are described from their authors' pages, checked the same day, and were not tested by us; a dash means the detail is not established here.

ToolInstall neededOSPreviewSelective exportRuns code from archive?Best for
RPA Extractor SoftwareNoWeb browser (we tested Chromium, Firefox and WebKit on macOS)Images, audio, video, textOne file or checked filesNoLocal browsing and extraction without setup
unrpaPython 3.7+; pip install unrpaWhere its Python requirements are metNo; lists names (-l, -t)No; extracts whole archivesReads the index with Python pickle.loadsCommand-line scripting and batch jobs
rpatoolPython and script downloadWhere its Python requirements are metNo; lists names (-l)Named filesReads the index with Python pickle.loadsListing, extracting, and creating archives
rpaExtract by iwanplaysDownload an executableWindows———Desktop drag-and-drop extraction
Easy RPA by terafriDownload a desktop toolWindows and Linux———A desktop graphical interface
Kaskadee rpaextractC# command-line app setup————A C# command-line workflow

Some commenters on the rpaExtract itch.io page report antivirus warnings. Those reports do not establish that the program is malicious. If you prefer not to download an executable, the browser tool offers another workflow; if you already maintain extraction scripts, a command-line utility may fit better.

Performance on large RPA archives and ZIP exports

The numbers below are our own tests on our own sample archives.

Sample archive (ours)Archive sizeFilesOpen (file to list shown)Export all (ZIP ready)
4,000 files of random data (image/audio sized)1.0 GB4,0000.05 s (0.05–0.07)3.1 s (3.0–4.3)
300 files incl. ten 120 MB clips2.2 GB3000.07 s (0.05–0.11)4.9 s (4.3–11.0)
50,000 small files251 MB50,0000.20 s (0.19–0.20)15.6 s (15.4–15.7)

Our own test, 13 November 2026: Apple M4 (16 GB RAM), macOS 15.7, Chromium 148 driven by our script tools/run_bench.mjs; archives generated by tools/make_bench.py from random bytes (no game content). Each figure is the median of three runs, with the slowest and fastest run in brackets; every run starts a fresh browser with an empty cache, but the operating system's file cache was not cleared and the archives had just been generated, so they were probably read from memory rather than from disk. "Open" runs from the file being handed to the page to the file list appearing; "Export" runs from clicking export to the browser receiving the finished store-mode ZIP, not counting the time your browser takes to write the download to disk. For comparison, unrpa 2.3.0 (Python 3.14, same machine, three runs, timed from start until all files were written to disk, so the end point differs from ours and the two are not a like-for-like race) took a median of 5.4 s (2.7–5.7) for the 1.0 GB archive and 4.5 s (4.2–5.6) for the 50,000-file archive. Expect slower results on phones and older computers.

Opening a large archive reads its index first, then slices individual files on demand. The whole archive is never loaded into memory. Parsing runs in a Web Worker, and previews read the selected content locally through the browser's File API.

Opening and exporting have different resource needs. Firefox and Safari build a ZIP in store mode, without recompressing the files, but producing that ZIP can still require substantial memory. For a large export, use Chrome or Edge and write directly into a chosen folder. Our test results describe our samples, not a guaranteed speed or archive-size limit for your device.

Troubleshooting RPA opening, previews, and exports

Unknown archive version or nothing shows up

Check that you selected a Ren'Py archive rather than another file with a similar name. Read any error shown by the tool. Custom obfuscated or encrypted builds are unsupported. If the archive opens but the file list appears empty, clear the file-name search and type filter, then compare the visible contents with the reported file count.

Only .rpyc files appear, or your file is .rpi

Compiled .rpyc files are not text .rpy sources. Extract them as stored; use unrpyc separately for decompilation where permitted. An older .rpi file is an index: drop it together with its matching .rpa data file.

The browser runs out of memory building a ZIP

Try exporting fewer checked files at a time, or move to Chrome or Edge and use folder export. Store-mode ZIP output avoids recompression, but it does not eliminate the memory needed to assemble a download. Folder export also keeps the folder structure.

Exporting many RPA files on a phone or tablet

The page adapts to phone screens, and opening and previewing use the same local reader as on a desktop. For exporting many files, use a desktop browser, where more memory is available. If you need help with an error, send your browser and version, the detected archive version or first error line, and the file count through our contact page. A description is enough; do not send copyrighted game files.

The parser reads only plain data from the archive index and refuses anything that would execute code. This differs from using pickle.load in Python tools, which trusts the archive's serialized instructions. Archive contents stay on your device; website analytics and ads are described in our privacy policy.

Only extract games you own or projects you are allowed to modify. Game art, music, and scripts remain the copyright of their creators. Appropriate uses include personal use within the permissions you have, modding with permission, translation with permission, and recovering your own project's assets. Owning a game does not itself grant permission to redistribute its contents.

RPA extractor frequently asked questions

Is this RPA extractor free?

Yes. RPA Extractor Software is free to use in your browser, with no account or installation. Any ads on the site are kept outside the tool area.

Does this online RPA extractor upload my files?

No. Your archives are read locally in your browser, and nothing from them is uploaded. Website analytics and advertising are separate from archive processing; see our privacy policy for details.

Can it decompile .rpyc files?

No. It extracts compiled .rpyc files as they are. unrpyc is the usual separate tool for decompiling them when you have permission to work with the scripts.

Can I repack files into a new .rpa archive?

No. This browser tool opens and extracts existing archives. Use rpatool if you need to create an archive for a project you are allowed to modify.

Which browsers and devices does it work in?

It runs in the browser, so there is nothing to install. On 13 November 2026 we ran the same open, preview and ZIP export test in Chromium (the engine behind Chrome and Edge), Firefox and WebKit (the engine behind Safari) on a Mac, and checked the layout at a 390-pixel phone width. Folder export appears only when the browser offers a folder picker (on a computer, that means Chrome and Edge today); everywhere else the tool builds a ZIP, and a single file always downloads as the original file. For exporting many files, use a desktop browser.

Why are there .rpyc files but no .rpy files?

The archive may contain compiled scripts without their original text sources. Extraction preserves what is inside the archive; it does not turn compiled .rpyc files into .rpy files.

What is the XOR key shown for an RPA archive?

It is a value used by the RPA-3.x index format to decode file offsets and lengths. The tool displays it with the archive details; it is not an account password.

Is this an online version of unrpa?

No. This is a separate browser tool for Ren'Py archives. If you searched for unrpa online, you can use it for local preview and extraction without installing Python; unrpa remains a separate command-line alternative.