Base64 & Base64URL UTF-8 Converter
Encode and decode plain text or JSON payloads to Base64 and URL-safe Base64URL. Built with full UTF-8 Unicode support to prevent character corruption on multilingual inputs.
Base64 & Base64URL UTF-8 Converter
Encode and decode arbitrary text and JSON with RFC 7515 URL-safe support
How to Encode and Decode Base64 & Base64URL
1. Select Mode (Encode or Decode)
Choose whether you want to convert raw text into Base64 or decode Base64 strings into readable text.
2. Select Encoding Variant (Standard vs. URL-Safe)
Select Standard Base64 (RFC 4648 with "+" and "/") or URL-Safe Base64URL (RFC 7515 with "-" and "_").
3. Copy Converted Output
Click Copy to capture the converted result ready for HTTP headers, API query parameters, or JWT assembly.
RFC 4648 vs. RFC 7515 Standards & Multibyte UTF-8
Base64 takes binary data and translates it into a 64-character ASCII alphabet (A-Z, a-z, 0-9, and two symbols). Standard Base64 uses "+" and "/" and pads with "=". Base64URL (RFC 7515) replaces "+" with "-" and "/" with "_", and omits padding so the string can be safely embedded in URLs and HTTP headers without percent-encoding.
| Specification / Parameter | Standard & Enforced Value |
|---|---|
| Standard Base64 | RFC 4648 (contains +, /, and = padding) |
| URL-Safe Base64URL | RFC 7515 (contains -, _, and no padding) |
| Character Expansion | Expands data size by approximately 33% (4 chars per 3 bytes) |
| Unicode Support | Native UTF-8 TextEncoder/TextDecoder (supports emojis and Arabic) |
Security Boundary: Encoding is NOT Encryption
Base64 is a data serialization format, not an encryption scheme. It provides zero confidentiality. Anyone who receives a Base64 string can decode it instantly without a key. Never use Base64 alone to protect sensitive passwords, API keys, or personal identifying information.
Frequently Asked Questions: Base64 & Base64URL
Why does JWT require Base64URL instead of standard Base64?
Because standard Base64 contains "+" and "/" characters that have special syntactic meaning in HTTP query strings and URLs. Base64URL eliminates URL conflicts.
Why do other converters corrupt accented letters or Arabic text?
Older JavaScript tools use window.btoa() directly on 16-bit strings, which throws an error or corrupts multi-byte UTF-8 sequences. Our tool uses standard TextEncoder/TextDecoder.
What is the purpose of the "=" padding character?
Base64 groups 3 bytes into 4 characters. If the input byte length is not a multiple of 3, "=" characters indicate padding bytes at the end.
Does Base64 increase file or string size?
Yes. Base64 increases data size by approximately 33%, because 3 bytes (24 bits) are represented by 4 ASCII characters (32 bits).