Base64 is an encoding scheme that converts binary data into ASCII text using 64 printable characters. It is commonly used to embed binary data in JSON, HTML, or email.
No. Base64 is encoding, not encryption. Encoded data can be trivially decoded by anyone. Do not use it to protect sensitive information.
Base64 works in groups of 3 bytes. If the input length is not a multiple of 3, '=' padding characters are added to fill the last group.
Base64-encoded data is approximately 33% larger than the original. For example, 3 bytes of input becomes 4 Base64 characters.
No. Base64 is a reversible encoding scheme, not encryption. Anyone can decode Base64 without a key. Never use Base64 to protect sensitive data — use proper encryption algorithms like AES instead.
Base64URL is a URL-safe variant that replaces '+' with '-' and '/' with '_', and omits the '=' padding. It is used in JWTs and other web contexts where standard Base64 characters would conflict with URL syntax.
This tool handles text input. To encode a binary file, you would need to paste its text representation. For binary files, use a command-line tool: in Linux/macOS run 'base64 filename.bin', or use a dedicated file encoder.
Base64 encoding converts binary data into a safe ASCII text format that can travel through systems that only handle text — like email, JSON APIs, and HTML attributes. It is not encryption; the encoded data is fully reversible by anyone.
Choose encode or decode mode
Use 'Encode' to convert plain text or binary data into a Base64 string. Use 'Decode' to convert a Base64 string back to its original form.
Paste your input
For encoding: paste plain text or copy-paste file contents. For decoding: paste a Base64 string (it may end in = or == padding characters).
Copy the output
The result appears instantly. Use the copy button to grab the full encoded or decoded string.
Handle Unicode text
This tool correctly handles Unicode and emoji. The encoder uses UTF-8 byte encoding before Base64 conversion, matching the standard used by most programming languages.
Embed images in HTML or CSS
Convert small images (icons, logos) to Base64 and embed them directly in your HTML as data URLs (data:image/png;base64,...). This eliminates an extra HTTP request for small assets.
Decode JWT payloads
The middle section of a JWT token is Base64URL-encoded. Paste it here (after replacing - with + and _ with /) to read the raw JSON payload without a dedicated JWT tool.
Pass binary data through JSON APIs
JSON does not support binary data. When your API needs to transmit images, PDFs, or other binary content, Base64-encode the data and include it as a string field in your JSON payload.
Base64 is an encoding scheme that converts binary data into a subset of printable ASCII characters, making it safe to transmit over text-based protocols like HTTP headers, JSON, and email. It is not encryption — Base64 is fully reversible without a key. The encoding expands data by roughly 33%: every 3 bytes of input produce 4 characters of output, using an alphabet of A–Z, a–z, 0–9, +, and /.
Common applications include encoding binary file attachments in email (MIME), embedding images and fonts as data URIs in CSS and HTML, transmitting binary API payloads in JSON, and encoding JWTs (which use URL-safe Base64 with - and _ replacing + and /). This tool supports both standard Base64 and URL-safe Base64 variants, and handles unicode text correctly by encoding it as UTF-8 bytes first.