Encode any text or data to Base64 and decode Base64 strings back to plain text. Full UTF-8 support. Runs entirely in your browser — nothing is sent to a server.
Paste the text you want to encode, or the Base64 string you want to decode, into the input box. The tool auto-detects UTF-8 characters including emoji, accented letters and CJK characters.
Click Encode to convert your plain text to Base64, or Decode to convert a Base64 string back to plain text. The result appears instantly in the output box below.
Click Copy to copy the output to your clipboard. Use Download to save the result as a .txt file. You can also swap input and output to chain encode/decode operations.
Base64 is a binary-to-text encoding scheme that represents binary data using 64 printable ASCII characters (A–Z, a–z, 0–9, +, /). It is used to safely transmit binary data over text-only channels like email (MIME), embed images in HTML/CSS as data URIs, store binary data in JSON or XML, and transmit data in HTTP headers and cookies.
No. Base64 is encoding, not encryption. It transforms data into a different representation but provides no confidentiality — anyone can decode a Base64 string without a key. Never use Base64 to protect sensitive information. Use proper encryption (AES, RSA) for that purpose.
Base64 encodes 3 bytes at a time into 4 characters. If the input length is not a multiple of 3, padding characters (=) are added to make the output length a multiple of 4. One = means one padding byte was added; == means two padding bytes were added.
Standard Base64 uses + and / characters which have special meaning in URLs. URL-safe Base64 replaces + with - and / with _, making it safe to use in query strings and file names. This tool uses standard Base64 by default but can produce URL-safe output with the toggle.
This typically means the Base64 string was encoded from binary data (an image, file, or non-UTF-8 text) rather than a UTF-8 string. Base64 can encode any binary data — when decoded, binary data cannot be displayed as readable text. Try decoding only Base64 strings that you know were originally text.
Base64 increases data size by approximately 33%. Every 3 bytes of input becomes 4 ASCII characters of output. A 1 MB file encoded in Base64 will be approximately 1.37 MB. This overhead is the trade-off for being able to transmit binary data safely over text channels.