Base64 to YAML
Paste Base64-encoded content and instantly recover the original YAML text, fully Unicode-safe and processed entirely in your browser.
Example
Paste Base64 and get the original YAML back:
Input:
bmFtZTogQ2Fmw6kKdmFsdWU6IDQy
Output:
name: Café
value: 42
How it works
It strips whitespace and any data-URL prefix, runs atob to get raw bytes, then UTF-8 decodes them with TextDecoder so multibyte characters survive. Decoding happens live as you type.
Good to know
Base64 to YAML decodes a Base64 string back into the original YAML text right inside your browser. It's built for developers and ops engineers who routinely run into YAML that has been Base64-wrapped, such as the contents of Kubernetes Secrets, values pulled from CI/CD environment variables, or config blobs embedded in JSON payloads and logs. Paste the encoded string on the left and the readable YAML appears on the right as you type.
Reach for this when you need to inspect or edit a config that someone stored or transmitted in encoded form. Typical cases: checking what a kubectl get secret -o yaml field actually contains, recovering a YAML manifest that was minified into a single Base64 line for an API call, or pulling apart a data: URL. The tool tolerates messy input, so it strips line breaks, ignores a leading data:...;base64, prefix, normalizes URL-safe characters (- and _), and re-adds missing = padding before decoding.
Read the result like ordinary YAML, but use the status line as a quick sanity check. It reports the decoded character count and number of lines, so plausible-looking line counts and intact indentation suggest a clean decode, while an error message means the input wasn't valid Base64. Because decoding treats the bytes as UTF-8, accented letters, emoji, and CJK text come back correctly instead of as garbled mojibake.
One caveat worth knowing: this tool only reverses Base64 encoding, it does not validate or parse the YAML itself. A successful decode tells you the bytes were legal Base64, not that the resulting YAML has correct syntax or indentation, so paste the output into a YAML linter if structure matters. Also remember that Base64 is encoding, not encryption. If you're decoding a Secret, the recovered text is plaintext, so treat it accordingly and rely on the fact that nothing here is uploaded.
Frequently asked questions
Does it correctly handle accented or non-Latin characters in the YAML?
Yes. The decoder treats the Base64 bytes as UTF-8 using TextDecoder, so accented letters, emoji, and CJK characters in the original YAML are recovered intact rather than turning into mojibake.
Will it accept Base64 with line breaks or a data: URL prefix?
Yes. All whitespace and newlines are stripped, a leading data:...;base64, prefix is removed, URL-safe characters (- and _) are normalized, and missing padding is added before decoding.
Is my data uploaded anywhere?
No — this tool runs entirely in your browser. Your input never leaves your device and it works offline once loaded.
Is it free?
Yes, completely free with no sign-up and no limits.
People also ask
Is Base64-encoded YAML encrypted or just encoded?
It is only encoded, not encrypted. Base64 is a reversible representation that anyone can decode without a key, so a Base64-wrapped YAML Secret is effectively plaintext to anyone who can read the string.
How do I decode a Kubernetes Secret value into readable YAML?
Take the Base64 string from a Secret's data field and decode it; the bytes are interpreted as UTF-8 text. This tool does that in the browser, so you can paste the value and read the original YAML without piping it through a command line.
Why does my decoded YAML show strange characters or mojibake elsewhere but not here?
Mojibake usually happens when decoded bytes are interpreted with the wrong character encoding. This tool decodes the bytes as UTF-8, which is the encoding most YAML files use, so multibyte characters like accents and emoji are restored correctly.
What is the difference between standard Base64 and URL-safe Base64?
Standard Base64 uses + and / characters, while URL-safe Base64 replaces them with - and _ so the string can travel safely in URLs. This tool normalizes the URL-safe characters back before decoding, so either form works.
Why does Base64 decoding fail with an invalid length error?
Valid Base64 comes in 4-character groups, optionally completed with = padding. A length that leaves a remainder of one character after dividing by four cannot represent any byte sequence, so it is rejected as malformed.
Does the decoded output guarantee the YAML is valid?
No. Decoding only confirms the input was valid Base64 and recovers the underlying text; it does not check YAML syntax or indentation. You would need a separate YAML validator to confirm the structure is correct.
Can I decode a data: URL that contains Base64 YAML?
Yes. A leading data:...;base64, prefix is automatically removed before decoding, so you can paste a full data URL and still recover the YAML body.
Related tools