A cross-platform desktop application for managing save files for Hollow Knight and Hollow Knight: Silksong. Convert saves between PC and Switch formats, edit your saves with a powerful visual editor, and sync with Google Drive, all in one beautiful, easy-to-use interface.
Available for Windows, macOS, and Linux (including SteamOS).
Seamlessly convert your save files between PC and Switch formats. Play on your PC, continue on your Switch, or vice versaβStagstation handles all the technical complexity behind the scenes.
Edit your save files directly with a powerful visual editor or raw JSON editor:
- Visual Editor: Edit values with an intuitive interface (checkboxes for booleans, text fields for strings/numbers)
- Raw JSON Editor: Full VS Code-style syntax highlighting, validation, and IntelliSense
- Smart Performance: Large files automatically use collapsible sections for smooth editing
- Automatic Backups: Optionally create backups before editing saves
Keep your saves backed up and synchronized with Google Drive:
- Never lose your progress
- Access your saves from anywhere
- View sync status at a glance (Local Newer, Cloud Newer, In Sync)
- Upload or download saves with one click
Stagstation automatically finds your save files in configured pathsβno more hunting through folders!
Works with both .dat and .zip files, and automatically includes .nx_save_meta.bin files for Switch saves to prevent JKSV errors.
-
Download the latest release for your platform (Windows, macOS, or Linux)
-
Install the application (or extract if portable)
-
Launch Stagstation
-
Open Stagstation and go to the Settings tab
-
Configure your save file paths:
- PC Save Path: Set this to where your PC saves are located
- Windows:
C:\Users\YourName\AppData\LocalLow\Team Cherry\Hollow Knight - macOS:
~/Library/Application Support/unity.Team Cherry.Hollow Knight - Linux:
~/.config/unity3d/Team Cherry/Hollow Knight
- Windows:
- Switch JKSV Path: Set this to where your Switch saves are located (from JKSV)
- Example:
D:\JKSV\Hollow Knightor/media/sdcard/JKSV/Hollow Knight
- Example:
- PC Save Path: Set this to where your PC saves are located
-
Optional: Configure your default page, editor backup settings, and cloud sync preferences
- Go to the Converter tab
- Select your game (Hollow Knight or Silksong)
- Choose conversion direction:
- PC β Switch: Convert a PC save to Switch format
- Switch β PC: Convert a Switch save to PC format
- Stagstation will auto-detect available save files, or click Browse to select manually
- Choose an output location (or use the suggested path)
- Click Convert Save File
That's it! Your converted save is ready to use.
- Go to the Editor tab (default page)
- Select your game (Hollow Knight or Silksong)
- Choose a save file:
- Stagstation will show detected save files with slot numbers and dates
- Or click Browse to select manually
- Choose your editing mode:
- Editor Tab: Visual interface with checkboxes and text fields
- Raw JSON Tab: Direct JSON editing with VS Code-style features
- Make your changes
- Click Save Changes to apply your edits
Tip: Enable automatic backups in Settings to create a backup copy before saving!
- Go to the Cloud Sync tab
- Select your game (Hollow Knight or Silksong)
- Click Connect to Google Drive and follow the authentication flow
- Once connected, you'll see:
- Your local saves
- Your cloud saves
- Sync status indicators
- Upload or download saves directly from the interface
Note: For Google Drive API setup, see the JKSV Google Drive guide. Stagstation uses OAuth2 device flow for authentication, which is handled automatically.
Hollow Knight:
- Windows:
%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight\ - macOS:
~/Library/Application Support/unity.Team Cherry.Hollow Knight/ - Linux:
~/.config/unity3d/Team Cherry/Hollow Knight/ - Files:
user1.dat,user2.dat,user3.dat, etc.
Silksong:
- Windows:
%USERPROFILE%\AppData\LocalLow\Team Cherry\Hollow Knight Silksong\ - macOS:
~/Library/Application Support/unity.Team-Cherry.Silksong/ - Linux:
~/.config/unity3d/Team Cherry/Hollow Knight Silksong/ - Files:
user1.dat,user2.dat, etc.
After backing up your save with JKSV, saves are typically located at:
[SD_Card]:\JKSV\Hollow Knight\or[SD_Card]:\JKSV\Hollow Knight Silksong\- Files:
user1.dat,user2.dat, etc. (plain JSON format) - Also supports
.zipfiles containing save data
Note: When converting PC saves to Switch format, you can enable automatic inclusion of .nx_save_meta.bin files in Settings. This prevents the "Backup contains no meta file!" error in JKSV.
Stagstation offers several customizable settings:
- Default Page: Choose which page to show when the app starts (Editor, Converter, or Cloud Sync)
- Editor Auto-Backup: Automatically create backups before saving edits
- Backup Location: Customize where backups are saved
- Cloud Sync: Configure Google Drive integration and backup preferences
- Meta File Handling: Configure automatic meta file inclusion for Switch saves
- β Ensure the input file is valid (not corrupted)
- β Check that you're selecting the correct game and direction
- β Verify file permissions (read/write access)
- β Make sure you've set the correct paths in Settings
- β
Verify the directories exist and contain
.dator.zipfiles - β Try using the Browse button instead
- β Large files automatically use collapsible sectionsβclick to expand sections you need
- β Use the Raw JSON tab for faster editing of large files
- β The loading screen appears while renderingβthis is normal for large files
- β Ensure you're connected to Google Drive (check the status indicator)
- β Verify you have internet connectivity
- β If authentication fails, try disconnecting and reconnecting
- β Check that you have the necessary permissions for the Google Drive folder
- Node.js (v16 or higher)
- npm (comes with Node.js)
-
Clone the repository:
git clone https://github.com/dizzyfrogs/stagstation.git cd stagstation -
Install dependencies:
npm install
-
Run in development mode:
npm run electron:dev
This starts the Vite dev server and launches Electron automatically.
-
Build the application:
npm run build
-
Run with production build:
npm run electron
Or build and run in one command:
npm start
Stagstation uses electron-builder to create distributable packages for all platforms.
Build for your current platform:
npm run distWindows:
npm run dist:winCreates:
- NSIS installer (
.exe) for x64 and ia32 - Portable version (
.exe) for x64
macOS:
npm run dist:macCreates:
- DMG installer for x64 and arm64 (Apple Silicon)
- ZIP archive for x64 and arm64
Note: Building macOS packages requires macOS. For cross-platform builds, use CI/CD.
Linux:
npm run dist:linuxCreates:
- AppImage (
.AppImage) for x64 - Debian package (
.deb) for x64
npm run dist:allNote: This will attempt to build for all platforms. macOS builds require macOS, but Windows and Linux can be built from any platform.
All built packages are saved to the dist-packages/ directory.
- Frontend: React 18 with Vite
- UI Framework: Mantine UI
- Icons: Tabler Icons
- Code Editor: Monaco Editor (VS Code editor)
- Backend: Electron (Node.js)
- Build Tool: Vite
stagstation/
βββ main.js # Electron main process
βββ preload.js # Preload script (IPC bridge)
βββ converter.js # Save file conversion logic
βββ cloud-sync.js # Google Drive integration
βββ index.html # HTML entry point
βββ vite.config.js # Vite configuration
βββ package.json # Node.js dependencies
βββ assets/ # Images and fonts
βββ src/ # React source code
β βββ main.jsx # React entry point
β βββ App.jsx # Main app component
β βββ index.css # Global styles
β βββ components/ # React components
β β βββ SideNavbar.jsx
β β βββ MainContent.jsx
β β βββ GameSwitcher.jsx
β β βββ DustCanvas.jsx
β β βββ Modal.jsx
β βββ tabs/ # Page components
β β βββ ConverterTab.jsx
β β βββ EditorTab.jsx
β β βββ CloudSyncTab.jsx
β β βββ AboutTab.jsx
β β βββ CreditsTab.jsx
β β βββ SettingsTab.jsx
β βββ hooks/ # Custom React hooks
β βββ useModal.js
βββ LICENSE # MIT License
Encryption:
- Algorithm: AES-128-ECB
- Key:
UKu52ePUBwetZ9wNX88o54dnfKRu0T1l(32 bytes) - Padding: PKCS7
- Encoding: Base64
File Format:
- PC Format: C# binary header (22 bytes) + Length-prefixed string + Base64-encoded encrypted data
- Switch Format: Plain JSON text file (decrypted)
MIT License - See LICENSE file for details
This tool is for personal use only. Always make backups of your save files before converting or editing. The authors are not responsible for any data loss.
Created By:
Save File Conversion:
- Conversion logic based on bloodorca/hollow
UI & Sync Features:
- Influenced by ArixAR/hollow-sync
Special Thanks: This tool was created for the Hollow Knight community. Special thanks to Team Cherry for creating these amazing games!
This project originally started as a tool to streamline transferring my save files between my Switch and PC. I quickly realized that tools for this already exist, but I decided to combine and streamline them anyway as a way to learn about using certain technologies.
This project has been a great learning experience, and now I have a tool that makes managing saves for these amazing games seamless and enjoyable.
Built with passion for the Hollow Knight community. β€οΈ