Back
Checkpoint
by FlagBrew
|
| Version | 3.12.0 |
| Zip size | 4,410 KiB |
| License | GPLv3 |
| Updated | 03/05/2026 |
| Downloads | 312,871 |
| MD5 | 112f1bd89ae34fddb6359907e58e37a4 |
App Details
Why use Checkpoint?
Checkpoint is created following ideas of simplicity and efficiency. The UI has been designed to condense as many options as possible, while keeping it simple to work with.
Moreover, Checkpoint is extremely lightweight - while being packaged with a nice graphic user interface - and is built using the most recent libraries available.
Checkpoint for Switch natively supports NAND saves for the titles you have played. Title information are loaded automatically.
Working path
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).
- sdmc:/switch/Checkpoint: root path
- sdmc:/switch/Checkpoint/config.json: custom configuration file
- sdmc:/switch/Checkpoint/saves/
: root path for all the save backups for a generic game
Usage
Checkpoint for Switch only runs on homebrew launcher. Make sure you're running up-to-date payloads.
The first launch will take considerably longer than usual (usually 1-2 minutes depending on how many titles you have installed), due to the working directories being created - Checkpoint will be significatively faster upon launch from then on.
You can scroll between the title list with the DPAD/LR and target a title with A when the selector is on it. Now, you can use the DPAD or the touchscreen to select a target backup to restore/overwrite.
Screenshots
Changelog
v3.12.0
This release adds support for previously unsupported save types on the Switch. I didn't have any need to support them at the time because I didn't play any of these kind of games. After all these years, I still don't play them, but I felt it was time to properly support them into Checkpoint.
Important notice:- I wasn't able to test backup and/or restore these new save types first-hand. Use the new features carefully and please- report back! That's why this new version is currently in pre-release.
2026-04-26 update: I haven't heard about any regression or issue feedbacks, so I'm changing the status of this version from pre-release to release.
What's new
- Added: support BCAT saves- on the Switch version of the app.
- Added: support device saves- on the Switch version of the app.
- Added: support system saves- on the Switch version of the app.
- The UI of the app has been slightly upgraded to account for these new save types.
- Added: per-file progress bar.
- The UI will now display two progress bars, one for the overall save progress and one for each file in the save archive.
- Fixed: occasional crash when loading NAND saves on the 3DS version of the app.
- Fixed: Checkpoint should not freeze anymore when performing backup or restore operations.
- Fixed: support asian system fonts in the Switch version of the app.
- This solves an issue where special characters were not rendered in the UI.
- Fixed: add not-empty validation for backup names.
- Fixed: file paths could contain multiple / characters one after the other, causing folder deletion issues.
- Fixed: undefined behaviour when trying to close directories that were not opened.
- Fixed: undefined behaviour could occur when reading a file's size.
- Fixed: log directory read errors.
- General system stability improvements to enhance the user's experience.
If you wish to contribute, pull requests are highly appreciated.
v3.11.0
What's new
- Added: backup and restore modal UI has been greatly improved with a proper progress bar.
- Fixed: an issue with title cache persistence preventing new title installations from being recognized from Checkpoint.
- Fixed: occasional crashes when moving the buttons too fast on the 3DS version of the app.
- Fixed: an issue with the app freezing when holding B to refresh the title cache.
- Fixed: crash when no titles available on the Switch version of the app.
- Fixed: occasional crash when quitting the Switch version of the app.
- Fixed: name and icon of the selected account not updating on certain conditions.
- Fixed: various memory leaks here and there when disposing the application on quit.
- Fixed: properly print strings with percent characters in the logfile.
- Fixed: compiled with latest version of the needed dependencies.
- Added: cheat database updated to latest Sharkive: https://github.com/FlagBrew/Sharkive release.
- General system stability improvements to enhance the user's experience.
If you wish to contribute, pull requests are highly appreciated.
v3.10.2
I intended to add more value to this release by trying to enhance few things here and there, but I didn't manage to do it in the short time I had to get this build ready. I hope to bring something new and fresh to Checkpoint soon to keep the spark of this project alive.
Sometimes I wish I could write this software from scratch again to incorporate into it all the cool things and concepts I learned in the last 10 years of being a Software Engineer. But focus switches from one thing to another, interests change and, most importantly, time and energy are very limited in this moment in time.
But there will be another moment again, in which the spark will burn at full power.
What's new
- Fixed: breaking compatibility issue with latest Switch OS version.
- Fixed: compiled with latest version of the needed dependencies.
- Added: cheat database updated to latest Sharkive: https://github.com/FlagBrew/Sharkive release.
- General system stability improvements to enhance the user's experience.
If you wish to contribute, pull requests are highly appreciated.

