Base64 Problems

How to Encode Text or Files to Base64

Base64 turns binary data or text into a string of 64 safe ASCII characters so it can travel through systems that only handle text, such as email, JSON and URLs. It is an encoding, not encryption, and anyone can reverse it.

Last updated: 2 November 2026

Open Base64 Encoder and Decoder →

Step-by-step

  1. Open the Base64 tool and paste the text you want to encode.
  2. Choose the encode option and read the result.
  3. Copy the Base64 string. A trailing = or == is padding and is normal.
  4. If the string goes into a URL, use the URL-safe form, which replaces + and / with - and _ and often drops the padding.
  5. Decode the result once to confirm that it matches your original text.

How Base64 works

Base64 reads the input three bytes at a time and writes four characters. This is why the encoded text is about 33 percent larger than the original. When the input length is not a multiple of three, the output is padded with one or two = characters.

Text with accents, emoji or non-Latin scripts

Base64 encodes bytes, so text must first be converted to bytes, normally with UTF-8. Some simple encoders only handle Latin-1 text and fail on characters such as emoji. Make sure the tool and the system that decodes the string both use UTF-8.

Common uses

Typical uses are data URLs for small images, binary values inside JSON, and the credentials in an HTTP Basic authentication header. Base64 does not protect those values, so never treat it as a way to hide a password.

USE THE TOOL

Finish the task with DevUtilityKits

Use the relevant online utility, check the result, and continue with your development workflow.

Open Base64 Encoder and Decoder →Open URL Encoder →
FAQ

Frequently asked questions

Is Base64 encryption?

No. It is a reversible encoding with no key, so anyone can decode it.

Why is Base64 output longer than the input?

Every three bytes become four characters, so the output is about a third larger.

What does the = at the end mean?

It is padding that fills the last group when the input length is not a multiple of three.

What is URL-safe Base64?

It replaces + and / with - and _ so the string can be used in a URL without extra escaping.