Overview
Paste a Base64 string or data URI to decode it as UTF-8 text and parse that text as YAML, with the parsed structure shown as JSON for a stable, unambiguous view of exactly what was parsed. Errors are surfaced in three distinct stages: invalid Base64, valid Base64 whose bytes aren't valid UTF-8 text, or valid UTF-8 text that isn't valid YAML. Parsing uses js-yaml's safe load() - the same parser as the YAML Validator - which only ever builds a plain in-memory value and never executes anything or instantiates arbitrary classes from custom YAML tags. Runs entirely client-side; nothing you paste is ever uploaded.
Best for: Decoding a Base64-encoded YAML payload (e.g. a config secret) into a validated, readable structure
How to use this tool
- Paste Base64 or a data URI. A data URI prefix is stripped automatically if present.
- Decoded to UTF-8 text. The Base64 string is decoded to bytes, then those bytes are decoded as UTF-8.
- Parsed as YAML. The decoded text is parsed with js-yaml's safe load() function.
- Shown as JSON. The parsed value is rendered as indented JSON for an unambiguous view of its structure.
Why use this tool
Three-stage error model
Invalid Base64, invalid UTF-8, and invalid YAML are each reported with their own specific message.
Safe parsing only
js-yaml's modern load() never executes code or instantiates arbitrary classes from YAML tags.
Data URI support
Paste a full data URI and the base64 payload is extracted automatically.
Nothing leaves your browser
Decoding and parsing happen entirely client-side.
Frequently asked questions
The Base64 Decoder just returns decoded text. This tool additionally parses that text as YAML, with a specific error if the decoded text isn't valid YAML.
JSON gives an unambiguous, one-way-to-write-it view of exactly what was parsed - useful for confirming the actual structure without YAML's own formatting choices (anchors, flow vs. block style, quoting) affecting how it reads.