Base64 Encode

Encode plain text to Base64 instantly in your browser. Handles Unicode text — accented characters, CJK, and emoji — correctly.

Input
OutputREADY

Unicode Safe

Correctly encodes multi-byte characters and emoji, not just ASCII.

Handles Large Text

Encodes strings up to 50MB without freezing the page.

Local Processing

Your data never leaves your browser. Privacy first encoding.

How to Encode Text to Base64

  1. Type or paste the text to encode — plain ASCII, accented characters, CJK text, and emoji are all handled correctly.
  2. Click Encode.
  3. The Base64 string appears in the output pane.
  4. Copy it into your header, data URI, config value, or wherever binary-safe text is required.

Example: Encoding Unicode Text Safely

Input — mixed-script text

Café ☕ meets 東京

Output — Base64

Q2Fmw6kg4piVIG1lZXRzIOadseS6rA==

The trailing == is padding that squares the output length to a multiple of four — it’s part of the encoding, keep it.

Why Unicode needs care in Base64

Base64 encodes bytes, not characters — so text must be converted to bytes first, and the choice of encoding matters. This tool encodes your text as UTF-8 before Base64-encoding, which is why é, ☕, and 東京 round-trip correctly. Naive JavaScript btoa() calls throw on exactly these characters, one of the most common Base64 bugs in the wild.

What Base64 is — and is not

Base64 is a transport encoding: it makes arbitrary data safe to embed in text-only channels like JSON strings, HTTP basic-auth headers, and data URIs, at the cost of roughly 33% size overhead. It is not encryption and offers zero secrecy — anyone can decode it instantly, so never treat Base64-encoded secrets as protected.

Frequently Asked Questions

Related Tools