Base64 encoder and decoder

Encode text to Base64 and decode Base64 back locally in your browser. Each direction is its own QIP component: 668 bytes of WebAssembly to encode and 780 bytes to decode.

Text decoded from Base64 is shown as UTF-8; binary payloads display as replacement characters, so use Download decoded bytes for those. Both components handle up to 64 KiB.

Download #

CLI equivalent #

qip run components/bytes/base64-encode.wasm < image.png > image.png.b64
qip run components/text/base64-decode.wasm < image.png.b64 > image.png

The decoder accepts canonical RFC 4648 Base64. The input length must be a multiple of four. Padding is allowed only in the final group, and unused pad bits must be zero. A failed render rejects malformed input instead of producing partial bytes.

The decoder treats every input byte as Base64 data, so strip whitespace first when a file wraps its lines. Add = padding when the source omitted it before running qip run components/text/base64-decode.wasm.