Input
Result
Encoded Base64 will appear here
Supports UTF-8, multi-byte characters, and large text
Session History
Instant Processing
Real-time encoding and decoding as you type. Web Worker for large files.
100% Private
All processing happens in your browser. No data is ever sent to a server.
Smart History
Session history with one-click restore. Auto-detects Base64 input.
What Is Base64 Encoder / Decoder?
Base64 is a binary-to-text encoding scheme that represents binary data as an ASCII string. ToolRunner's Base64 Encoder / Decoder converts text and files to and from Base64 format instantly in your browser — no data ever leaves your device.
Related Tools
Key Features
- Real-time encoding and decoding as you type with debounced updates
- Multi-byte character support (UTF-8) — correctly handles Korean, Japanese, Chinese, emoji, and other Unicode text
- File-to-Base64 conversion with drag-and-drop upload (up to 50MB)
- Base64-to-File decoding with preview and download
- Data URI generation for embedding images and files in HTML/CSS
- Smart auto-detection of Base64 input with one-click mode switching
- Session history with restore and storage usage tracking
- Web Worker processing for large inputs (10MB+) to keep the UI responsive
How to Use
For text: Type or paste your text and the Base64 result appears instantly. Click DECODE to convert Base64 back to text. Use the Swap button to exchange input and output. For files: Switch to the File Converter tab, drag-and-drop or select a file to get its Data URI. To decode, paste a Base64 string or Data URI and click Decode to File.
Why Use a Browser-Based Base64 Tool?
Base64-encoded data often contains sensitive content such as API tokens, images, certificates, or configuration payloads. Online tools that send your data to a server expose this information to third parties. ToolRunner processes everything client-side with JavaScript, so your data never leaves your machine. It also works offline after the first page load.
Common Use Cases
- Encoding images to Data URIs for inline embedding in HTML or CSS
- Decoding Base64-encoded API responses or JWT payloads
- Preparing binary data for JSON or XML transport
- Converting files to Base64 for email attachments (MIME encoding)
- Debugging encoded configuration values in environment variables
- Encoding multi-byte text (Korean, Chinese, Japanese) for safe ASCII transport
Frequently Asked Questions
- What is Base64 encoding?
- Base64 is an encoding scheme that converts binary data into a set of 64 ASCII characters (A-Z, a-z, 0-9, +, /). It is commonly used to embed binary data in text-based formats like JSON, XML, HTML, and email (MIME). The encoded output is roughly 33% larger than the original binary data.
- How are multi-byte characters (Korean, emoji) handled?
- Text is first converted to its UTF-8 byte sequence using the TextEncoder API, then each byte is Base64-encoded. This ensures that all Unicode characters — including Korean, Chinese, Japanese, and emoji — are correctly preserved during round-trip encoding and decoding.
- Is my data sent to any server?
- No. All encoding and decoding happens entirely in your browser using JavaScript. Your data never leaves your device.
- What is the maximum file size supported?
- The File Converter supports files up to 50MB. For text input larger than 10MB, processing is offloaded to a Web Worker to keep the UI responsive.
- What is a Data URI?
- A Data URI is a scheme that allows you to embed file data directly in a URL string, formatted as data:[mediatype];base64,[data]. It is commonly used to inline small images in HTML or CSS without requiring a separate HTTP request.