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 with version-dependent structures.

PAL SAVE EDITOR / DIAGNOSTICWorld overview

Open a save to see its world summary

We will identify the files, version clues, completeness, and tasks available for this exact input.

Compatible PlZ Beta worlds can expose named players and Pals; unsupported formats receive diagnostic evidence.
Open this task Select files inside the App so the local session is preserved.
PlZZlib containerMagic appears after declared-size fields
PlMOodle containerWhat the game has written since 0.6; opened here with a GPL-3.0 decoder
GVASUnreal SaveGameThe decompressed structured layer
01

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.

02

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.

03

PlM and Oodle

PlM uses Oodle compression, and Palworld has written it since 0.6. The only open Kraken decoders are GPL-3.0: usable commercially while their source and copyleft obligations are met, which for a static site that ships the WASM to every visitor means publishing the source of what ships with it. Pal Save Editor does exactly that, so an Oodle save opens here; the edited copy is written back with zlib, which the game also loads.

04

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.

SAFE

Task checklist

  1. 01Identify the outer container marker.
  2. 02Verify declared and actual sizes.
  3. 03Confirm the inner GVAS layer is fully consumed.
  4. 04Parse version-specific RawData with limits.
  5. 05Prove unchanged and changed round trips before writing.
FAQ

Questions people ask before touching the save

Is every Level.sav a PlZ file?

No. Saves from 0.6 onwards use PlM/Oodle, which this editor decompresses locally, and Game Pass can include an additional CNK container, which it does not.

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.