Base64 Encoder / Decoder
Encode or decode Base64 text, with correct UTF-8 handling.
Encoding and decoding happen entirely in your browser. Nothing here is ever sent to a server.
Output
ValidVHJ1ZU1lYXN1cmVLaXQgcnVucyBlbnRpcmVseSBpbiB5b3VyIGJyb3dzZXIg8J+Ukg==
For informational and educational purposes only — not professional or technical advice, and not a substitute for consulting a qualified professional about your specific situation. TrueMeasureKit is not liable for decisions made based on these results. See our Terms of Service.
Why UTF-8 handling matters
Base64 encodes raw bytes, not text — the browser's built-in btoa() function assumes one byte per character and silently mangles anything outside basic Latin text, including emoji and most non-English characters. This tool converts your text to UTF-8 bytes first with TextEncoder, so accented letters, CJK text, and emoji all round-trip correctly through encode and decode.
Frequently asked questions
Why does encoded text look longer than the original?
Base64 represents every 3 bytes of input as 4 characters, so encoded output is roughly 33% larger than the original — that overhead is the tradeoff for using only safe, printable ASCII characters.
Why did decoding my Base64 string fail?
Base64 strings need to be a length that's a multiple of 4 (padded with = characters) and use only the standard alphabet — a truncated copy-paste or URL-safe variant (using - and _ instead of + and /) will fail standard decoding.