Base64 Encode / Decode
Encode text to Base64 or decode Base64 back to text (UTF-8 safe).
Base64 Encode / Decode — Convert any text to Base64 and back, fully UTF-8 safe — emoji and non-Latin scripts round-trip correctly. Everything runs in your browser, so the data you paste never leaves your device. Use the swap button to feed the output back in and convert in the other direction.
What is Base64 Encode / Decode?
A free online Base64 encoder and decoder that converts plain text to Base64 or decodes a Base64 string back to readable text, fully UTF-8 safe. Developers, students, and anyone working with data URIs, API tokens, JSON Web Tokens, HTTP basic auth headers, or config files use it to quickly encode and decode strings without writing code. Because the encoding is UTF-8 aware, emoji and non-Latin scripts (Korean, Japanese, Chinese, Arabic, accented Latin) round-trip correctly. Switch between Encode and Decode modes, use Swap to convert in the opposite direction, and copy the result with one click.
How to use Base64 Encode / Decode
- Choose a mode with the Encode / Decode toggle: pick Encode to turn text into Base64, or Decode to turn Base64 back into text.
- Type or paste your content into the input box (plain text in Encode mode, a Base64 string in Decode mode).
- Read the converted result instantly in the output box below, which updates as you type.
- Click the copy button on the output to copy the result to your clipboard.
- Use the Swap button to send the output back into the input and flip the mode, converting in the other direction.
- Click Clear to empty the input and start over.
Examples
Encode plain text
Input
Hello
Output
SGVsbG8=
Decode a Base64 string
Input
SGkh
Output
Hi!
UTF-8 / emoji round-trip
In Encode mode, non-Latin text and emoji (e.g. "안녕 👋") are encoded via UTF-8 first, so decoding the result returns the exact original characters without corruption.
Frequently asked questions
- Does it handle emoji and non-Latin characters like Korean or Japanese?
- Yes. Encoding and decoding are UTF-8 safe, so emoji and non-Latin scripts are converted correctly and round-trip back to the exact original text.
- Why do I see an "Invalid Base64 input" error?
- That message appears in Decode mode when the text you pasted is not valid Base64 (for example it contains illegal characters or wrong padding). Switch to Encode mode for plain text, or paste a correctly formatted Base64 string.
- Can I convert in both directions?
- Yes. Use the Encode / Decode toggle to pick a direction, or press the Swap button to feed the current output back into the input and flip the mode automatically.
- Is my data uploaded to a server?
- No. Everything runs entirely in your browser using built-in JavaScript encoding. The text you paste never leaves your device and is never sent to any server.
- Is there a size limit on the text I can convert?
- There is no fixed limit; conversion happens locally in your browser, so the only practical constraint is your device's available memory.
Related tools
Base32 / Base58 Encode / Decode
Encode text to Base32 (RFC 4648) or Base58 (the Bitcoin alphabet) and decode either one back to text, fully UTF-8 safe and entirely in your browser.
Case Converter & Counter
Change text case and count characters, words and lines.
Code Formatter & Minifier
Beautify or minify HTML, CSS and JavaScript instantly in your browser, with 2-space, 4-space or tab indentation and Terser-powered JavaScript compression.
Color Converter
Convert colors between HEX, RGB and HSL with a live preview.