SGVsbG8sIEFudmlsIQ==
About Base64 Encode & Decode Online – Free Tool
Base64 is an encoding scheme that represents binary data using a 64-character set of ASCII letters, digits, and the symbols "+" and "/". It's widely used to embed images in CSS or HTML (data URIs), send binary payloads inside JSON, encode email attachments (MIME), and store small blobs in text-only fields — anywhere raw bytes need to travel safely through systems that expect text.
This free Base64 encoder and decoder converts text and Unicode (including emoji) in both directions, supports the URL-safe alphabet, and runs entirely in your browser. Nothing you paste is ever uploaded.
Features
- Encode text to Base64 and decode Base64 back to text
- Full UTF-8 support — handles accents, non-Latin scripts, and emoji
- URL-safe variant (-_ instead of +/), with padding handled automatically
- Clear errors on invalid input; works completely offline
How to use
- Paste your text or a Base64 string into the input pane.
- Choose Encode to convert text → Base64, or Decode for the reverse.
- Copy the result from the output pane — or clear and start again.
Frequently asked questions
Is Base64 encryption?
No. Base64 is encoding, not encryption — it provides no security. Anyone can decode it instantly. Use it to transport data safely as text, not to protect it. For protection, use a real cipher (see the AES tool).
Why does Base64 output look ~33% larger?
Base64 represents every 3 bytes of input as 4 ASCII characters, so encoded output is about one-third bigger than the original. That overhead is the cost of being text-safe.
What is the URL-safe variant?
Standard Base64 uses "+" and "/", which have special meaning in URLs. The URL-safe alphabet replaces them with "-" and "_" and usually drops the "=" padding, so the value can be used directly in URLs and filenames.
Does my data get sent anywhere?
No. All encoding and decoding happens locally in your browser using the built-in btoa/atob and TextEncoder APIs. Your input never leaves your device.
Related tools
Everything runs locally in your browser — your input is never uploaded.