All free tools

Base64 encode and decode

Encode or decode text, turn any file into Base64, or turn Base64 back into a file you can download.

Runs in your browser. Your text and files never leave your device and are not stored by EpiFive.

What do you want to do?

How to use it

  1. Text: type or paste, then tap Encode to get Base64 or Decode to read Base64 as text.
  2. File to Base64: choose a file (up to 25 MB). Copy the Base64 or download it as a .txt file.
  3. Base64 to file: paste Base64 or a data: URL and tap Decode to file. The file type is detected, and images show a preview.

Where you meet Base64

  • Email attachments, which travel as Base64 inside the message.
  • JWT login tokens, whose header and payload are URL-safe Base64 you can decode here.
  • API requests that send images or PDFs inside JSON.
  • JSON formatter: Format, validate and minify JSON, with the line and column of any error.
  • Image converter: Convert images between PNG, JPG and WebP in your browser, one file or many.
  • QR code generator: QR codes for links, text, Wi-Fi and UPI payments, as PNG or SVG. No sign-up, no expiry.
  • Password generator: Strong random passwords and passphrases made with your browser’s crypto API. Nothing leaves your device.

Related guides

Questions people ask

Is Base64 encryption?

No. Base64 only changes how data is written so it can travel through systems that expect text, such as email, JSON and URLs. Anyone can decode it, so never use it to hide passwords or secrets.

Why does Base64 make files bigger?

Base64 turns every 3 bytes into 4 text characters, so the result is about 33% larger than the original file. A 300 KB image becomes about 400 KB of Base64 text.

What is URL-safe Base64?

Standard Base64 uses + and /, which have special meanings in web addresses. URL-safe Base64 (used in JWT tokens) swaps them for - and _ and usually drops the = padding at the end. The decoder here accepts both forms.

Does it work with Hindi text and emoji?

Yes. Text is converted to UTF-8 bytes before encoding, so Hindi, other Indian scripts and emoji round-trip correctly. Some older online tools break on these characters.

How do I use an image as a data URL?

Choose File to Base64, keep the data: URL prefix ticked, and pick your image. Paste the result into an HTML img src or a CSS url(). This suits small icons; for large photos a normal image file loads faster.