Base64 Encode / Decode
Cmd/Ctrl+Enter saves this input to history.
Advertisement
Encode text to Base64 or decode Base64 back to text, instantly. Unlike a naive btoa() call, this handles full Unicode input — emoji, accented characters, anything outside plain ASCII — by encoding to UTF-8 bytes first, so round-tripping never corrupts multi-byte characters.
Frequently asked questions
- Is this Base64 tool free to use?
- Yes. It runs entirely in your browser — no signup, no data sent to a server.
- Does it handle emoji and accented characters, or just plain ASCII?
- Full Unicode. The browser's native btoa()/atob() only handle Latin1 and throw on anything outside that range, so encoding here routes through TextEncoder/TextDecoder first — that's what makes emoji, accented letters, and other multi-byte characters round-trip correctly.
- Why does decoding fail with an error?
- The input has to be valid Base64 — the right alphabet (A-Z, a-z, 0-9, +, /) and correct padding. Base64 copied with line breaks, URL-safe variants (using - and _ instead of + and /), or truncated text will fail to decode.
- Is my data uploaded anywhere?
- No. Encoding and decoding happen locally in your browser tab — nothing is sent to a server.
Read the full guide for this tool →
Related tools & guides
Part of Encoding & Decoding Tools
Tools
Guides
- Base64 Encoding Explained (and Where It Silently Breaks)
- Converting Between camelCase, snake_case, and kebab-case: Where Word-Splitting Goes Wrong
- HEX, RGB, and HSL: Converting Between Color Formats
- MD5 vs SHA-256: Which Hash Should You Actually Use
- encodeURIComponent vs encodeURI: Which Characters Get Percent-Encoded
- URL Parsing and Query String Encoding — What the Browser's URL API Does for You
- Base64 vs Base64URL
- URL Slugs: Diacritics, Unicode, and What Gets Stripped
- UUID v4 vs v7
Advertisement