Base64 Encode / Decode
Encode text or files to Base64 — and decode back — UTF-8 safe, with a URL-safe option.
Base64 turns binary data into plain ASCII text, which is why it shows up everywhere in development: data URIs for inline images, Basic Auth headers, email attachments, webhook payloads, and config secrets. Paste text to encode or decode it live as you type, or drop a file to get its Base64 representation ready for embedding.
The encoder is UTF-8 safe, so emoji and accented characters survive the round trip — a classic failure in naive btoa-based tools. A URL-safe toggle swaps + and / for - and _ and strips padding, matching the alphabet JWTs and many APIs use. Everything runs locally in your browser, so tokens, credentials, and files are never transmitted to a server.
How to encode or decode Base64
- 1
Choose Encode or Decode, then paste your text (or drop a file to encode).
- 2
Toggle URL-safe output if you need the -_ alphabet without padding.
- 3
Copy the result or download it as a file.
Why use Nofolo’s base64 encode / decode?
UTF-8 safe
Emoji, accents, and any Unicode text encode and decode correctly — not just ASCII.
URL-safe variant
One toggle outputs - and _ instead of + and / and strips = padding, ready for URLs and tokens.
File to Base64
Drop any file to encode it — handy for data URIs, test fixtures, and email attachments.
Live conversion
Output updates as you type in either direction — no button pressing.
Clear decode errors
Invalid input tells you exactly what is wrong — stray characters or impossible length — instead of emitting garbage.
Private by design
Encoding and decoding happen in your browser. Secrets and files never leave your device.
Frequently asked questions
Is my data uploaded when I use this Base64 tool?
No. Encoding and decoding run entirely in your browser using native Web APIs. Text, tokens, and files are never sent to a server, so it is safe for credentials and internal payloads.
Why do emoji or accented characters break in some Base64 tools?
Plain btoa() only handles single-byte characters. This tool first encodes text as UTF-8 bytes and then Base64-encodes those bytes, so multi-byte characters like é, ₦, or emoji round-trip correctly.
What is URL-safe Base64?
Standard Base64 uses + and /, which have special meanings in URLs. The URL-safe variant (RFC 4648) replaces them with - and _ and usually drops the = padding. It is what JWTs and many APIs use — the decoder here accepts both alphabets automatically.
Is Base64 encryption?
No. Base64 is an encoding, not encryption — anyone can decode it instantly. Never use it to protect secrets; use it only to represent binary data as text.
Why is Base64 output about 33% larger than the input?
Base64 represents every 3 bytes of data with 4 ASCII characters, so output is roughly 4/3 the size of the input, plus up to two = padding characters.
Related tools
Image to Base64
Turn any image into Base64, a data URI, or ready-to-paste HTML and CSS — and decode strings back into images.
URL Encode / Decode
Percent-encode and decode text for URLs — plus a parser that breaks any URL into its parts.
Hash Generator
MD5, SHA-1, SHA-256, SHA-384, and SHA-512 for text or files — computed in your browser.
JSON Formatter
Format, validate, and minify JSON with instant error pinpointing.