Base64 Encoder — Encode Text and Files to Base64 Online

Type or paste text and see the Base64-encoded output in real time. Full UTF-8 support means emoji, CJK characters, and accented text all encode correctly — unlike tools that only handle ASCII.

Why Encode to Base64?

Base64 encoding converts binary data into a text-safe format using 64 ASCII characters. Developers use it to embed images as data URIs in HTML and CSS, encode credentials for HTTP Basic Authentication headers, prepare binary payloads for JSON APIs, and encode file attachments for email (MIME). Any time binary data needs to travel through a text-only channel, Base64 is the standard solution.

UTF-8 Encoding Explained

JavaScript's native btoa() function only accepts Latin-1 characters (code points 0-255). Try encoding an emoji or Chinese character and it throws an error. This tool first converts your text to UTF-8 bytes using TextEncoder, then Base64-encodes those bytes. The result correctly round-trips through TextDecoder on the other end, preserving every character.

Standard vs. URL-Safe Base64

Standard Base64 uses +, /, and = characters that have special meaning in URLs and filenames. URL-safe Base64 (also called Base64url, defined in RFC 4648) replaces + with -, / with _, and removes padding. Toggle the "URL-safe" option when encoding data for URLs, query parameters, JWT tokens, or filenames.

Start typing below — the encoder is already active.

Plain Text0 B
Base64 Output
Base64 output will appear here...