Documentation
How to use this tool, practical use cases, and technical notes.
The Base64 Encoder/Decoder is designed for speed — most operations complete in under 2 seconds. Here is a detailed walkthrough of every feature and mode available in the tool.
Core Workflow: Encoding Text to Base64
Step 1 — Select the "Encode to Base64" tab The tool opens in Encode mode by default. If you are on the Decode tab, click "Encode to Base64" to switch.
Step 2 — Enter your text Click the "Plain text input" area and type or paste the text you want to encode. The tool accepts any length of text; for very large inputs, consider using Batch mode (see below).
Step 3 — Select the correct charset The default charset is "Auto" (auto-detect). For most modern content, UTF-8 is correct. Use the charset dropdown to select a specific encoding if you know the source encoding. Using the wrong charset will produce valid Base64, but decoding it later with a different charset will produce garbled text.
Step 4 — Choose a Base64 variant Select Standard, URL-Safe, or MIME from the Variant selector:
If you are encoding for... | Use this variant |
|---|---|
General use, copy-paste, certificates | Standard |
A URL parameter, JWT, filename, or web API | URL-Safe |
Email body or MIME attachment encoding | MIME |
Step 5 — Click "Encode" The Base64 output appears in the right panel. Click the copy icon to copy it to your clipboard.
Core Workflow: Decoding Base64 to Text
Step 1 — Select the "Decode from Base64" tab
Step 2 — Paste your Base64 string Paste the Base64-encoded string into the input area. The tool validates the input format before decoding. Common signs of invalid Base64: incorrect padding (wrong number of = characters), characters outside the Base64 alphabet, or corrupted whitespace.
Step 3 — Select the charset the original text was encoded with This is critical for non-ASCII content. If you are decoding a string that originally contained Japanese, Russian, or Arabic text, you must select the correct source charset (e.g., Shift_JIS, KOI8-R, ISO-8859-6) or the decoded output will appear as garbled characters (mojibake).
Step 4 — Click "Decode" The decoded output appears. If decoding fails, the tool will display a validation error indicating whether the issue is an invalid character, incorrect padding, or an unsupported variant.
Feature: Live Mode
When Live Mode is enabled, the tool encodes or decodes your input in real time as you type — without requiring you to click the Encode/Decode button. This is ideal for interactive exploration, debugging, and learning how Base64 transforms input character by character.
Live Mode On | Live Mode Off |
|---|---|
Results update instantly as you type | Results update only on button click |
Best for short inputs (< 10 KB) | Better for large inputs to avoid lag |
Useful for learning and debugging | Useful for batch or file processing |
Feature: Each Line Separately
When the "Each line separately" toggle is enabled, the tool treats each line of your input as an independent encoding/decoding unit, processing them one by one and outputting a corresponding line in the result.
Example — Encoding a list of API keys separately:
Input (3 lines): Output (3 Base64 lines):
api_key_prod_abc123 YXBpX2tleV9wcm9kX2FiYzEyMw==
api_key_stage_def456 YXBpX2tleV9zdGFnZV9kZWY0NTY=
api_key_test_ghi789 YXBpX2tleV90ZXN0X2doaTc4OQ==This is especially useful for bulk processing credential lists, token arrays, or CTF challenge sets.
Feature: Auto-Detect Operation
When "Auto-detect op" is enabled, the tool automatically determines whether your input should be encoded or decoded based on its content:
Input Content | Auto-detected Operation |
|---|---|
Plain readable text (e.g., "Hello World") | Encode to Base64 |
Valid Base64 string (e.g., | Decode from Base64 |
Ambiguous input | Falls back to the selected tab operation |
Feature: Batch Mode
Batch mode is designed for processing multiple independent inputs in a single operation. Instead of encoding/decoding one string at a time, you can submit a structured list and receive a corresponding list of outputs. This is ideal for developers processing arrays of values, security researchers working through lists of encoded payloads, or sysadmins handling bulk credential transformations.
Feature: File Upload (Up to 100 MB)
The tool supports encoding any file to Base64 — not just text. Drag and drop a file onto the upload area, or click to browse.
File Type | Common Use Case |
|---|---|
Images (PNG, JPEG, GIF, WebP) | Embedding images in HTML/CSS as data URIs |
PDF documents | Embedding documents in email or API payloads |
Binary executables | Encoding payloads for analysis or transfer |
Certificates (.pem, .crt, .der) | Converting DER binary certs to PEM format |
JSON / XML configuration files | Encoding configs for environment variable injection |
Any binary file | Transferring over channels that only support ASCII |
Maximum file size: 100 MB. Files larger than this should be split before encoding, or encoded using command-line tools (see Technical Details section for CLI equivalents).
Important: Encoding a 100 MB file produces approximately a 133 MB Base64 string. Ensure your target system can handle this size before encoding large files.
Feature: Visual Map
The Visual Map provides a character-by-character visualization of how your input text maps to Base64 characters. Each input byte is shown alongside the Base64 characters it produces, with the 6-bit groupings highlighted. This is an exceptional learning aid for understanding the mechanics of Base64 at a bitwise level — ideal for students, CTF players, and developers building encoding pipelines.
Feature: Frequency Analysis
The Frequency view displays the distribution of Base64 characters in your encoded output, showing which characters appear most often. While Base64 frequency analysis is less meaningful than analyzing raw binary or ciphertext, this feature has specific uses:
Use Case | How Frequency Analysis Helps |
|---|---|
Detecting encoding anomalies | Unusual character distributions may indicate a non-standard variant or partial corruption |
CTF challenge analysis | Some challenges use frequency hints to validate correct decoding |
MIME boundary detection | Identifying where Base64 padding clusters in multi-part email content |
Feature: Results History
Every encode/decode operation is logged in the Results History panel within your current browser session. Click any historical result to reload it into the tool. History is cleared when you close or refresh the tab — nothing is stored persistently.
Quick Examples Reference
Input Text | Base64 Output (Standard, UTF-8) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
The Base64 Encoder/Decoder is designed for speed — most operations complete in under 2 seconds. Here is a detailed walkthrough of every feature and mode available in the tool.
Core Workflow: Encoding Text to Base64
Step 1 — Select the "Encode to Base64" tab The tool opens in Encode mode by default. If you are on the Decode tab, click "Encode to Base64" to switch.
Step 2 — Enter your text Click the "Plain text input" area and type or paste the text you want to encode. The tool accepts any length of text; for very large inputs, consider using Batch mode (see below).
Step 3 — Select the correct charset The default charset is "Auto" (auto-detect). For most modern content, UTF-8 is correct. Use the charset dropdown to select a specific encoding if you know the source encoding. Using the wrong charset will produce valid Base64, but decoding it later with a different charset will produce garbled text.
Step 4 — Choose a Base64 variant Select Standard, URL-Safe, or MIME from the Variant selector:
If you are encoding for... | Use this variant |
|---|---|
General use, copy-paste, certificates | Standard |
A URL parameter, JWT, filename, or web API | URL-Safe |
Email body or MIME attachment encoding | MIME |
Step 5 — Click "Encode" The Base64 output appears in the right panel. Click the copy icon to copy it to your clipboard.
Core Workflow: Decoding Base64 to Text
Step 1 — Select the "Decode from Base64" tab
Step 2 — Paste your Base64 string Paste the Base64-encoded string into the input area. The tool validates the input format before decoding. Common signs of invalid Base64: incorrect padding (wrong number of = characters), characters outside the Base64 alphabet, or corrupted whitespace.
Step 3 — Select the charset the original text was encoded with This is critical for non-ASCII content. If you are decoding a string that originally contained Japanese, Russian, or Arabic text, you must select the correct source charset (e.g., Shift_JIS, KOI8-R, ISO-8859-6) or the decoded output will appear as garbled characters (mojibake).
Step 4 — Click "Decode" The decoded output appears. If decoding fails, the tool will display a validation error indicating whether the issue is an invalid character, incorrect padding, or an unsupported variant.
Feature: Live Mode
When Live Mode is enabled, the tool encodes or decodes your input in real time as you type — without requiring you to click the Encode/Decode button. This is ideal for interactive exploration, debugging, and learning how Base64 transforms input character by character.
Live Mode On | Live Mode Off |
|---|---|
Results update instantly as you type | Results update only on button click |
Best for short inputs (< 10 KB) | Better for large inputs to avoid lag |
Useful for learning and debugging | Useful for batch or file processing |
Feature: Each Line Separately
When the "Each line separately" toggle is enabled, the tool treats each line of your input as an independent encoding/decoding unit, processing them one by one and outputting a corresponding line in the result.
Example — Encoding a list of API keys separately:
Input (3 lines): Output (3 Base64 lines):
api_key_prod_abc123 YXBpX2tleV9wcm9kX2FiYzEyMw==
api_key_stage_def456 YXBpX2tleV9zdGFnZV9kZWY0NTY=
api_key_test_ghi789 YXBpX2tleV90ZXN0X2doaTc4OQ==This is especially useful for bulk processing credential lists, token arrays, or CTF challenge sets.
Feature: Auto-Detect Operation
When "Auto-detect op" is enabled, the tool automatically determines whether your input should be encoded or decoded based on its content:
Input Content | Auto-detected Operation |
|---|---|
Plain readable text (e.g., "Hello World") | Encode to Base64 |
Valid Base64 string (e.g., | Decode from Base64 |
Ambiguous input | Falls back to the selected tab operation |
Feature: Batch Mode
Batch mode is designed for processing multiple independent inputs in a single operation. Instead of encoding/decoding one string at a time, you can submit a structured list and receive a corresponding list of outputs. This is ideal for developers processing arrays of values, security researchers working through lists of encoded payloads, or sysadmins handling bulk credential transformations.
Feature: File Upload (Up to 100 MB)
The tool supports encoding any file to Base64 — not just text. Drag and drop a file onto the upload area, or click to browse.
File Type | Common Use Case |
|---|---|
Images (PNG, JPEG, GIF, WebP) | Embedding images in HTML/CSS as data URIs |
PDF documents | Embedding documents in email or API payloads |
Binary executables | Encoding payloads for analysis or transfer |
Certificates (.pem, .crt, .der) | Converting DER binary certs to PEM format |
JSON / XML configuration files | Encoding configs for environment variable injection |
Any binary file | Transferring over channels that only support ASCII |
Maximum file size: 100 MB. Files larger than this should be split before encoding, or encoded using command-line tools (see Technical Details section for CLI equivalents).
Important: Encoding a 100 MB file produces approximately a 133 MB Base64 string. Ensure your target system can handle this size before encoding large files.
Feature: Visual Map
The Visual Map provides a character-by-character visualization of how your input text maps to Base64 characters. Each input byte is shown alongside the Base64 characters it produces, with the 6-bit groupings highlighted. This is an exceptional learning aid for understanding the mechanics of Base64 at a bitwise level — ideal for students, CTF players, and developers building encoding pipelines.
Feature: Frequency Analysis
The Frequency view displays the distribution of Base64 characters in your encoded output, showing which characters appear most often. While Base64 frequency analysis is less meaningful than analyzing raw binary or ciphertext, this feature has specific uses:
Use Case | How Frequency Analysis Helps |
|---|---|
Detecting encoding anomalies | Unusual character distributions may indicate a non-standard variant or partial corruption |
CTF challenge analysis | Some challenges use frequency hints to validate correct decoding |
MIME boundary detection | Identifying where Base64 padding clusters in multi-part email content |
Feature: Results History
Every encode/decode operation is logged in the Results History panel within your current browser session. Click any historical result to reload it into the tool. History is cleared when you close or refresh the tab — nothing is stored persistently.
Quick Examples Reference
Input Text | Base64 Output (Standard, UTF-8) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|