# Base64 encoder and decoder

Encode and decode Base64, with full UTF-8 support

Use it at https://www.quicktoolz.com/tools/base64-encoder. From QuickToolz.

Base64 turns data into plain text using 64 safe characters, so it can travel through systems built for text. Every 3 bytes become 4 characters. It’s an encoding, not encryption, so anyone can decode it. This tool handles UTF-8, so emoji and Hindi round trip correctly, and it runs in your browser.

## How it works

Every 3 bytes become 4 characters from a set of 64.

Text is first turned into UTF-8 bytes, then encoded. Many simple tools skip this step, which breaks anything beyond basic English.

URL-safe Base64 swaps + and / for - and _, and drops the padding.

Worked example: “foo” encodes to Zm9v. Text is first turned into UTF-8 bytes, so emoji work too.

## Examples

| Text | Base64 |
| --- | --- |
| f | Zg== |
| fo | Zm8= |
| foo | Zm9v |
| hello | aGVsbG8= |

## What this tool doesn't cover

- This handles text. Binary files aren’t supported yet.

## Questions

### Is Base64 secure?

No. It’s encoding, not encryption. Anyone can decode it, so never use it to hide a secret.

### What do the = signs mean?

They’re padding, which fills out the last group of 4 characters.

### Is my data uploaded?

No. Everything runs in your browser.

### What is Base64 used for?

It turns any data into plain text, so it can travel where only text is allowed, such as email attachments or data URLs.

### Why is Base64 text longer than the original?

Every 3 bytes become 4 characters, so the result is about a third larger.

## Sources

- [RFC 4648: Base16, Base32 and Base64](https://www.rfc-editor.org/rfc/rfc4648)