Base64 Encode / Decode

Convert text to Base64 and Base64 back to plain text. Full UTF-8 support means accents, symbols and emoji encode and decode correctly — all inside your browser.

base64 · runs locally

What Base64 is and how this converter works

Base64 is a binary-to-text encoding that maps every 3 bytes of data to 4 characters drawn from a 64-character alphabet (A–Z, a–z, 0–9, + and /). Because the output is plain ASCII, Base64 lets binary data pass through channels that only understand text — which is why you see it in data URIs, JSON Web Tokens, email attachments and API keys.

This encoder converts your text to UTF-8 bytes first and then applies Base64, and the decoder does the reverse. That extra step matters: browsers’ built-in btoa() only supports Latin-1, so tools that skip it corrupt emoji and accented characters. Everything runs locally in your browser — nothing is transmitted.

How to encode or decode Base64

  1. Choose Encode or Decode at the top of the panel.
  2. Paste your text (or Base64 string) into the input.
  3. Click the convert button and copy the result.

Spotting Base64 in the wild

Base64 strings have a telltale look: long runs of mixed-case letters and digits, length divisible by four, often ending in = or ==. The middle segment of a JWT, the value after base64, in a data URI, and the credentials in a Basic auth header are all Base64 — paste any of them into the decoder to inspect what is inside. For encoding text into URLs instead, use the URL Encoder.

Frequently asked questions

What is Base64 encoding used for?

Base64 represents binary data using 64 printable ASCII characters, so it can travel safely through systems designed for text: embedding images in CSS or HTML as data URIs, encoding email attachments (MIME), packing credentials into HTTP Basic Auth headers, and storing binary blobs in JSON.

Is Base64 encryption?

No. Base64 is an encoding, not encryption — anyone can decode it instantly, with this tool or one line of code. Never use Base64 to hide passwords or secrets; it provides zero confidentiality.

Why do some Base64 strings end with = signs?

Base64 works on 3-byte groups. When the input length is not a multiple of three, the output is padded with one or two = characters so its length is a multiple of four. The padding carries no data and some variants omit it.

Does this tool handle emoji and non-English text?

Yes. It encodes your text as UTF-8 bytes before Base64 conversion (and reverses that on decode), so emoji, accented characters and non-Latin scripts round-trip correctly — something naive btoa-based converters get wrong.