Editing a save file
Getting your save file
Before you can edit anything, you'll need a copy of your save file. How to get one depends on your platform:
PC (Steam/GOG)
Steam
First, check whether Steam Cloud sync is enabled for Dead Cells:
- In your Steam Library, right-click Dead Cells → Properties → General tab.
- Check the Steam Cloud setting (this is also sometimes shown under the game's in-game Gameplay settings).
If Steam Cloud is disabled: Right-click Dead Cells → Manage → Browse local files. Your save files are in the local save folder shown there.
If Steam Cloud is enabled: The local save folder shown by Browse local files is only a local backup and may be stale. Instead, use the Steam Cloud sync directory:
- From the game's local files folder, go up three directories to reach your Steam installation root.
- Navigate to
userdata/<your Steam ID3>/588650/remote/.
GOG
The GOG release stores saves under your installation directory in GOG Galaxy/Games/Dead Cells/save/. GOG Galaxy's own cloud sync (if enabled) is not currently confirmed to use a different path - check both the install directory and your GOG Galaxy cloud sync settings if your save doesn't appear up to date.
Mobile (iOS)
These instructions rely on third-party software (iMazing) that isn't affiliated with this project. We can't test or endorse it - use your own judgment before installing anything on your device.
Credit to Demianeen for working out this process; see the original Reddit comment. Fair warning: These instructions may be outdated, as the comment is a year or so old and things have supposedly moved around in the app.
- Download iMazing. The free version is sufficient for this process.
- Open iMazing and connect your iPhone with a cable. Unlock your device and tap Trust if prompted.
- In iMazing's sidebar, click Apps (near the top), then click Manage Apps at the bottom right.
- Use the search bar to find Dead Cells. Right-click it (or click the gear icon) and choose Back Up App Data.... When prompted, select Only App Data. This may take a few minutes.
- iMazing produces a file named
Dead Cells.imazingapp. This is actually a ZIP archive. - Rename
Dead Cells.imazingapptoDead Cells.zip, then extract it with your OS's built-in unzip tool or any archive utility. - Inside the extracted archive, navigate to
Container/Documents/save/. This is your save data.
Mobile (Android)
This is under the device's root /data/data/ directory - not the Android/data/ external storage path. Accessing this location requires a rooted device, since it's part of the app's private storage and isn't exposed to normal file managers or USB file transfer.
If your device is rooted, you can access this path with a root-capable file manager (e.g. via a root shell, ADB with root access, or a file manager app granted root permissions).
The Netflix Games release of Dead Cells uses a different package name and storage layout, which has not been documented yet. If you've located the save path for the Netflix version, contributions to this doc are welcome.
Console (Switch)
Emulator users
If you're running Dead Cells in Ryujinx, this is trivial: right-click the game in your game list and select Open Save Data Location (or View user save folder, depending on your Ryujinx version). The save files will be loose on disk and ready to use however you need.
Real hardware
Nintendo does not provide any official, user-facing way to export save data as files.
This means that getting a raw save file off a real Switch requires custom firmware (CFW). There is currently no homebrew-free method that produces a parseable file.
If your Switch is already set up with a CFW like Atmosphere, the rest of this process is quick. If it isn't, setting up CFW is outside the scope of this doc - there are many existing guides for this depending on your console's hardware revision and firmware version, and the process changes often enough that reproducing it here would go stale quickly.
- Install a save manager homebrew app. JKSV is the standard tool for this and is actively maintained. Checkpoint is a similar alternative if JKSV doesn't work for you.
- Launch JKSV from the Homebrew Menu.
- Find Dead Cells in the title list (it's sorted by icon/name, so just scroll to it).
- Export the save. Select the title, then choose to back up / export the save data. JKSV will write the save folder contents to your SD card, typically under
/JKSV/<game title>/<backup name>/. - Copy the exported folder off the SD card to your PC.
Console (PS4/PS5)
Emulator users
If you're running Dead Cells in shadPS4, your save file is stored under the emulator's data directory at home/<user-id>/savedata/<title-id>/SAVEDATA00/ (on Linux this is typically ~/.local/share/shadPS4/home/1000/savedata/CUSA10484/SAVEDATA00/; on Windows, look under %appdata%/shadPS4/). Inside, user_0.dat is the actual save data, alongside options.json and the sce_sys/sce_backup directories that real PS4 hardware also produces.
CUSA10484 is the title ID observed for one regional release of Dead Cells - other regions may use a different CUSA***** ID. If your save isn't under that folder, check for other CUSA* directories under savedata/.
Real hardware
On real PS4/PS5 hardware, save data lives in the same layout as above: /user/home/<user-id>/savedata/<title-id>/<savedata-dir>/, with the encrypted save container under that folder's sce_sys/ directory.
Official method (no jailbreak required): In the system Settings, go to Application Saved Data Management → Saved Data in System Storage → select Dead Cells → Copy to USB Storage Device. This writes the save to PS4/SAVEDATA/<user-id>/<title-id>/ on the USB drive, but the files are encrypted and signed to your account/console - they can't be read or edited directly without further decryption.
Jailbroken console (CFW like GoldHEN): Enable the FTP server (Settings → GoldHEN → Enable FTP server) and connect to browse /user/home/<user-id>/savedata/<title-id>/ directly - this mirrors the same folder layout as the shadPS4 save above. Homebrew tools like Apollo Save Tool can also export already-decrypted save files directly on-console.
PS5 jailbreaks are much more limited and firmware-dependent; if you've confirmed an equivalent process there, contributions to this doc are welcome.
Opening the save tool
The easiest way to edit a save file is with savetool's web app, part of the alivecells project. It runs entirely in your browser (via Pyodide) - nothing is uploaded anywhere, so it's safe to use with your real saves.
Open the page, wait for it to say ready! in the status bar at the bottom, then click Open save file and pick your user_0.dat (or equivalent). If the file loads successfully, the status bar will tell you whether its checksum is ok or INVALID - a fresh, unmodified save should always say ok. Don't worry about the checksum yourself; savetool recalculates it automatically whenever you download an edited save.
If you'd rather work from the command line, the same editing features are available via savetool.py edit <save_file>, run from the savetool directory of alivecells. Everything below applies to both.
Layout
Once a save is loaded, a row of tabs appears across the top of the page - one Header tab, plus one tab per chunk found in the save. Each chunk tab is labelled with the chunk's name (eg S_User) and a badge showing its type. A red badge means the chunk failed to parse entirely, and a yellow one means it parsed with warnings - you can still view and edit chunks with warnings, but proceed carefully.
Header
The Header tab shows the save's format version, the game's git commit hash and build date, and its checksum status. It also lists the save's feature flags as checkboxes - these record things like whether the save was made with experimental features or mods enabled. Edit any of these fields and click make it so! to stage the change.
Date and version chunks
If present, S_Date and S_VersionNumber get their own simple tabs - a date/time field (in YYYY-MM-DD HH:MM:SS local time) and a game version number, respectively. Edit the value and click make it so!.
DLC chunk
The S_DLCMask tab lists each DLC as a checkbox. Tick or untick the ones you want to own (or not), then click make it so!.
hxbit chunks (S_User, S_Game, S_UserAndGameData)
These chunks hold most of your actual progress and are hxbit-serialised, so their tab shows a tree view on the left and a detail pane on the right.
- Click the ▶ next to a node to expand it and browse its fields. Large lists are paginated - click "more nodes!" to load further entries.
- Click a node to select it and view its details in the right-hand pane.
- If the selected node is a simple scalar value (a string, number, boolean, or
None), the detail pane shows an editable field. Change the Value and, if needed, the Type dropdown (ints can be entered as decimal or hex, eg0x2a; booleans accepttrue/false,yes/no,on/off, or1/0), then click make it so!. - Nodes that aren't simple scalars (objects, lists, dicts) show a read-only summary instead. For these you can click Show schemas to see the underlying hxbit class and schema definitions, which can help when you're trying to figure out what a field actually represents.
S_Game and S_UserAndGameData contain in-progress run data tied to the current session - editing these incorrectly is more likely to produce a save that crashes the game than editing S_User. If you just want to change unlocks, gold, cells, or other meta-progression, stick to S_User.
Other chunks
Any chunk type savetool doesn't have a dedicated editor for (or one that failed to parse) is shown as a read-only hex dump, so you can at least inspect its raw contents.
Saving your changes
Once you're happy with your edits, click Download edited save at the top of the page. This repacks every chunk (recalculating the checksum for you) and downloads the result as edited_<original filename>. Replace your original save file with this one - see Obtaining save files on different platforms for where it needs to go for your platform.
Keep a backup of your original save file before overwriting it, in case an edit produces a save the game refuses to load.