Where Does ZSNES Store Saves and Config?
ZSNES writes saves beside each ROM by default (~/.zsnes on Linux SDL), with paths set in zsnesw.cfg/zsnesl.cfg or the GUI.
Last updated
ZSNES puts save files next to their ROMs unless told otherwise, which keeps libraries self-contained on Windows and DOS. The .srm files hold battery saves in an emulator-agnostic format; the numbered .zs files hold save states. Both borrow the ROM's filename.
The config file centralizes everything else: save directory overrides, ROM start folder, and nearly every GUI option. SDL ports on Linux and Mac use home-directory spots instead of the exe folder. Deleting a corrupt config regenerates defaults and fixes most weird-behavior reports.
Where ZSNES stores this, by platform
[Rom-Folder]\[Game].srm
Battery saves and states beside their ROMs by default. Set SaveDirectory in the config for a central folder. The .srm format transfers to other SNES emulators directly.
~/.zsnes
Same ROM-relative default for saves on SDL builds, with ~/.zsnes holding the config. zsnesl.cfg carries the same options as the Windows file.
~/Library/Application Support/ZSNES
The Mac SDL equivalent of the Linux dot folder. Config and saves follow the same split: central config here, saves beside ROMs unless redirected.
Frequently asked questions
Games will not save. What fixes it?
Set a SaveDirectory in the config file or Config Paths menu pointing at a writable folder. ROMs on read-only media (CDs, locked shares) cannot take saves beside them, which is the classic cause.
How do I move ZSNES saves?
Copy the ROM-named files (.srm for battery, .zs1+ for states) into the new save location. They match ROM filenames, so keep the pairs together when reorganizing the library.
Notice an outdated path? Let us know.