Encode and decode text to/from Base64 format with support for files and binary data.
Base64 is an encoding scheme that represents arbitrary binary data using a set of 64 printable ASCII characters. It is not encryption — it simply reshapes bytes into a form that survives transport through systems that only handle text, such as URLs, email headers, JSON payloads, and data URIs. Encoded output is roughly a third larger than the original because every three bytes become four characters.
This encoder and decoder runs entirely in your browser. Text is first converted to UTF-8 bytes, so accented characters, emoji, and other non-ASCII input round-trip correctly, and nothing you paste is ever uploaded or logged. Switch between Encode and Decode, or use the Swap button to feed the output back in and reverse the operation instantly.
An optional URL-safe mode swaps the "+" and "/" characters for "-" and "_" and drops the trailing "=" padding, producing output that can be dropped straight into a URL or filename without further escaping. Decoding validates the input and reports clearly when a string is not valid Base64 or does not decode to valid UTF-8 text.
No. Base64 is an encoding, not encryption. Anyone can decode it, so it provides no confidentiality — use it for transport and formatting, not for protecting secrets.
URL-safe Base64 replaces the '+' and '/' characters with '-' and '_' and removes '=' padding, so the encoded string can be placed directly in a URL or filename without additional escaping.
Base64 encodes every three bytes as four characters, so the output is about 33% larger than the input. This overhead is the trade-off for representing binary data as plain text.
No. Encoding and decoding happen locally in your browser with JavaScript, so the text you enter never leaves your device.
Yes. Input is converted to UTF-8 bytes before encoding, so non-ASCII characters such as accents and emoji round-trip correctly through both encode and decode.