Base64 encoder & decoder
Convert readable text and Base64 without silent character replacement.
UTF-8 text
Standard Base64 with padding. UTF-8 text, up to 488.3 KB. Unpaired surrogates are rejected rather than replaced.
Result
No result yet. Enter text and choose Encode.
Encoding text
Text is encoded as UTF-8 bytes, then written with the standard Base64 alphabet A–Z a–z 0–9 + / and padding. An emoji or accented character can occupy several bytes, so the Base64 length is based on bytes, not visible characters. Unpaired UTF-16 surrogates are rejected rather than being replaced with a question-mark character.
Decoding Base64
Standard Base64 is required. Spaces and line breaks are ignored so wrapped values can be pasted. Other characters, padding in the wrong place, an impossible length and non-zero trailing bits are reported. The decoded bytes must be valid UTF-8 text; binary data and URL-safe Base64 (- and _) are outside this workflow.
Example
Example
Two Trees 🌳 encodes toVHdvIFRyZWVzIPCfjLM=. Decoding that value returns the same text and emoji.
Limits and privacy
Up to 500,000 UTF-8 bytes when encoding, and a decoded result of the same maximum. Text and output are processed in this tab; nothing is uploaded, stored or placed in analytics. The result can be copied or downloaded as a .txt file.