v3.10.1
What's new
- Fixed: add support for archived, hidden and readonly 3ds save backup folders.
- This bug has been in the codebase from the very beginning. Eventually, we fixed it.
- Fixed: a bug where some text could not be rendered on screen properly.
- Added: cheat database updated to latest Sharkive: https://github.com/FlagBrew/Sharkive release.
- General system stability improvements to enhance the user's experience.
If you wish to contribute, pull requests are highly appreciated.
3.10.0
Fixed: startup time has been drastically improved: ~50% speedup on uncached boot, ~90% speedup on cached boot.
This has been achieved by profiling the application boot process, and realizing that title cache persistence on the SD card took majority of the loading time. Now this operation is lazily done in a separate thread. It's funny to realize that a badly implemented optimization can become a bottleneck of its own, so take my mistake as a lesson.
Here's the improvements I had on my console (improvements may vary since they depend on how many games you have on your console):
Uncached startup went down from 9.8s to 5.7s
Cached startup went down from 5.7s to 0.6s
Added: due to requests from multiple users, Checkpoint can now be updated from Universal Updater.
Fixed: cartridge loading now runs immediately rather than waiting for the title cache to be persisted on the SD card.
Fixed: properly quit the application gracefully when an handled exception occurs.
Fixed: initial code refactoring.
Removed: some redundant logs in the title loader.
General system stability improvements to enhance the user's experience.
3.9.0
This release mostly contains changes and patches related to the infamous 3.8.x startup crash issue affecting the 3DS version of the software. General improvements have been added to the Switch version as well.
Fixed: the startup crash issue affecting all version since 3.8.0 has been identified and patched.
Huge shoutout to achinech on Discord who volunteered to debug the issue on their console.
If you still encounter startup crash issues, please notify the team immediately on Discord and on GitHub issues.
Fixed: cartridge scanning has been refactored to be way more efficient.
Previously, the software used to poll the cartridge synchronously for every frame of the UI thread. Cartridge scanning is now happening on a separate thread which only runs twice per second.
Added: a more advanced threading framework ported from PKSM.
Added: networking support and an integrated HTTP server. This is currently used to provide real-time online access to the application logs, but this code will be useful for future features like self-updating.
Added: compiler optimizations are back. This includes link-time optimization and an upgrade from O2 to O3 compared to v.3.7.4.
Fixed: better configuration file handling ported from PKSM.
Fixed: better thread synchronization between UI thread and title loading thread.
Fixed: wrap the entire program into try-catch blocks to prevent crashes caused by other unhandled exceptions in the future.
Fixed: few graphics improvements.
Fixed: readme has been updated with latest screenshots.
General system stability improvements to enhance the user's experience.
3.8.2
Added: Initial upgrade from C++17 to C++20
Added: Built with latest Sharkive's cheats repository
Fixed: UI has been improved and rendering has been simplified in order to make the screen render faster
Fixed: the color scheme has been improved (to my liking)
Fixed: a crash when playing certain games and then going directly into checkpoint afterwards
Fixed: logs on the Switch version are now split by day. This avoids keeping a huge checkpoint.log file after years of use.
You can safely remove /switch/Checkpoint/checkpoint.log.
You can find the new logs under /switch/Checkpoint/logs folder.
Logs for the 3DS version will be added in the next releases.
Fixed: dependencies have been updated to their latest version
Fixed: displayed play time is now rendered correctly
Fixed: L/R buttons double binding (thanks @Noxor11)
Fixed: source compilation (thanks @mrhappyasthma and @l-austenfeld)
Removed: link time optimizations have been disabled.
These were originally introduced to strip down some weight off the compiled executable, but the difference is too small to consider this feature useful. LTO has caused some trouble in v3.8.0 on the 3DS version.