Base64 Encode / Decode
Convert text to Base64 and back — UTF-8 safe, so emoji and non-English characters survive.
Base64 result
About this tool
Base64 is everywhere in software: API keys and Basic Auth headers, email attachments, data URLs embedding images in CSS, JWT segments, configuration files. It's an encoding — not encryption — that represents any data using 64 safe characters, so binary or special-character content can travel through systems that only handle plain text. Developers constantly need to peek inside a Base64 string or produce one, and this tool does both directions live as you type.
The detail that separates this converter from naive ones: full UTF-8 support. The browser's built-in btoa/atob functions choke on anything outside Latin-1 — encode an emoji or Hindi text with a naive tool and you get an error or corrupted output. This tool routes text through proper UTF-8 encoding first, so "नमस्ते 👋" round-trips perfectly.
The Swap button feeds your result back in as new input with the direction flipped — a one-click round-trip check to confirm an encode/decode pair is lossless. Everything runs locally: paste tokens, credentials in transit, or API payloads knowing they never leave your machine, which is precisely what you want when the string you're decoding is an authorization header.
How to use the Base64 Encode / Decode
- 1Choose Encode (text → Base64) or Decode (Base64 → text).
- 2Type or paste your input — the result appears live.
- 3Click Swap to feed the result back in with the direction flipped (a quick round-trip check).
- 4Click Copy to grab the result.
Frequently asked questions
Is Base64 encryption?
No — this is the most important thing to know about it. Base64 is an encoding, trivially reversible by anyone. It provides zero security or secrecy. Never use it to 'protect' passwords or sensitive data; it only makes data safe to transmit through text-only channels.
Why does decoded Base64 sometimes look like garbage?
Usually one of two reasons: the original data was binary (an image, a file) rather than text, or the string was decoded with the wrong character encoding. This tool decodes as UTF-8, the modern standard. If output looks wrong, the source may not be text at all.
Why is Base64 output longer than the input?
By design — Base64 represents every 3 bytes of input as 4 output characters, so encoded data is about 33% larger. That's the cost of making arbitrary data safe for text-only transport.
Does my data get uploaded?
No. Encoding and decoding run entirely in your browser. That matters here more than most tools, because Base64 strings are often API keys, auth headers and tokens — exactly the things you shouldn't paste into a site that sends them to a server.
Related tools
URL Encoder / Decoder
Percent-encode text for URLs or decode %20-riddled strings back into readable text — live.
Open toolJWT Decoder
Decode JWT header and payload instantly — with human-readable expiry dates. Nothing leaves your browser.
Open toolJSON Formatter & Validator
Format, minify and validate JSON instantly — with exact error positions when something's wrong.
Open tool