Base64 Encode / Decode
Encode text to Base64 or decode Base64 back to readable text instantly, with full Unicode support and a URL-safe variant — all processed locally in your browser.
Base64 Encode / Decode features
Encode and Decode
Convert plain text to Base64 and decode Base64 strings back to readable text in one tool.
Full Unicode Support
Encodes through UTF-8 so emojis, accents, and non-Latin scripts round-trip correctly.
URL-Safe Variant
Switch to URL-safe output where +/ become -_ and padding is dropped for use in URLs.
One-Click Swap
Flip between encode and decode instantly and reuse the output as your next input.
100% Private
All encoding and decoding runs locally in your browser — nothing is ever uploaded.
Instant Results
Output updates as you type with no waiting, no servers, and no sign-up.
Overview
Base64 is a binary-to-text encoding scheme that represents binary data using a set of 64 printable ASCII characters: A–Z, a–z, 0–9, plus + and /, with = used as padding. It lets you safely carry text or binary data through channels that only handle plain text, such as JSON, URLs, email headers, and HTTP basic auth.
Each group of 3 bytes (24 bits) is split into four 6-bit chunks, and every chunk maps to one Base64 character. Because Base64 is just an encoding — not encryption — anyone can decode it back to the original. It is meant for safe transport and storage, not for keeping data secret.
This Base64 Encode / Decode tool converts text to Base64 and decodes Base64 back to text. It handles the full Unicode range by encoding through UTF-8 first, so emojis, accented letters, and non-Latin scripts round-trip correctly. A Mode toggle switches between Encode and Decode, and a Swap button flips the direction in one click.
You can also choose a Variant. The Standard variant uses + and / with = padding, while the URL-safe variant replaces + and / with - and _ and drops the padding, making the output safe to drop into URLs and filenames.
How to use the Base64 Encode / Decode
- Set the Mode toggle to Encode to convert text into Base64, or Decode to turn Base64 back into text.
- Choose a Variant: Standard for classic Base64, or URL-safe to swap +/ for -_ and drop padding.
- Paste or type your text or Base64 string into the input box.
- Read the converted result instantly in the output box.
- Use the Swap button to flip the direction and feed the output back as new input.
- Copy the output to use it in your code, URL, or config.
Good to Know About Base64
A few things worth knowing when working with Base64:
- Base64 is not encryption. It only encodes data into a text-safe form — it provides no confidentiality, so never rely on it to hide secrets.
- Size grows by roughly 33%. Encoded output is about one-third larger than the original input because every 3 bytes become 4 characters.
- Variants must match. Decode a string with the same variant it was encoded with — feeding URL-safe data to the Standard decoder (or vice versa) can fail or produce garbage.
- Whitespace matters. Extra spaces or line breaks inside a Base64 string can cause decoding errors, so trim stray characters first.
Private by design
Every byte you paste into the Base64 Encode / Decode is processed locally in your browser. Formatly makes no network request with your data, logs nothing, and stores nothing on any server — so it is safe for API responses, tokens, configuration and other sensitive content. Your most recent input and theme are saved only in your own browser's local storage.
Base64 Encode / Decode FAQ
Is this Base64 tool safe and private?
Yes. All encoding and decoding happens entirely in your browser using client-side JavaScript. Your text and Base64 strings are never sent to a server, logged, or stored, so it is safe even for sensitive data.
Does it work offline?
Yes. Once the page has loaded, the tool runs 100% client-side and needs no network connection. You can disconnect and keep encoding and decoding without any loss of functionality.
What is the difference between Standard and URL-safe Base64?
Standard Base64 uses + and / as the last two characters and pads with =. The URL-safe variant replaces + with - and / with _, and drops the = padding, so the result can be placed in URLs and filenames without escaping.
Does it support emojis and non-English characters?
Yes. The tool encodes text through UTF-8 before applying Base64, so emojis, accented letters, and characters from scripts like Arabic, Cyrillic, and CJK all encode and decode correctly without corruption.
Is Base64 a form of encryption?
No. Base64 is an encoding, not encryption. It does not use a key and anyone can decode it back to the original data. Use it for safe transport and storage of data — never as a way to keep information secret.
Why does my decoded Base64 look wrong or empty?
That usually means the input is not valid Base64 — for example it contains stray spaces, line breaks, or characters outside the Base64 alphabet, or it is missing required padding. Double-check the string, and make sure you pick the matching Standard or URL-safe variant for the data you are decoding.