Skip to content
Bai
EspañolEnglishEuskara Get started →

Tools

Base64 encode

Base64 encode text

Turn text into Base64 instantly, with full support for accents and emoji (UTF-8).

Private by design
Text is encoded as UTF-8, so accents, ñ and emoji survive the round trip. When decoding, line breaks, the URL-safe variant (- and _) and missing = padding are accepted.

About this tool

Base64 turns any text into a string of letters, digits, + and / that passes safely through systems built for plain ASCII. It comes in handy for putting credentials into an Authorization Basic header, embedding data in JSON or a config file, preparing an environment variable, or checking exactly what an API is sending.

Type or paste your text into the “Text to encode” box and the Base64 output appears underneath as you type, with no button to press. “Copy output” puts it on your clipboard. To double-check it, click “Switch to decode”: the output moves into the input and you’ll see the original text again.

The conversion runs in JavaScript inside your own browser; your text never leaves your device. It is encoded as UTF-8, so accents and emoji survive decoding intact. The tool works on text rather than files: to turn an image into Base64, use the image encoder instead. Remember that Base64 is not encryption and anyone can reverse it.

Frequently asked questions

Can Base64 protect a password?

No. Base64 is an encoding, not encryption, and anyone can decode it in seconds. To protect data, use proper encryption, or a salted hash such as bcrypt or Argon2 for passwords.

Why is the output longer than my text?

Base64 represents every 3 bytes with 4 characters, so the size grows by roughly 33%. That is the cost of using only characters that are safe on any text channel.

What are the = signs at the end?

They are padding. When the number of bytes isn’t a multiple of 3, one or two = signs are added so the length is a multiple of 4.

Why does another site give me different Base64 for the same accented text?

It is probably encoding the text as Latin-1 rather than UTF-8. This tool always uses UTF-8, which is what the web and most modern APIs expect.

Related tools