05 // Unicode, Symbol & Encoding WorkbenchBASE64-CODEC
UTF-8 Safe Base64 Encoder & Decoder Workbench
RFC 4648 Base64 maps every 3 octets (24 bits) of binary UTF-8 data into 4 printable 6-bit ASCII characters (`A–Z`, `a–z`, `0–9`, `+`, `/`) with `=` padding.
Encoded Output
eyJ0b29sIjoiRmluYWwgVG9vbGJveCIsInByZWNpc2lvbiI6InRhYnVsYXItbnVtcyIsImNvc3QiOjB9
Decoded Output
—
Was this tool helpful?
Reference Table
- 01Browser `window.btoa()` throws `InvalidCharacterError` on non-Latin1 Unicode unless bytes are first encoded through `TextEncoder`.
- 02Base64 increases payload byte size by ~33.3% (`4 × ceil(n / 3)` bytes).
Frequently Asked Questions
Why does `btoa('✓')` throw an error in browsers?+
`btoa` expects each string code unit to represent a single byte `0x00–0xFF`; our workbench encodes through UTF-8 `Uint8Array` first so all Unicode text round-trips losslessly.
Is Base64 encryption?+
No — Base64 is a public, keyless binary-to-text encoding for transport safety; anyone can decode it instantly.
Why do Base64 strings end with `=` or `==`?+
`=` pads the final quantum to a 4-character multiple when the input byte length is not divisible by 3.