Convert text or files to Base64 and back — UTF-8 safe, with URL-safe and data-URI output, and one-click decode into a downloadable file. Everything runs in your browser.
Base64 turns any data — text, images, fonts, binaries — into a plain-text string made of letters, digits, and a couple of symbols. That makes it safe to drop into places that only accept text: JSON payloads, data URIs in CSS or HTML, JWTs, email attachments, API keys, and config files. This tool encodes and decodes it instantly, both directions, for text and files, without sending anything to a server.
Because it runs entirely in your browser, you can safely encode or decode sensitive values — tokens, credentials, private keys — without pasting them into a site that logs what you submit.
btoa can't do this on its own).data: URI.+/ for -_ and drop padding, the form used in URLs, JWTs, and filenames.data:<mime>;base64,… for inlining directly into HTML or CSS.No account, no upload — encode, decode, copy or download.
Paste the string and the decoded result appears instantly, with UTF-8 handled correctly so accented characters and emoji survive. If the payload is a file, one click turns it back into a downloadable file.
Drop the file onto the tool and copy the Base64 output, optionally as a ready-to-paste data URI for embedding images in CSS or HTML.
Standard Base64 uses + and / characters that break inside URLs. URL-safe Base64 swaps them for - and _, which is what JWTs and web APIs expect. The tool outputs either flavor.
Only if the tool is local, and this one is. Encoding and decoding happen entirely in your browser, so the JWT payload or API credential you paste never travels over the network.
Usually the payload is binary data (like an image) rather than text, or it was encoded with a different character set. Try the decode-to-file option for binary payloads, and confirm the source used UTF-8 for text.