Base64 encode & decode

Convert text to Base64 and back instantly, with full Unicode support — private to your browser.

Files never uploadedNo sign-upWorks in your browserFree & unlimited

Convert Base64 in 3 simple steps

1

Paste your text or Base64

Drop in plain text to encode, or a Base64 string to decode — emoji and accents are fine.

📝
2

Encode or decode

Click Encode → Base64 to convert text, or Decode ← Base64 to recover the original.

🔁
3

Copy the result

Grab the output with one click and paste it into your config, header or data URI.

📋

Why use this Base64 converter

🌐

Unicode-safe

Encodes through UTF-8, so emoji, Hindi, Arabic and accented characters round-trip correctly.

🔒

100% private

Encoding and decoding run locally in your browser — nothing you paste is ever uploaded.

↔️

Both directions

Encode text to Base64 or decode Base64 back to text in a single click.

🪲

Clear errors

Invalid Base64 is flagged rather than silently mangled, so you always know if a string is genuine.

🔗

Data-URI ready

Perfect for building data URIs, JWT payloads, API keys and HTML embeds.

🆓

Free & unlimited

No sign-up, no limits, no watermark — works offline once the page has loaded.

Encode and decode Base64 the easy way

Base64 turns any text or binary data into a safe set of ASCII characters, which is why it shows up everywhere — data URIs, JSON Web Tokens, email attachments, API keys and HTML embeds. Paste your text to encode it, or paste a Base64 string to decode it back to the original.

Unlike many converters, this one is fully Unicode-safe: it encodes through UTF-8, so emoji, Hindi, Arabic and accented characters survive the round trip. It all runs in your browser, so nothing you paste is uploaded.

How to encode and decode

To encode, paste your text on the left and click Encode → Base64; to go the other way, drop a Base64 string in and click Decode ← Base64. Invalid input is flagged rather than silently mangled, so you always know whether a string is genuine Base64. Copy the result with one click and paste it into your config, header or data URI.

Encoding vs encryption

It is worth remembering that Base64 hides nothing — it is reversible by anyone, so never treat it as security. When you need a one-way fingerprint or an integrity check, use the hash generator instead, and for escaping values in links reach for the URL encoder. More utilities live on the developer tools page.

Frequently asked questions

How do I encode text to Base64?
Type or paste your text and click Encode → Base64. The tool converts it instantly, with full Unicode support so emoji and accented characters work correctly.
How do I decode Base64?
Paste the Base64 string and click Decode ← Base64. If the string is valid Base64 you get the original text back; if not, you get a clear error.
Does it support Unicode and emoji?
Yes. The encoder uses UTF-8 under the hood, so non-Latin scripts, accented letters and emoji round-trip correctly — something many simple Base64 tools get wrong.
Is my data private?
Yes. Encoding and decoding happen entirely in your browser, so nothing you paste is ever uploaded or stored.
Is Base64 a form of encryption?
No. Base64 is encoding, not encryption — anyone can decode it back to the original. It only makes binary data safe to transport as text. If you need real protection, hash or encrypt the data first, then Base64-encode the result.
Why is Base64 about a third larger than the original?
Base64 represents every 3 bytes of input as 4 ASCII characters, so the output is roughly 33% bigger. That overhead is the trade-off for being able to embed binary safely inside text formats like JSON, XML and data URIs.
What is a data URI and how does Base64 fit in?
A data URI embeds a file directly in a string, e.g. data:image/png;base64,XXXX. The XXXX part is the file Base64-encoded, which lets you inline small images or fonts into HTML and CSS without a separate request.
How do I decode a JWT with this?
A JWT has three dot-separated Base64url sections. Paste the header or payload section and decode it to read the JSON claims. Note that the signature is not meant to be human-readable, only the header and payload.

By Narender Chaudhary, Editorial & Product Lead · Updated June 2026