Save structure reference
Palworld save format: PlZ, PlM, CNK and GVAS explained.
A `.sav` extension does not describe one format. Palworld save files can contain an outer platform container, a compression layer, Unreal GVAS data, and Palworld-specific RawData that changes across game versions.
Local safety workbench
Run the same safety workflow on your local files.
Scan locally, freeze the original, preview the exact scope, run validation, and export a receipt. Unknown binary formats stay read-only.
Recognition in progress
Reading file headers
- Header and compression signatureWAIT
- Required file set and backupsWAIT
- Editable objects and transfer scopeWAIT
- Private receipt and WorldprintWAIT
Recognition receipt
Local save recognized
Pal Save Editor found the required records and mapped the safe next step.
Inspection summary
Pal Save Editor can describe the file set and risks, but it cannot prove a safe decode and rebuild path yet. Download the recognition receipt instead of a guessed save.
Local return loop
Save Chronicle
Receipt metadata lives only in this browser. Raw saves are never stored.
Your next local scan will appear here.
The layers in a save
A common Steam or server file begins with declared sizes and a container marker such as PlZ or PlM. After decompression, the data begins with the Unreal `GVAS` signature. Palworld stores additional custom RawData inside that structure.
PlZ and CNK
PlZ uses zlib compression flags and is the easier container to open with permissive browser libraries. Game Pass can add a CNK-style outer wrapper before the inner Palworld container. Opening those layers still does not solve identity conversion or RawData writing.
PlM and Oodle
PlM uses Oodle compression. Some public implementations are GPL, lack clear licensing, or contain educational-use notices. A commercial static site distributes its WASM to every visitor, so licensing and provenance must be treated as product gates.
Why round-trip is the minimum write test
A parser that can display JSON may still fail to serialize nested map types or preserve unknown regions. Before editing, an unchanged parse and rebuild should reproduce the same decompressed bytes or a documented equivalent that the current game loads.
Task checklist
- 01Identify the outer container marker.
- 02Verify declared and actual sizes.
- 03Confirm the inner GVAS layer is fully consumed.
- 04Parse version-specific RawData with limits.
- 05Prove unchanged and changed round trips before writing.
Questions people ask before touching the save
Is every Level.sav a PlZ file?
No. Newer saves commonly use PlM/Oodle, and Game Pass can include an additional CNK container.
Can I edit GVAS JSON and serialize it back?
Only if the parser understands the Palworld custom data and can prove a stable rebuild. Generic GVAS support alone is not enough.