Paste any text and get the Base64 encoded version instantly. UTF-8 safe (handles emoji, non-Latin scripts, special characters). Optional URL-safe variant (uses - and _ instead of + and /) for use in URLs without further encoding. Includes a chunked view that wraps long output every 76 characters per MIME convention.
When to use this
Use when: encoding auth credentials for Basic Auth (Authorization: Basic base64('user:pass')), embedding binary data in JSON / XML, generating data URIs (data:text/plain;base64,...), preparing strings for JWT-style tokens, encoding email content for SMTP base64 transfer.
Frequently Asked Questions
What's the difference between standard and URL-safe Base64?
Standard Base64 uses A-Z, a-z, 0-9, +, /, = (66 chars). URL-safe Base64 (RFC 4648 §5) replaces + with - and / with _ to avoid percent-encoding when embedded in URLs. Functionally equivalent but the encoding/decoding library must match the variant.
Why does encoded output have == at the end?
Padding. Base64 encodes 3 bytes -> 4 characters. If the input isn't a multiple of 3 bytes, the output is padded with = to keep it 4-aligned. == means 1 byte of input was leftover; = means 2 bytes. Some implementations omit the padding (which is OK but non-standard).
Powered by Base64 Encoder / Decoder.