Skip to main content

palworld-save-tools

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:

  1. GroupSaveDataMap
    • Groups such as in-game organizations and guilds
  2. CharacterSaveParameterMap
    • Characters such as players and pals
  3. MapObjectSaveData
  4. ItemContainerSaveData
  5. CharacterContainerSaveData
  6. DynamicItemSaveData
  7. FoliageGridSaveDataMap
  8. BaseCampSaveData
  9. WorkSaveData

Instructions

[!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.

Prerequisites

  1. Python 3.9 or newer.

Windows GUI steps

  1. Download the latest release from [https://github.com/cheahjs/palworld-save-tools/releases/latest].
  2. Unzip the file into a folder.
  3. Drag and drop your .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.
  4. To convert the .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

Terminal

  1. Download the latest release from [https://github.com/cheahjs/palworld-save-tools/releases/latest].
  2. Unzip the file into a folder.
  3. Open a terminal in the folder you just unzipped.
  4. Depending on how Python is installed, the next steps should use either python, python3, or py.
  5. Run python convert.py <path to .sav file> to convert the .sav file to a .sav.json file.
  6. Run 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:

  1. --to-json: Force SAV to JSON conversion regardless of file extension
  2. --from-json: Force JSON to SAV conversion regardless of file extension
  3. --output: Override the default output path
  4. --minify-json: Minify output JSON to help speed up processing by other tools consuming JSON
  5. --force: Overwrite output files if they exist without prompting
  6. --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.

Developers

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.

Roadmap

  • Parse all known blobs of data
  • Optimize CPU and memory usage

Development philosophy

  • No additional dependencies. Scripts should run with a default install of Python. Distributing binary builds of Python is laden with AV false positives.
    • Optional dependencies are allowed, for example switching out the stdlib's JSON library for something more performant.
  • Correctness of the conversion process is more important than performance. SAV > JSON > SAV should yield bit-for-bit identical files (pre-compression).

Projects that make use of palworld-save-tools

[!NOTE] This does not serve as an endorsement of any of these projects, use at your own risk.

Metadata

Release files for palworld-save-tools 0.24.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for palworld-save-tools 0.24.0
File Size Uploaded Provenance Actions
palworld_save_tools-0.24.0.tar.gz 57.0 MB Without provenance Details for palworld_save_tools-0.24.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for palworld-save-tools 0.24.0
File Interpreter ABI Platform Actions
palworld_save_tools-0.24.0-py3-none-any.whl Python 3 none any Details for palworld_save_tools-0.24.0-py3-none-any.whl

Total release size: 57.0 MB

Release files / palworld_save_tools-0.24.0.tar.gz

Download URL palworld_save_tools-0.24.0.tar.gz
Size 57.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b9cc9cdd8aae20eb172476112ab09a7e8219da60fe6e77ee535401f61091d640
BLAKE2b-256 checksum
How to use checksums
18f8515d0897facb72390ddaf675425da3e59b853abec4b3b184aaa25255c8ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / palworld_save_tools-0.24.0-py3-none-any.whl

Download URL palworld_save_tools-0.24.0-py3-none-any.whl
Size 43.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
613b7bec62750e879af5affa95fe712b2a679311858617fd8a45d7576892226b
BLAKE2b-256 checksum
How to use checksums
b59b1d94bb77072675e863875c3f0164de25b00f43b22bb655f83379343cf148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Security for palworld-save-tools 0.24.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page