Tools
Base64 encoder & decoder
Convert text to Base64 and back, right in your browser. It is UTF-8 safe: emoji, accents, and non-Latin scripts round-trip correctly, unlike a bare btoa() call. Flip on URL-safe mode for tokens and query strings, and copy the result in one click. Nothing you type is ever uploaded.
Text → Base64Runs entirely in your browser. Nothing is uploaded.
About Base64 encoding
Base64 represents binary data using 64 printable ASCII characters, so it can travel safely through channels that expect text: data URIs, JSON payloads, JWTs, email, and HTTP headers. Every three bytes become four characters, which is why encoded output is roughly a third larger than the source. Base64 is an encoding, not encryption: it hides nothing, so never treat it as a way to protect secrets.
Frequently asked questions
- Is my data uploaded anywhere?
- No. Every conversion runs locally in your browser using the native TextEncoder, btoa, and atob APIs. Nothing is sent to a server, so it is safe for tokens, config values, and other sensitive strings.
- Does it handle emoji and non-English text?
- Yes. Naive btoa() throws on characters outside Latin-1. This tool encodes the text to UTF-8 bytes first, so emoji, accents, and CJK characters round-trip correctly in both directions.
- What is URL-safe Base64?
- URL-safe Base64 replaces the "+" and "/" characters with "-" and "_" and strips the "=" padding, so the result can be dropped into a URL or filename without escaping. Toggle URL-safe on to produce or read that variant.
- Why does decoding show "Invalid Base64"?
- The input contains characters outside the Base64 alphabet, has a length that cannot be valid, or decodes to bytes that are not valid UTF-8. Remove stray characters or check that you copied the whole string.

