FILEKILN

Base64 Encoder / Decoder

Encode text to Base64 or decode Base64 back to text, with correct UTF-8 handling for emoji and non-Latin scripts. Runs in your browser.

base64 ⇄ text
Local execution · no network egress

Private by construction. The conversion happens in this page's JavaScript. Nothing you paste here leaves your machine, and the tool keeps working with the network unplugged.

Plain btoa() in a browser corrupts anything outside Latin-1, which is why many online encoders mangle emoji and accented characters. This tool encodes through UTF-8 bytes first, so any text round-trips correctly. Decoding is strict: invalid Base64 or bytes that are not valid UTF-8 raise an error instead of producing garbage.

Questions this tool gets asked

Why do other tools garble emoji and accents?

They call the browser's btoa() directly, which only accepts Latin-1. This tool converts text to UTF-8 bytes before encoding, so every Unicode character survives the round trip.

Is Base64 encryption?

No. Base64 is an encoding, not encryption; anyone can decode it. Use it for transport and embedding, never for secrecy.

Whitespace in my Base64 input breaks other decoders. Here?

Whitespace and line breaks are stripped before decoding, so Base64 copied from emails or PEM-style blocks decodes fine.