Base64 Encoder / Decoder

Encode text to Base64 or decode Base64 back to text. Supports full Unicode / emoji. Instant, browser-based.

Base64 Encoder / Decoder

Encode any UTF-8 text to Base64, or decode a Base64 string back to plain text. Supports emoji and international characters. Everything runs in your browser — your data never leaves your device.

InputPlain text to encode

0 chars

What is Base64?

Base64 is a binary-to-text encoding scheme defined in RFC 4648. It represents arbitrary binary data using only 65 printable ASCII characters — the 26 uppercase letters (A–Z), 26 lowercase letters (a–z), 10 digits (0–9), plus +, /, and the = padding character.

The name comes from the fact that each Base64 digit encodes exactly 6 bits of data (2⁶ = 64), meaning three bytes of input (24 bits) become four Base64 characters (24 bits). This produces an output that is approximately 33% larger than the original binary.

Base64 is not encryption. It is purely an encoding mechanism — anyone with the encoded string can trivially decode it. Use proper encryption (AES, RSA, etc.) when confidentiality is required.

Encoding example

Plain text

Hello, World!

Base64 encoded

SGVsbG8sIFdvcmxkIQ==

How to Encode / Decode Base64 Online

  1. 1

    Choose a mode

    Select "🔒 Encode" to convert plain text to Base64, or "🔓 Decode" to convert a Base64 string back to plain text. The input placeholder updates to guide you.

  2. 2

    Paste your text

    Type or paste your content into the Input panel. The tool supports the full UTF-8 character set including emoji, accented letters, Arabic, Chinese, and more.

  3. 3

    Click the action button

    Press "Encode to Base64" or "Decode from Base64". The result appears instantly in the Output panel below, with a character count.

  4. 4

    Copy, swap, or repeat

    Use "Copy" to copy the result to your clipboard. Use "Swap" to send the output back as input in the opposite mode — great for verifying round-trips.

Frequently Asked Questions

Is my data sent to your servers?

No. All encoding and decoding happens entirely in your browser using the built-in btoa() and atob() Web APIs. Your data never leaves your device.

Is Base64 the same as encryption?

No. Base64 is an encoding scheme, not encryption. It is fully reversible by anyone who has the encoded string. Never use Base64 to protect sensitive data — use proper encryption instead.

Why does Base64 output end with = or ==?

Base64 encodes 3 bytes into 4 characters. When the input length is not a multiple of 3, padding characters (=) are added to make the output length a multiple of 4. One = means 1 byte of padding; == means 2 bytes.

Does this tool support Unicode / emoji?

Yes. The encoder first converts your text to UTF-8 bytes using TextEncoder before applying Base64. The decoder uses TextDecoder to reconstruct the original UTF-8 string. This means emoji, accented characters, CJK ideographs, and all other Unicode code points are fully supported.

What is the size overhead of Base64?

Base64 output is always approximately 33% larger than the input. Specifically: every 3 input bytes become 4 Base64 characters, plus potential = padding.

Where is Base64 commonly used?

Base64 is used in: embedding images in CSS data URIs, HTTP Basic Authentication headers (user:pass encoded), JWT (JSON Web Token) payloads, MIME email attachments, encoding binary data in JSON or XML APIs, and embedding fonts in CSS.

Is this tool free?

Yes, completely free with no registration or sign-up required.

Frequently Asked Questions

Is my data sent to your servers?

No. All encoding and decoding happens entirely in your browser using the built-in btoa() and atob() Web APIs. Your data never leaves your device.

Is Base64 the same as encryption?

No. Base64 is an encoding scheme, not encryption. It is fully reversible by anyone who has the encoded string. Never use Base64 to protect sensitive data — use proper encryption instead.

Why does Base64 output end with = or ==?

Base64 encodes 3 bytes into 4 characters. When the input is not a multiple of 3 bytes, padding (=) is added to make the output length a multiple of 4.

Does this tool support Unicode and emoji?

Yes. The encoder converts text to UTF-8 bytes using TextEncoder before Base64. The decoder uses TextDecoder, fully supporting emoji, accented letters, and all Unicode code points.

What is the size overhead of Base64?

Base64 output is approximately 33% larger than the binary input. Every 3 bytes of input become 4 Base64 characters.

Where is Base64 commonly used?

Base64 is used in CSS data URIs, HTTP Basic Authentication headers, JWT payloads, MIME email attachments, and encoding binary data in JSON or XML APIs.