Base64 Encode / Decode
Local processing · never uploadedEncode text to Base64 and decode it back — URL-safe option, UTF-8 ready.
What is Base64 Encode / Decode?
Base64 Encode / Decode is a fast, free online tool that converts text to Base64 and decodes Base64 back to readable text — instantly and entirely in your browser.
Base64 is an encoding scheme that represents binary data using a set of 64 printable ASCII characters. It is everywhere in modern software: embedding images in CSS or HTML as data URLs, encoding credentials in HTTP Basic Auth headers, carrying binary payloads inside JSON, JWT tokens and email attachments (MIME). Because Base64 only uses safe characters, it lets binary data travel through systems that were designed for text.
This tool handles full Unicode (UTF-8) correctly, so emoji and non-Latin scripts encode and decode without corruption — something the naive btoa() approach gets wrong. Toggle the URL-safe option to produce output that uses "-" and "_" instead of "+" and "/" (and drops padding), which is the variant used in JWTs and URL query parameters. Decoding is tolerant: it accepts both standard and URL-safe input and ignores whitespace, so you can paste a token directly.
Everything runs locally using your browser, so it is safe to encode or decode sensitive values like tokens and credentials — nothing is uploaded, logged or stored.
FAQ
Is Base64 encryption?
No. Base64 is encoding, not encryption. It is fully reversible and provides no security — anyone can decode it. Never use Base64 to protect secrets.
What is the URL-safe option?
URL-safe Base64 replaces "+" and "/" with "-" and "_" and removes "=" padding, so the result is safe to put in URLs and JWTs. Turn it on when encoding for those contexts.
Does it handle emoji and Chinese characters?
Yes. The tool encodes and decodes using UTF-8, so emoji, Chinese, Arabic and other non-Latin text round-trip correctly.
Is my data uploaded anywhere?
No. Encoding and decoding happen entirely in your browser. Your input is never sent to a server, so sensitive values stay private.
Why does decoding fail?
Decoding fails when the input is not valid Base64 — for example it contains characters outside the Base64 alphabet, or the length is wrong. Whitespace is ignored automatically.