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

File Analysis

Save File Diff

Compare two local binary or save files byte by byte and locate changed offsets without uploading either file.

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.

Save File Diff
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.

What this analysis tool does

Compare two local binary or save files byte by byte and locate changed offsets without uploading either file.

Input and analysis contract

Each file is limited to 8 MiB. The engine counts every changed byte position but samples detailed differences and ranges; the page renders only a bounded subset. File lengths, changed-byte count, first difference, positional similarity, and bounded changed-offset details.

Important interpretation limits

A byte difference does not explain what a field means. Generic comparison cannot identify game variables, checksums, corruption, or semantic changes without a format-specific parser.

SaveEditor.com performs this Phase 18 analysis locally in the browser. Generic binary measurements are kept separate from game-specific claims: the tool reports observable bytes and statistics, but does not invent a save-format interpretation.

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

No extension list is recorded.

Platforms

No platform assignment is recorded.

Supported versions / editions

Modern evergreen browsers with JavaScript, TypedArray, DataView, File.arrayBuffer(), and BigInt support. Each selected file is capped at 8 MiB in Phase 18.

Input constraints

Each file is limited to 8 MiB. The engine counts every changed byte position but samples detailed differences and ranges; the page renders only a bounded subset.

Known limitations

A byte difference does not explain what a field means. Generic comparison cannot identify game variables, checksums, corruption, or semantic changes without a format-specific parser.

Output / result

File lengths, changed-byte count, first difference, positional similarity, and bounded changed-offset details.

03 / Instructions

Use an explicit conversion workflow.

General utilities operate only on the value and options you provide. No game format is inferred behind the scenes.

  1. 01Choose the format

    Confirm the expected base, encoding, width, precision, or time unit before conversion.

  2. 02Enter the value

    Use only the syntax documented in the compatibility and input sections.

  3. 03Convert locally

    Run the verified browser engine and review any validation message instead of forcing rejected input.

  4. 04Verify the result

    Check the output format before copying it into another file, tool, or workflow.

Tool-specific steps

Choose File A and File B, then select Compare files. Use the offsets as evidence for further format research rather than as game-field labels.

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

The Phase 18 analysis runtime performs no network requests. Files are read only after explicit user selection, buffered in browser memory, capped at 8 MiB each, and never uploaded by this engine. Detailed rendered output is separately capped to avoid unbounded DOM growth.

05 / Troubleshooting

Rejected input is a validation signal.

The converter fails closed on invalid digits, malformed byte sequences, ambiguous date input, unsupported widths, and values beyond documented bounds.

Wrong syntax

Confirm the selected base, encoding, byte grouping, or numeric form matches the documented input contract.

Out of bounds

Reduce the input size or choose a supported bit width instead of relying on implicit truncation.

Ambiguous interpretation

Specify the intended width, precision, or timezone explicitly when those details change the result.

Known Tool issues

If many offsets change after a small in-game action, the format may include checksums, compression, timestamps, allocation changes, or serialized structures.

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-07
Profilesave-file-diff

Method notes

Verified against the deterministic Phase 18 file-analysis suite in tests/phase18-analysis-core.test.js and docs/qa/phase18-analysis-vectors.json. Coverage includes bounded binary rendering, file diffing, wildcard byte search, numeric encoding/search, ASCII and UTF-16LE string extraction, magic-byte signatures, Shannon entropy, and generic analyzer observations.

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 Save File Diff 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.
Does this utility change my source value?
No source data is modified by the converter. It calculates a result from the value and options you explicitly provide.
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.