Local JSON tool · v1.0.0
What changed in the configuration?
Compare two saved JSON files. See which fields appeared, disappeared or changed before you investigate the reason.
Your files stay in this browser. The comparison does not contact a miner, upload files or apply settings.
1. Choose files · 2. Compare · 3. Save a redacted report
JSON in UTF-8, up to 1 MiB per file.
JSON in UTF-8, up to 1 MiB per file.
Choose two files or load the educational example.
On screen, strings and values under pool, network and credential fields are hidden. Numeric and boolean values on known field paths can be shown. Unknown values are hidden. A hidden value can still be reported as changed. Field names are shown as local text; unknown names are replaced in downloads.
Share the structure of the changes
Downloads omit every original value, filename and input hash. Unknown field names become field_1, field_2 and so on. Field presence, types and array positions remain. Review the report before sharing.
How to read the result
- Absent, null and 0 are different. An omitted setting is not treated as zero or an explicit null.
- Types matter. The number
0and the string"0"produce a type change. - Arrays use positions starting at 0. A pool at index 0 is compared with index 0. Reordering creates differences; items are not matched by worker name or address.
- Object order and whitespace do not matter. Numbers such as
1and1.0compare equally. Negative zero and zero compare equally. - An added or removed object is one difference. Its nested values are not expanded. Other objects are compared field by field.
- A difference does not establish an effect. This tool does not validate configuration against a firmware schema, recommend settings or determine hardware compatibility.
Accepted files and limits
- Each top-level value must be a JSON object. JSON with comments, trailing commas, repeated keys or unsupported prototype keys is rejected.
- Limits per file: 1 MiB, 32 nesting levels, 20,000 values, 4096 keys per object, 10,000 items per array and 65,536 characters per string.
- Integers must be within JavaScript's safe integer range. Decimal or exponent notation supports at most 15 significant digits. Non-finite and underflowed numbers are rejected. This avoids common silent rounding cases; the tool is not an arbitrary-precision comparator.
- A comparison with over 1000 differences stops without a partial report. Processing has a four-second limit.
- No telemetry, local storage, cookies or input-derived URLs are used by this tool. Clear removes the current files and result from page memory. Saved downloads remain on your device.
Try a fictional pair
The example changes a numeric cooling field, a pool entry, network values and an optional field. It is deliberately incomplete and is not a configuration to import into a miner.
Source and scope
Field labels were checked against ViewConfig, InputConfig and MinerConfigRaw in the API documentation bundled with the S19j XP / CV / NAND / 1.3.5 package. These names do not establish support on another build or device. Unknown JSON fields are compared without interpreting their purpose. The third-party schema is not republished here.
Reference: 1.3.5, S19j XP / CV / NAND package. Labels do not replace documentation for your own build.