Base64 Encoder Decoder

Convert plain text to Base64 encoded strings or decode Base64 back to readable text. Essential for data transmission, web development, and API integration.

Updated June 2026 · How this works

How It Works
The formula, explained simply

This Base64 Encoder Decoder converts text to Base64 encoding and decodes Base64 strings back to readable text using the standard RFC 4648 algorithm. The encoding process works by taking input text, converting each character to its 8-bit binary representation, then regrouping these bits into 6-bit chunks.

Each 6-bit group corresponds to one of 64 possible values (0-63), which are mapped to specific characters: A-Z (values 0-25), a-z (values 26-51), 0-9 (values 52-61), plus '+' (value 62) and '/' (value 63). When the input length isn't perfectly divisible by 3 bytes, the Base64 encoder adds padding characters '=' to complete the final group.

The Base64 decoder reverses this process by mapping each Base64 character back to its 6-bit value, combining these into 8-bit bytes, and converting the result back to text. This Base64 converter handles UTF-8 encoding properly, ensuring special characters and international text are preserved during both encoding and decoding operations.

Base64 encoding increases data size by approximately 33% because it represents 3 bytes of input as 4 Base64 characters. Despite this overhead, Base64 remains essential for transmitting binary data through text-based protocols like email and web APIs.

When To Use This
Right tool, right situation

Use this Base64 Encoder Decoder when integrating with web APIs that require Base64-encoded data, particularly for authentication tokens or file uploads. Many REST APIs expect credentials or binary data in Base64 format, making this converter essential for developers working with API documentation and testing.

Base64 encoding is crucial for embedding binary data in text-based formats like JSON, XML, or HTML. When you need to include images, documents, or other files directly in data structures, Base64 conversion allows binary content to be represented as text strings without corruption during transmission.

Email systems frequently use Base64 encoding for attachments and non-ASCII content. If you're working with email templates, MIME messages, or mail server configurations, this Base64 converter helps you encode content properly. Additionally, use Base64 encoding when storing binary data in databases that only support text fields, or when transmitting data through protocols that might corrupt binary content during transfer.

Common Mistakes
Why results sometimes look wrong

The most common mistake when using a Base64 encoder decoder is attempting to decode corrupted or incomplete strings. Base64 strings must contain only valid alphabet characters (A-Z, a-z, 0-9, +, /) and proper padding. Copying Base64 data from sources that introduce line breaks or extra spaces will cause decoding errors.

Another frequent error involves character encoding issues when working with international text. Always ensure your input uses UTF-8 encoding before Base64 conversion, especially when dealing with accented characters or emojis. Some online Base64 tools don't handle Unicode properly, leading to garbled results when decoded.

Misunderstanding Base64 security is also problematic - Base64 encoding is NOT encryption or secure obfuscation. It's a data format conversion that's easily reversible by anyone. Never use Base64 encoding alone to protect sensitive information, as it provides no security benefits and can be decoded instantly using any Base64 decoder tool.

The Math
Worked examples and deeper derivation

The mathematical foundation of Base64 encoding relies on binary-to-text conversion using powers of 2. The system uses 2^6 = 64 different characters to represent data, hence the name Base64. Each input byte (8 bits) is grouped with others to form 24-bit blocks, which are then divided into four 6-bit segments.

The encoding process follows this mathematical pattern: 3 input bytes × 8 bits = 24 bits total, divided into 4 groups × 6 bits = 4 Base64 characters. This creates the fundamental 3:4 ratio where every 3 input bytes produce exactly 4 encoded characters. When input length isn't divisible by 3, padding calculations determine how many '=' characters to append.

For example, if you have 1 remaining byte (8 bits), it's padded to 12 bits (2 groups of 6 bits each), producing 2 Base64 characters plus 2 padding characters. If you have 2 remaining bytes (16 bits), they're padded to 18 bits (3 groups of 6 bits), producing 3 Base64 characters plus 1 padding character. This mathematical precision ensures perfect reversibility during decoding.

Encode Simple Text
{'operation': 'encode', 'input-text': 'Hello World'}
The text 'Hello World' is encoded to Base64 as 'SGVsbG8gV29ybGQ='. Each character is converted to its binary representation, then grouped into 6-bit chunks and mapped to Base64 characters.
Decode Base64 String
{'operation': 'decode', 'input-text': 'SGVsbG8gV29ybGQ='}
The Base64 string 'SGVsbG8gV29ybGQ=' is decoded back to 'Hello World'. The Base64 characters are mapped back to 6-bit values, combined into 8-bit bytes, and converted to text.
Encode Special Characters
{'operation': 'encode', 'input-text': 'Café & Restaurant'}
Text with special characters like 'Café & Restaurant' is properly encoded using UTF-8 handling, ensuring accented characters and symbols are preserved during the Base64 conversion process.

Common questions

How do I convert text to Base64 encoding?
Select 'Encode to Base64' and enter your plain text in the input field. The Base64 encoder will instantly convert your text using the standard RFC 4648 encoding algorithm, handling special characters and Unicode text properly.
Why does my Base64 string end with equals signs?
Base64 padding uses '=' characters to ensure the encoded string length is a multiple of 4. This Base64 decoder automatically handles padded strings, and the padding indicates how many bits were added to complete the final group.
Can I decode any Base64 string back to text?
Yes, any valid Base64 string can be decoded using this Base64 converter. If you receive an 'Invalid input' error, the string may contain characters outside the Base64 alphabet (A-Z, a-z, 0-9, +, /) or be corrupted.

Need something this doesn't cover?

Suggest a tool — we'll build it →