FINAL TOOLBOX
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.