How to Encode and Decode Base64: A Complete Guide
Quick Answer
Base64 encoding converts binary data into text using 64 printable characters (A-Z, a-z, 0-9, +, /). Use our free Base64 Encoder to encode text, and the Base64 Decoder to decode it back. All processing happens in your browser β no data is uploaded.
Introduction
Base64 is a binary-to-text encoding scheme that converts binary data into an ASCII string representation. It is commonly used to encode data that needs to be transmitted over media designed to handle text, such as email or JSON. Base64 is not encryption β it is a reversible encoding that anyone can decode.
Step by Step
-
Choose your input
Enter the text or data you want to encode into the input field of the Base64 Encoder tool. Any text content works β strings, JSON, URLs, etc.
-
Encode to Base64
The tool automatically encodes your input using the browser's built-in btoa() function. The result appears in the output field instantly.
-
Copy or use the result
Click the Copy button to copy the Base64-encoded string to your clipboard. You can now use it in your application, API call, or data transfer.
-
Decode back to original
To decode, paste the Base64 string into the Base64 Decoder tool. The original text appears instantly. Use the Copy button to copy the decoded result.
Examples
Encode plain text
Input: Hello, World!
Output: SGVsbG8sIFdvcmxkIQ==
Encode JSON data
Input: {"name":"FireTools","free":true}
Output: eyJuYW1lIjoiRmlyZVRvb2xzIiwiZnJlZSI6dHJ1ZX0=
Decode Base64
Input: SGVsbG8gV29ybGQ=
Output: Hello World
Common Problems
- Non-ASCII characters may produce unexpected results β use encodeURIComponent() before encoding if your text contains Unicode characters.
- Base64 encoding increases data size by approximately 33% β a 3-byte input becomes 4 Base64 characters.
- Padding (= or ==) at the end is part of the encoding and should not be removed.
- Base64 is not encryption β anyone can decode it. Never use it to store sensitive data like passwords.
Tips
- Use Base64 for data URLs, email attachments, and embedding images in HTML/CSS.
- For Unicode text, use TextEncoder + btoa(unescape(encodeURIComponent(text))) in JavaScript.
- Always validate decoded output before using it in your application.
- Use our Base64 Encoder and Decoder tools for instant, private encoding/decoding in your browser.