Tools for converting Palworld .sav files to JSON and back.
This tool currently supports additional parsing of the following data in the Level.sav
not handled by uesave
or other non-Palworld aware Unreal save editors, emcompassing almost all known data structures as of Palworld v0.1.4.0:
GroupSaveDataMap
CharacterSaveParameterMap
MapObjectSaveData
ItemContainerSaveData
CharacterContainerSaveData
DynamicItemSaveData
FoliageGridSaveDataMap
BaseCampSaveData
WorkSaveData
[!IMPORTANT] Converting
Level.sav
files to JSON will result in very large files, and may require significant amounts of RAM to process. Use a modern text editor such as Visual Studio Code or a Jetbrains IDE to open these files.
.sav
file (for Steam on Windows, these are located at %LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID>\<SaveID>
) onto convert.cmd
to convert the file into JSON..sav.json
file back into a .sav
file, drag and drop your .sav.json
file onto convert.cmd
.[!NOTE] In the event that the
convert.cmd
fails to function correctly, try to disable Python's app execution aliases ("Manage app execution aliases"), or failing that, please use the Terminal instructions below
python
, python3
, or py
.python convert.py <path to .sav file>
to convert the .sav
file to a .sav.json
file.python convert.py <path to .json file>
to convert the .sav.json
file to a .sav
file.[!NOTE] On Windows, you can drag and drop the
convert.py
file and the.sav
/.sav.json
file to avoid typing out the path.
Additional command line arguments:
--to-json
: Force SAV to JSON conversion regardless of file extension--from-json
: Force JSON to SAV conversion regardless of file extension--output
: Override the default output path--minify-json
: Minify output JSON to help speed up processing by other tools consuming JSON--force
: Overwrite output files if they exist without prompting--custom-properties
: Comma-separated list of paths from paltypes.py to decode.
This can be used to ignore processing of types that are not of interest.
For example --custom-properties .worldSaveData.GroupSaveDataMap,.worldSaveData.CharacterSaveParameterMap.Value.RawData
will only parse guild data and character data.This library is available on PyPi, and can be installed with
pip install palworld-save-tools
[!NOTE] Due to ongoing rapid development and the potential for breaking changes, the recommendation is to pin to a specific version, and take updates as necessary.
[!NOTE] This does not serve as an endorsement of any of these projects, use at your own risk.