Ren'Py Save Inspector — Read-Only State Viewer

Inspect a Ren'Py save online: read available metadata, view its screenshot and browse supported serialized state without running the game. Read-only JSON export.

Drop your Ren'Py .save file here

⚠ Drag-and-drop upload could not load — an ad blocker is most likely blocking it. Please disable your ad blocker and reload the page to upload a file.

Inspect Values Without Running the Game

Processing runs on our servers. Upload one file, then open inspection.game-data.json in the result browser. The Tree view shows the inspection status, metadata, roots and objects. Select a reference to open the same shared object, including cycles, without repeatedly expanding it.

Class tags describe the type recorded by the game. They are names to inspect; no game classes, constructors or loading hooks are run. Bytes are retained as Base64, large integers as decimal strings and map entries as key/value pairs. Raw JSON, the inspection export and the original file remain available to download.

Ren'Py Save and Persistent State

Standard saves are ZIP containers with an engine version marker and a serialized log. Available save metadata, a supported PNG screenshot and unverified signature information accompany the decoded state. The .save extension alone does not identify Ren'Py; Twine and other save formats are not supported here.

A file named persistent uses a compressed pickle stream. Its Ren'Py Persistent class record must be established before it is identified as persistent state. Compatibility covers the standard layouts examined in Ren'Py 7.4 and 8.3, with data-only pickle protocol 0–5 readers. External persistent IDs, extension registries and out-of-band buffers produce explicit unsupported or partial results.

Choose the Ren'Py save inspector for a save slot or the persistent viewer for progress shared across playthroughs. Compiled scripts belong in the RPYC decompiler, game archives in the RPA extractor, and ordinary Python bytecode in the Python decompiler.

Read-Only Results and Limits

This is an inspector, not a save editor. The exported JSON cannot be loaded as an edited save, and signatures are not verified or rewritten. A fully decoded result describes the serialized records, including inert construction instructions; it does not reconstruct a running game.

Results distinguish fully decoded, partly decoded, metadata-only, unsupported and malformed inputs. A partial result is not a complete state tree. Inspection is bounded to 16 MiB of serialized state, 32 MiB save containers, 20,000 objects, 80,000 references, 128 nesting levels and five seconds per parser. Larger exports may require downloading the JSON instead of displaying its tree.

For files inside an extracted game, select a supported data file to start its own inspection. Listing a directory does not deserialize all its saves or databases. Custom formats, encryption and damaged files may prevent inspection; the result notes explain where processing stopped.