Base64 Encoder / Decoder

Encode text to Base64 or decode it back — with proper UTF-8 handling so emoji, Nepali and other non-English characters survive the round trip. You can also turn a file into a Base64 data URI.


File → Base64 data URI

Choose a file or drop it here Any file up to ~5 MB — great for embedding small images in CSS/HTML

About Base64

Base64 turns any data into plain letters, digits and a couple of symbols, so it can travel safely through systems built for text — URLs, JSON, XML, email, configuration files. Developers meet it constantly: API keys, JWT token payloads, inline images in CSS, email attachments. This tool encodes and decodes with correct UTF-8 handling, which many quick converters get wrong — emoji, Nepali and other non-Latin text survive the round trip intact here.

How to use it

  1. Paste text on the left.
  2. Press Encode to get Base64, or Decode to turn Base64 back into text.
  3. Chain operations with Output → input, and copy results with one click.
  4. For files, drop one into the file area to get a complete data: URI — ready to paste into CSS or HTML.

Good to know

Frequently asked questions

Is Base64 encryption?

No — it's just a text-safe way to write data, and anyone can decode it instantly. Never use Base64 to hide passwords or secrets; for real protection you need encryption.

Why do emoji and Nepali text break in some Base64 tools?

Naive tools use the browser's raw btoa/atob functions, which only handle Latin characters. This tool encodes text as UTF-8 bytes first, so every language and emoji survives the round trip.

What is a data URI?

A way to embed a whole file inside text, like 'data:image/png;base64,...'. Paste one into CSS or HTML and the image loads with no separate file — best kept for small images under about 10 KB.