Skip to content
Game save workbench
Local-first tools No installation Support status shown
DEVICE-LOCAL Favorites and recent pages stay in this browser.

Emulator & Retro Tools

Game Save Format Detector

Inspect a local file for conservative emulator/save-format signatures and size conventions, separating high-confidence containers from extension-only candidates.

01 / Tool workbench

Use the runtime only when it is actually ready.

The application shell fails closed. An input interface is not enabled merely because a WordPress Tool record exists; the declared engine must be registered in the current build.

Game Save Format Detector
BROWSER LOCAL

Checking whether the declared runtime module is loaded. No input has been processed.

Session change summary

No output has been built in this session.

The detector is designed to answer a narrow question: which known container or save convention does the selected file resemble, and how strong is that evidence? It distinguishes validated structures from filename/size hints and reports writable support only for formats with an implemented verified conversion path. This prevents a generic binary file from being mislabeled merely because it has a familiar extension.

02 / Compatibility

Know the supported input before opening a file.

Compatibility fields are intentionally explicit. Missing values stay unclaimed rather than being filled with generic assumptions.

Accepted extensions

.mcd.mcr.mc.gme.vgs.mem.psx.mcs.ps2.psu.raw.dsv.sav.srm.sfo.eep.fla.sra.gci.gcs.rpgsave.rmmzsave

Platforms

No platform assignment is recorded.

Supported versions / editions

Verified detection for supported PS1 card containers and MCS saves, standard PS2 8 MiB card filesystems, EMS PSU saves, DeSmuME DSV footer structures, and PARAM.SFO metadata; strict detection for GameCube GCI/GCS/Datel SAV and the exact Mupen64Plus-Next RetroArch composite; conservative candidate detection for GBA/SNES/N64 raw saves and structurally validated Wii data.bin backup headers.

Input constraints

Selected files are capped at 16 MiB. High-confidence readable/writable detection is limited to formats whose container structure the current emulator-v1 runtime actually validates. Extension/size-only matches remain explicit candidates.

Known limitations

Detection does not prove game ownership, semantic correctness, encryption status, or compatibility with every emulator. GBA/SNES raw files remain size/extension candidates, N64 raw candidates still require explicit type/order choices, and Wii data.bin is never promoted to readable/writable because its encrypted header/payload and signatures remain outside the implemented boundary. A .ps2 extension alone is still only a low-confidence candidate when filesystem validation fails.

Output / result

A local detection report with confidence, readable/writable support state, and the evidence used for each candidate. No file is modified.

03 / Instructions

Use a reversible workflow.

File-oriented workflows start with an untouched original. Tool-specific instructions add only details documented for this utility.

  1. 01Keep the original

    Preserve an untouched copy before creating or transforming binary output.

  2. 02Confirm scope

    Match the file size, format, platform, and version to the support information on this page.

  3. 03Process locally

    Use the runtime only when the page reports that its declared engine is loaded.

  4. 04Validate output

    Compare or test the result before replacing any working source file.

Tool-specific steps

Choose the suspected save file and review all reported candidates. Use a dedicated converter only when the detector reports a format that the corresponding parser structurally validates.

04 / Privacy and processing

The processing mode is part of the product contract.

SaveEditor.com should state local processing only when the implementation truly keeps file contents in the browser. Server or hybrid processing must be disclosed just as clearly.

Declared mode

Browser local

Runtime state

Operational

Tool-specific privacy notes

Phase 36 reads a selected file only after explicit local file selection. Parsing, inspection, normalization, extraction, and supported conversions run in the browser. The emulator-retro runtime contains no fetch, XMLHttpRequest, WebSocket, or sendBeacon calls. The shared file ceiling is 16 MiB, with stricter format-specific limits where appropriate.

05 / Troubleshooting

When a file is rejected, do not force it.

A rejection can indicate an unsupported size, format, version, platform, or byte sequence. Preserve the original and correct the input instead of bypassing validation.

Wrong file or size

Re-check the documented input type and browser size limit before retrying.

Unsupported format

A generic converter does not imply support for every game-specific container, signing scheme, or serialization format.

Source was modified

Return to the untouched source instead of repeatedly processing a damaged or partially transformed file.

Known Tool issues

Generic .sav and .srm extensions are shared across many systems, so size alone is deliberately low confidence. Unknown files remain unknown rather than being forced into the nearest known format.

06 / Verification

Support claims should be traceable.

The verification date, method notes, and public references are kept separate from marketing language so compatibility can be reviewed over time.

Last verified2026-08-08
Profilegame-save-format-detector

Method notes

Verified with positive/negative fixtures for PS1 cards/wrappers/MCS, PS2 standard cards/EMS PSU, DeSmuME DSV, PARAM.SFO, ambiguous GBA/SNES raw saves, exact N64 geometry candidates, structurally valid/invalid Wii backup headers, GameCube single-save wrappers, the exact Mupen64Plus-Next composite, and unsupported extensions. Candidate-only detections never enable a write path.

Public references

  1. https://psx-spx.consoledev.net/controllersandmemorycards/
  2. https://raw.githubusercontent.com/stenzek/duckstation/master/src/core/memory_card_image.cpp
  3. https://github.com/PCSX2/pcsx2/blob/master/pcsx2/Reference/PS2-MemoryCardFileSystem.htm
  4. https://github.com/ps2dev/mymc/blob/master/ps2mc.py
  5. https://github.com/ps2dev/mymc/blob/master/ps2save.py
  6. https://www.psdevwiki.com/psp/Param.sfo
  7. https://github.com/j-tai/dsv2sav/blob/master/dsv2sav.py
  8. https://github.com/mgba-emu/mgba/blob/master/include/mgba/internal/gba/memory.h
  9. https://github.com/mgba-emu/mgba/blob/master/src/gba/savedata.c
  10. https://github.com/snes9xgit/snes9x/blob/master/memmap.cpp
  11. https://github.com/mupen64plus/mupen64plus-core/blob/master/src/device/cart/flashram.h
  12. https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/HW/WiiSaveStructs.h
  13. https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/HW/WiiSave.cpp
  14. https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/HW/GCMemcard/GCMemcardUtils.cpp
  15. https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/DolphinQt/GCMemcardManager.cpp
  16. https://github.com/libretro/mupen64plus-libretro-nx/blob/master/custom/mupen64plus-core/src/api/libretro_memory.h
  17. https://github.com/libretro/mupen64plus-libretro-nx/blob/master/custom/mupen64plus-core/src/device/controllers/paks/mempak.h
  18. https://github.com/libretro/mupen64plus-libretro-nx/blob/master/custom/mupen64plus-core/src/device/cart/sram.h
  19. https://github.com/libretro/mupen64plus-libretro-nx/blob/master/custom/mupen64plus-core/src/device/cart/flashram.h

07 / FAQ

Questions to answer before editing.

These answers are generated from the Tool record and current runtime state rather than generic compatibility promises.

Is Game Save Format Detector ready to use?
The Tool record is verified and declares an operational runtime. The page enables its input controls only when the declared engine module is loaded in the current build.
Does processing stay in the browser?
Yes for this declared mode. The loaded runtime processes the explicit input in the browser; Tool-specific privacy notes describe the exact scope and limits.
Should I keep the original file?
Yes. Keep an untouched source file until any generated output has been validated.
What if my input is rejected?
Use the validation message to correct the base, encoding, width, timezone, byte alignment, or size. The runtime does not guess through invalid input.

Related tools

Continue with the same tool family.

Only index-ready verified records from the same Tool Family are shown here.