Base64 Encoder and Decoder

Convert text to Base64 and decode Base64 back into readable text. It handles accents, emoji and any other Unicode correctly by encoding as UTF-8 first, which is where most simple Base64 tools fall over.

Base64 Encoder and Decoder tool

How to use it

  1. Choose whether you are encoding or decoding.
  2. Paste your text or Base64 string.
  3. Copy the result, or press ‘Use result as input’ to run it back the other way.

Worked example

Input: Hello world
Result: SGVsbG8gd29ybGQ=
Input: SGVsbG8=
Result: Hello

What Base64 is for

Base64 rewrites arbitrary data using only 64 safe characters: A to Z, a to z, 0 to 9, plus and slash. It exists because some systems only reliably carry plain text, so binary content has to be disguised as letters to survive an email header, a JSON field or a data URL.

It is an encoding, not encryption. Anyone can decode a Base64 string in one click, including on this page, so it protects nothing. Use it for transport and formatting, never for secrets.

Base64 always grows the data by roughly one third, because every three bytes become four characters. The trailing equals signs are padding that rounds the output to a multiple of four. URL-safe Base64 swaps plus and slash for hyphen and underscore so the string can sit in a web address without being escaped.

Common uses

  • Embedding small images as data URLs
  • Encoding credentials for HTTP Basic auth headers
  • Moving binary data through JSON or XML
  • Decoding tokens and config values while debugging

Frequently asked questions

No. It is a reversible encoding with no key, so anyone can decode it instantly. Never use it to protect passwords or private data.
Those are padding. Base64 works in blocks of three bytes, and one or two equals signs round the final block out to four characters.
Yes. The text is converted to UTF-8 before encoding, so emoji, accents and non-Latin scripts all round-trip correctly. Simpler tools that skip that step corrupt them.
A variant that replaces plus with hyphen and slash with underscore, and usually drops the padding, so the string is safe inside a URL. Tick the box above to produce it.