Base64 Encoder and Decoder
Encode UTF-8 text as standard Base64 or decode Base64 back to UTF-8 text, then copy the result. Runs in your browser.
Start using
Base64 Encoder and Decoder
Encode UTF-8 text as standard Base64 or decode Base64 back to UTF-8 text, then copy the result. Runs in your browser.
Base64 Encoder and Decoder
Provides two explicit actions: encode browser text as UTF-8 Base64, or decode Base64 bytes as strict UTF-8 text. It does not offer a character-encoding selector in this text tool; use the separate Base64 file decoder for arbitrary binary payloads.
Verified examples: Hello encodes to SGVsbG8= and decodes back to Hello. The text 你好 encodes to 5L2g5aW9 using UTF-8 and round-trips to the same Unicode characters.
Whitespace is removed from Base64 before decoding, so wrapped input such as SGVs followed by a line break and bG8= decodes as Hello. Malformed Base64 and decoded byte sequences that are not valid UTF-8 produce an error rather than replacement characters.
Encoding accepts at most 8,388,608 UTF-16 code units, and the UTF-8 bytes before Base64 encoding must not exceed 16 MiB. Decoding accepts at most 16,777,216 raw code units and at most 8,388,608 Base64 characters after whitespace removal. These are separate limits; UTF-16 length is not the UTF-8 byte count.
Conversion occurs locally in the browser and the result can be copied. Base64 is reversible representation, not encryption, hashing, compression or authentication; do not paste secrets merely because the output looks unreadable. Padding = characters may appear when the source byte count is not divisible by three.
Hello ↔ SGVsbG8= 🙂 ↔ 8J+Zgg==
For a direct round trip through this text tool, the UTF-8 input must be no more than 6 MiB: that produces at most 8 MiB of Base64. Longer encoded results can be decoded as bytes with the separate file decoder, subject to its limits.
Processing takes place locally in your browser.