Base64 Encoder & Decoder
Encode and decode text or files to Base64 — with UTF-8 support, URL-safe output, drag-and-drop file encoding and image preview. Everything runs in your browser.
About the Base64 Encoder & Decoder
Updated June 2026 · 100% client-side — your data never leaves your browser.
Base64 encoding represents binary or text data using a 64-character ASCII set, so it can travel safely through systems that only handle text — email bodies, JSON fields, data URIs and HTTP headers. Bytewrench's encoder converts any text to Base64 and decodes Base64 strings back to readable text instantly.
The tool handles full Unicode (UTF-8) correctly, so emoji and non-Latin characters round-trip without corruption, and it runs entirely in your browser.
See also: URL encoder & decoder, JWT decoder, Base64 to image
Convert text to Base64 and back with a single click, including a quick swap button.
Correctly encodes emoji, accents and non-Latin scripts without mangling characters.
Runs locally — no requests, no waiting, works even without a connection.
Your text is processed in the browser and never sent anywhere.
Frequently asked questions
Is Base64 encryption?
No. Base64 is encoding, not encryption. Anyone can decode it instantly with no key, so it provides zero security — never use it to protect passwords, tokens or other secrets.
What is Base64url and how is it different?
Base64url is a URL- and filename-safe variant that replaces the '+' and '/' characters with '-' and '_' and usually drops the '=' padding. It's used in JWTs and query strings where '+' and '/' would otherwise need percent-encoding.
Why does Base64 increase the size by about 33%?
Base64 represents every 3 bytes of binary data with 4 ASCII characters (3 × 8 bits = 24 bits = 4 × 6 bits). That 4-for-3 ratio means encoded output is roughly 33% larger than the original.
How do I decode Base64 in Python or JavaScript?
In Python use base64.b64decode(s) from the base64 module. In JavaScript use atob(s) for ASCII or, for full UTF-8, decode the result of atob with a TextDecoder. This tool does the UTF-8-safe version for you.
Is my text sent to a server?
No. All encoding and decoding run entirely in your browser.