A Playnite plugin that automatically organizes your game screenshots into per-game folders — works with Xbox Game Bar, ShareX, and any other capture tool.
GameSnap watches a single "drop folder" where all your screenshots land, regardless of which tool captured them. When a new file appears, it:
- Checks the dictionary for a known alias → moves to the matching game folder
- Falls back to Playnite's currently running game → moves and learns the alias for next time
- Falls back to the active window title → moves and logs the detection
- If nothing matches → logs and ignores so you can review and rename later
Everything runs natively inside Playnite — no background .ps1 scripts, no .vbs launchers, no manual setup in the Scripts tab.
- Windows 10 or 11
- Playnite 9 or later
- .NET Framework 4.8 (included in Windows 10/11)
- A capture tool that saves to a configurable folder (Xbox Game Bar, ShareX, etc.)
- Download the latest
.pextfile from the Releases page - Double-click the
.pextfile — Playnite will install it automatically - Restart Playnite
- Download and extract the release
.zip - Copy the folder to:
%AppData%\Playnite\Extensions\GameSnap - Restart Playnite
Point your capture tool's output to a single folder, for example C:\Captures\.
Xbox Game Bar: Settings → Gaming → Captures → Change where clips are saved
ShareX: Task Settings → File naming → Override Screenshots Folder per hotkey
Any other tool that lets you set an output folder will work the same way.
In Playnite, go to Add-ons → GameSnap → Settings and fill in:
| Setting | Description |
|---|---|
| Source folder | The drop folder where all screenshots land |
| Destination base | The parent folder that contains your per-game subfolders |
| Use Playnite detection | Recommended — identifies the game while it's running |
| Use active window fallback | Secondary detection when no game is active in Playnite |
| Polling interval | Backup scan in seconds (in addition to the real-time file watcher) |
| Auto-create game folders | Automatically creates a subfolder when a new game is played (disabled by default) |
Inside the destination base, create one subfolder per game:
Captures\
├── Cyberpunk 2077\
├── Elden Ring\
├── Celeste\
└── ...
GameSnap will match screenshots to these folders automatically.
Tip: Enable Auto-create game folders in Settings to have GameSnap create these folders automatically whenever you start a game for the first time. This replaces the need for a separate plugin like ScreenshotsVisualizer just for folder creation.
The dictionary lets you map any filename prefix or alias to a game folder. It lives at:
%AppData%\Playnite\ExtensionsData\<plugin-id>\dictionary.txt
You can open it directly from Add-ons → GameSnap → Settings → Open dictionary.txt.
Format:
[Cyberpunk 2077]
cyberpunk
cp2077
Cyberpunk2077
[Elden Ring]
eldenring
ELDEN RING
GameSnap learns automatically — when Playnite detection identifies a game, the alias is saved to the dictionary so future screenshots are matched instantly without Playnite needing to be running.
| Menu item | Where | What it does |
|---|---|---|
| Organize screenshots now | Main menu → GameSnap | Manually triggers a full scan of the source folder |
| Open log | Main menu → GameSnap | Opens the log file in Notepad |
| Open dictionary | Main menu → GameSnap | Opens dictionary.txt in Notepad |
| Organize screenshots now | Right-click a game | Same as above, scoped to context |
Screenshots are not being moved
→ Check that the source and destination folders are correctly set in Settings.
→ Open the log (Main menu → GameSnap → Open log) to see what happened.
Wrong game folder was chosen
→ Move the file manually and add the correct alias to dictionary.txt.
A game has no folder yet
→ Create the subfolder inside the destination base. The next scan will pick it up.
→ Or enable Auto-create game folders in Settings so GameSnap handles this automatically.
ShareX is saving files with timestamps only, no game name
→ In ShareX, set the name pattern to %t %y-%mo-%d_%h-%mi-%s so the window title is included.
Where is the log?
→ Main menu → GameSnap → Open log, or navigate to:
%AppData%\Playnite\ExtensionsData\<plugin-id>\gamesnap.log
If you were using the PowerShell script version posted on Reddit, remove these from Playnite's Scripts tab:
- Game Started → the
playnite_current_game.txtwriter - Game Finished → the
Remove-Itemcleanup - App Scripts → On start → the
wscript.exe LaunchWatcher.vbsline - App Scripts → On shutdown → the
Stop-Processblock
GameSnap handles all of this natively.
Pull requests are welcome! Ideas for improvement:
- Steam screenshot support — detect and move screenshots from Steam's own folder
- Notification on move — optional Playnite toast when files are organized
- Per-game source folders — support multiple drop folders for different tools
MIT — see LICENSE.txt
If GameSnap saved you some time, a coffee is always appreciated! ☕



