Payload Workbench
A browser-local workbench for formatting JSON, converting between JSON and YAML, and encoding or decoding Base64. Paste a payload, pick a transform, and get deterministic output — with explicit errors that tell you exactly where a payload is malformed.
Workbench
JSON transforms need valid JSON. YAML transforms accept YAML 1.2 core scalars, lists, and mappings. Base64 decode expects UTF-8 text.
Paste JSON, YAML, or Base64 text. Input size is limited only by this tab's memory.
Output
How it works
Each transform is a small, deterministic function:
- Format / minify JSON — the payload is parsed with a strict, position-aware JSON parser, then re-serialized with consistent indentation (or none). The parser reports the line and column of the first error instead of a generic message.
- JSON to YAML — parsed JSON is emitted as YAML with 2-space indentation. Repeated objects are expanded rather than turned into anchors, so output is stable and easy to diff.
- YAML to JSON — YAML is parsed locally and re-serialized as pretty-printed JSON, which is the safest format to paste back into configuration tools.
- Base64 — text is encoded as UTF-8 Base64, or decoded back. Decoding validates the alphabet and rejects input that is not valid UTF-8 text, with an explicit message (useful when the payload is actually binary data).
Identical input always produces identical output — there is no randomness, no timestamps, and no network in the pipeline.
Supported inputs and limits
- JSON: objects, arrays, strings, numbers, booleans, and null, including Unicode escapes.
- YAML: mappings, sequences, nested structures, and scalars (strings, numbers, booleans, null).
- Base64: standard alphabet with or without padding; whitespace is ignored.
- Size: bounded by this browser tab's memory. Very large payloads may be slow to re-serialize.
- Failure cases: malformed JSON and YAML produce explicit errors with position details; invalid Base64 characters and non-UTF-8 decoded bytes are rejected with clear messages.
This prototype intentionally does not validate JSON Schema, decode JWTs, or transform CSV. Those are candidates for future versions.
Frequently asked questions
Does my payload leave my computer?
No. The page is a static bundle of JavaScript; the transform functions run in your browser tab and the page contains no code that sends your input anywhere.
Why does YAML output sometimes quote my strings?
YAML quotes values when they would otherwise be misinterpreted (for example strings that look like numbers, booleans, or contain special characters). The quoting is deterministic and safe to paste back into YAML files.
Can I convert YAML with comments?
Comments are stripped, because JSON cannot represent them. Use the JSON-to-YAML direction if you want a YAML document that keeps structure intact.
Why does Base64 decoding reject my input?
Either the text contains characters outside the base64 alphabet, or the decoded bytes are not valid UTF-8. If you are decoding binary data, it cannot be shown as text — the error message tells you which case you hit.
Part of Local Toolworks. Last reviewed: 2026-08-09. Privacy & limitations · Guide & examples