Encode text to Base64 or decode it back, entirely in your browser with full UTF-8 (emoji included) support. Nothing is transmitted.
How to use the base64 encode / decode
Paste your text or Base64 string into the box.
Press Encode or Decode.
Copy the result.
Encoding, not encryption
Base64 represents bytes using 64 safe ASCII characters so binary data can travel through text-only channels like email, JSON, or data URIs. It is not security — anyone can decode it instantly with no key, so never use it to protect secrets. The output is about a third larger than the input, and trailing = signs are padding. The URL-safe variant swaps +/ for -_ and drops padding. Everything runs in your browser with full UTF-8 support, so emoji round-trip correctly and nothing is sent anywhere. To protect data for real, generate a key with the AES key generator.
Base64 is an encoding that represents binary or text data using 64 safe ASCII characters (A-Z, a-z, 0-9, plus, slash). It lets arbitrary bytes travel through systems that only handle text cleanly, like email or JSON, without corruption.
Embedding images and fonts directly in HTML or CSS as data URIs, attaching files in email (MIME), carrying binary in JSON or XML, and storing tokens or keys as text. Anywhere raw bytes need to survive a text-only channel.
No, and this is the critical point. Base64 is encoding, not security. Anyone can decode it instantly with no key, so it hides nothing. Never use it to protect passwords or secrets; encrypt those with a real algorithm and key instead.
Encoding turns your original text or bytes into Base64 characters; decoding reverses Base64 back to the original. This tool does both, so paste readable text to encode it, or paste a Base64 string to recover what it represents.
Base64 packs every 3 bytes of input into 4 output characters, so the result grows by roughly 33 percent. That size cost is the trade for making binary data safe to carry as plain text.
Those are padding. Base64 works in groups of four characters, so when the input does not divide evenly, one or two equals signs pad the final group. They carry no data and simply mark the length so decoding lines up correctly.
A variant that replaces plus and slash with minus and underscore, because plus and slash have special meaning in URLs and filenames. It often drops padding too. Decode it with a URL-safe decoder so those substituted characters are read correctly.
Yes. This tool encodes text as UTF-8 first, so emoji and accented or non-Latin characters round-trip correctly. They become multiple bytes under the hood, which Base64 then represents like any other binary data.
Usually the input is not valid Base64: stray spaces or line breaks, missing or wrong padding, or characters from the URL-safe alphabet fed to a standard decoder. Strip whitespace and confirm you are using the matching variant, then retry.
Yes. Encoding and decoding run entirely in your browser and nothing is sent to a server. vpn.golf keeps no logs, so the text never leaves your device. Remember that Base64 itself is not protection, only local processing is what is private.
Both represent binary as text, but hex uses 16 characters and roughly doubles the size, while Base64 uses 64 characters and grows it by only a third. Hex is easier to read byte by byte; Base64 is more compact for transport.
On Linux or macOS, echo -n text | base64 encodes, and base64 -d decodes. With OpenSSL, use openssl base64. PowerShell can use the Convert class. These match this tool, so you can verify results either way.