Base64 Encoder/Decoder
Encode text to Base64 or decode Base64 back to text instantly with file upload, auto-detect, and history
Base64 Encoder/Decoder
Convert text to Base64 or decode Base64 back to text instantly. Upload files, auto-detect format, and save history. We do not collect or store what you enter.
Conversion Mode
Input
Output
Export Options
Conversion History (Last 20)
Keyboard Shortcuts
Next step
Related tools
About Base64 Encoder/Decoder
The Base64 Encoder/Decoder is a fast, online utility for converting text to Base64 format and decoding Base64 back to readable text. Base64 encoding is essential for web development, APIs, email attachments, data URLs, and authentication headers. We do not collect or store what you enter.
Key Features
- Encode to Base64: Convert any text to Base64 format instantly
- Decode from Base64: Convert Base64 strings back to readable text
- Auto-Detect Mode: Automatically detect whether input is Base64 or plain text
- File Upload: Upload .txt, .json, .csv, or .xml files to encode
- Drag & Drop: Drop files directly into the input area
- Live Preview: See results instantly as you type
- Character Counter: Track input and output character counts
- Size Comparison: View original vs encoded file size
- Swap Function: Quickly reverse input and output
- Copy to Clipboard: One-click copying with visual feedback
- Conversion History: Save last 20 conversions
- Export Options: Download as TXT or save history as JSON
- Keyboard Shortcuts: Ctrl+Enter to convert, Ctrl+C to copy
- Large Text Support: Handle 100,000+ characters efficiently
- Private: Your inputs are not collected or stored
How to Use
- Choose Conversion Mode: Select "Encode" to convert text to Base64, "Decode" to convert Base64 to text, or "Auto Detect" to let the tool decide automatically.
- Enter or Upload Text: Paste text in the input area or upload a file using the upload button or drag & drop.
- View Results: The converted text appears instantly in the output panel.
- Copy Output: Click the "Copy" button to copy the result to your clipboard.
- Swap Input/Output: Use the "Swap" button to reverse the input and output for quick decoding workflows.
- Export Results: Download the output as a .txt file or save your conversion history as JSON.
- Access History: Click "Show" to view your last 20 conversions and reload any previous conversion.
What is Base64?
Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string format. It uses 64 characters (A-Z, a-z, 0-9, +, /) to encode data, making it safe for transmission over text-only systems like email and HTTP headers.
Example:
Plain text: "Hello World"
Base64: "SGVsbG8gV29ybGQ="
Common Use Cases
Email Attachments
Email systems use Base64 to encode binary attachments so they can be transmitted as text.
Data URLs
Embed images directly in HTML/CSS using Base64-encoded data URLs without external files.
API Authentication
Many APIs use Base64 encoding for authentication headers and credentials.
JSON Web Tokens (JWT)
JWTs use Base64 encoding for their payload and signature components.
Configuration Files
Store sensitive data in configuration files using Base64 encoding.
Binary Data Transfer
Transmit binary data over text-only protocols like HTTP or SMTP.
QR Codes
Some QR code generators use Base64 encoding for data storage.
Database Storage
Store binary data in text-based databases using Base64 encoding.
Auto-Detect Mode Explained
The Auto-Detect mode intelligently determines whether your input is Base64 or plain text:
- If input looks like Base64: The tool decodes it to plain text
- If input is plain text: The tool encodes it to Base64
- Detection is smart: Checks for valid Base64 characters and structure
- Perfect for workflows: Quickly toggle between encoding and decoding
UTF-8 Support
This tool uses UTF-8 safe Base64 encoding, which means it can handle special characters, emojis, and non-ASCII text correctly. The encoding process uses encodeURIComponent() to ensure all characters are properly converted before Base64 encoding.
Size Comparison
Base64 encoding increases file size by approximately 33% because it uses 4 characters to represent 3 bytes of data. The tool shows you the exact size difference:
Example:
Original: 120 bytes
Encoded: 160 bytes
Increase: +33.3%
File Upload Support
You can upload text files to encode them to Base64. Supported formats:
- .txt - Plain text files
- .json - JSON configuration files
- .csv - Comma-separated values
- .xml - XML data files
You can also drag and drop files directly into the input area for quick encoding.
Conversion History
The tool automatically saves your last 20 conversions. You can:
- View all recent conversions with timestamps
- Click any history item to reload it instantly
- Export your entire history as a JSON file
- Clear history with one click
Performance Optimization
This tool is optimized for handling large text blocks:
- Debounced Input: For text over 1,000 characters, conversions are debounced by 300ms
- Instant Processing: Smaller text blocks are converted instantly
- Efficient Algorithms: Uses optimized string operations
- 100k+ Character Support: Can handle massive text blocks without freezing
- Minimal DOM Updates: Only updates when necessary
Keyboard Shortcuts
Export Options
Export as TXT
Download the converted output as a plain text file (.txt) for easy sharing or storage.
Export History as JSON
Save your entire conversion history as a JSON file for record keeping or team sharing.
Security & Privacy
Your privacy is our priority:
- Private: Your inputs are not collected or stored
- No Tracking: We don't track what you encode or decode
Important Note: Base64 is an encoding scheme, not an encryption method. It provides obfuscation but not security. For actual encryption, use proper cryptographic tools.
Common Errors and Solutions
Error: Invalid Base64 string
The input contains characters not valid in Base64. Make sure you're decoding actual Base64-encoded text. Base64 only uses A-Z, a-z, 0-9, +, /, and = for padding.
Error: Invalid characters for Base64 encoding
The input contains special Unicode characters. The tool handles this automatically using UTF-8 encoding, so this error is rare.
Output looks garbled
If decoding produces garbled text, the input might not be valid Base64. Try using Auto-Detect mode to let the tool determine the correct conversion.
Technical Details
Encoding Algorithm
Uses standard Base64 encoding with UTF-8 support via encodeURIComponent() for proper handling of special characters.
Decoding Algorithm
Uses standard Base64 decoding with UTF-8 support via decodeURIComponent() for proper handling of special characters.
Auto-Detection
Validates input against Base64 character set and structure. If valid Base64 is detected, the tool decodes it; otherwise, it encodes the input.
Browser Compatibility
Works in all modern browsers (Chrome, Firefox, Safari, Edge, Opera). The btoa() and atob() functions are supported in all browsers released after 2012.
Frequently Asked Questions
Is Base64 secure?
No, Base64 is an encoding scheme, not encryption. It's easily reversible and provides no security. Use proper encryption for sensitive data.
Can I encode binary files?
This tool works with text files. For binary files, you need a specialized tool that can read binary data.
How large can files be?
The tool can handle 100,000+ characters efficiently. Very large files may take a moment to process.
Is my data stored anywhere?
We do not collect or store what you enter.
What's the difference between Base64 and Base32?
Base64 uses 64 characters (A-Z, a-z, 0-9, +, /), while Base32 uses 32 characters (A-Z, 2-7). Base32 is case-insensitive and used in authenticator apps.
Browser Compatibility
This tool works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera. The btoa() and atob() functions for Base64 are supported in all browsers released after 2012. All other features use standard JavaScript with universal support.
Related Tools
Base32 Encoder / Decoder
Encode and decode text using Base32 — used in 2FA secrets and legacy systems.
URL Encoder/Decoder
Convert special characters in URLs to %xx format.
JWT Debugger
Decode and inspect JSON Web Tokens instantly.
Text Encrypt/Decrypt
Simple ROT13 or Base64.
HTML Entity Encoder / Decoder
Encode/decode HTML entities with named, decimal, hex, and auto-detect modes.
Hash Generator
Generate MD5, SHA-1, SHA-256 hashes.
JSON to CSV
Flatten JSON objects into spreadsheet file.
XML to JSON
Translate XML data into modern JSON format.
JSON Formatter & Beautifier
Beautify or minify JSON, highlight syntax errors, and explore nested structure with tree view.
Mock Data Generator
Generate fake names, emails, phone numbers, addresses, and dates for testing and prototyping.
Cron Expression Generator
Build cron schedules visually with dropdowns and see human-readable description instantly.
User Agent Parser
Detect and display current browser name, version, OS, device type from the User-Agent string.