Base64 Encoder Decoder

Encode and decode text and files using Base64 encoding with support for standard and URL-safe formats

Input Encode

Encoding Type
Characters: 0
Or Upload File

Statistics

Input Length
0 chars
Output Length
0 chars

Output

Output

How to use

Encoding: Enter text or upload a file to convert to Base64
Decoding: Paste Base64 string to convert back to original content
URL-Safe: Use URL-safe Base64 encoding for web applications
File Support: Upload any file type for Base64 encoding
Validation: Real-time validation for Base64 strings
Statistics: View input/output lengths and expansion ratios

💡 Pro Tips

Switch between Standard and URL-Safe encoding for different use cases. Standard encoding uses + and / characters, while URL-Safe replaces them with - and _ for web compatibility.

Complete Guide to Base64 Encoding and Decoding

What is Base64?

Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string format. It works by converting binary data into a set of 64 different characters (A-Z, a-z, 0-9, +, / for standard encoding, or -, _ for URL-safe encoding). Base64 encoding increases the size of the data by approximately 33%, but makes binary data safe for transmission through text-based protocols.

Understanding Base64 Encoding Types

1. Standard Base64

What it does: Uses the standard Base64 alphabet (A-Z, a-z, 0-9, +, /) with optional padding (=). This is the most common form of Base64 encoding.

Characters: A-Z, a-z, 0-9, +, /, =
Use case: General data encoding, file storage, data transmission

2. URL-Safe Base64

What it does: Uses URL-safe characters by replacing + with - and / with _. Padding characters (=) are typically omitted. This variant is designed for use in URLs and filenames.

Characters: A-Z, a-z, 0-9, -, _
Use case: Web URLs, filename encoding, JWT tokens, data URIs

How Base64 Encoding Works

Base64 encoding processes input data in 3-byte chunks (24 bits). Each chunk is divided into four 6-bit groups, and each group is represented by a character from the Base64 alphabet. If the input data length is not divisible by 3, padding characters (=) are added.

Example - Encoding "Hello":

Input bytes: H(72) e(101) l(108) l(111) o(111)
Binary: 010010 000110 010111 001100 011011 001111 001110 001110
6-bit groups: 010010 000110 010111 001100 011011 001111 001110 001110
Base64: S G V s b 8 u O
Result: SGVsbG8=

Common Use Cases for Base64

Data Transmission

  • Embedding binary data in JSON
  • Sending images over text protocols
  • API data serialization

Web Development

  • Data URIs for inline images
  • JWT token encoding
  • CSS background images

File Handling

  • Converting files to text format
  • Storing binary data in databases
  • File upload via text forms

Security & Cryptography

  • Basic obfuscation (not encryption)
  • Certificate encoding
  • Hash representation

How to Use the Base64 Encoder Decoder

1

Choose Operation Mode

Select "Encode" to convert text or files to Base64, or "Decode" to convert Base64 back to original content.

2

Select Encoding Type

Choose between Standard Base64 (with + / characters) or URL-Safe Base64 (with - _ characters) based on your use case.

3

Input Your Data

For encoding: Type text or upload a file. For decoding: Paste your Base64 string.

4

View Results

The encoded/decoded output appears instantly in the output area below.

5

Copy or Download

Use the Copy button for clipboard access, or Download to save as a text file.

Advanced Features

File Encoding

  • Upload any file type for Base64 encoding
  • Automatic MIME type detection
  • Data URL generation for web use
  • Size display in KB

Real-time Validation

  • Base64 format validation
  • Character count display
  • Processing status indicators
  • Error messages with details

Statistics & Analytics

  • Input/output length comparison
  • Expansion ratio calculation
  • Processing performance metrics
  • File size information

Important Security Considerations

!

Base64 is NOT Encryption

Base64 encoding provides no security or confidentiality. It's easily reversible and should never be used as a substitute for proper encryption methods.

Best Practices
  • Use Base64 only for data transmission, not security
  • Always validate Base64 strings before decoding
  • Be aware of the ~33% size increase
  • Choose URL-safe encoding for web applications

Troubleshooting Common Issues

"Invalid Base64 string" error?

Check that your input only contains valid Base64 characters. Ensure proper padding (=) for standard Base64, or use URL-safe mode for strings with - and _ characters.

Decoded text looks wrong?

Make sure you're using the correct encoding type (Standard vs URL-Safe). Also verify that the original data was properly encoded.

File upload not working?

Try refreshing the page. File uploads work only in Encode mode. Very large files may cause browser performance issues.

Unicode characters not displaying correctly?

The tool properly handles UTF-8 encoding. If you see incorrect characters, the original encoding may have been different.

Technical Implementation

This tool uses the browser's native atob() and btoa() functions for Base64 encoding/decoding, combined with encodeURIComponent() and decodeURIComponent() for proper Unicode support. File encoding uses the FileReader API to convert files to data URLs, then extracts the Base64 portion.

Browser Compatibility: Compatible with all modern browsers that support the Encoding API and FileReader. No external libraries are required.