Back to tools

Base64 encoder & decoder

Encode and decode base64 text.

Mode

Output

Encoding and decoding happen in this browser tab. Nothing is uploaded.

How it works

1. Pick the direction

Pick the direction — encode text → base64, or decode base64 → text.

2. Paste

Paste the input. UTF-8 is handled correctly: emoji, Cyrillic, CJK — anything that fits in a string.

3. (Optional) URL-safe

Toggle URL-safe encoding when the result will end up in a URL or filename — it swaps `+/` for `-_` and drops padding.

About the Base64 Encoder & Decoder tool

This Base64 tool encodes text to Base64 and decodes Base64 back to readable text, with correct UTF-8 handling so emoji, Cyrillic, CJK characters, and accents survive the round trip intact. Choose standard Base64 or the URL-safe variant, which swaps the + and / characters for - and _ and drops trailing padding so the result is safe to drop into a URL or a filename. Encoding and decoding both run in your browser using the built-in btoa/atob plus a TextEncoder/TextDecoder layer.

Developers reach for Base64 to embed binary or text in JSON payloads, data URIs, HTML attributes, JWTs, and config files, and to decode values they find in logs or tokens. It is worth remembering that Base64 is an encoding, not encryption — anyone can decode it — so it is for transport and embedding, not for hiding secrets. Onsilio runs the tool entirely client-side, so nothing you paste is uploaded; it is free with no limits, needs no account, and works offline after the page loads.

Frequently asked questions

What is base64?

Base64 is an encoding that represents binary data using 64 ASCII characters. Useful for embedding binary in JSON, URLs, or HTML attributes. It's not encryption — anyone can decode it.

Standard vs URL-safe base64?

URL-safe base64 swaps `+` and `/` (which break in URLs) for `-` and `_`, and removes trailing `=` padding. Both variants decode back to the same bytes.

Does my input leave my device?

Yes. Encoding/decoding runs in the browser using the built-in `btoa`/`atob` with a TextEncoder/TextDecoder UTF-8 layer. Nothing is uploaded.