Base64 Encode / Decode

Encode text to Base64 or decode Base64 back to text (UTF-8 safe).

Loading tool…

Base64 Encode / DecodeConvert 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

  1. Choose a mode with the Encode / Decode toggle: pick Encode to turn text into Base64, or Decode to turn Base64 back into text.
  2. Type or paste your content into the input box (plain text in Encode mode, a Base64 string in Decode mode).
  3. Read the converted result instantly in the output box below, which updates as you type.
  4. Click the copy button on the output to copy the result to your clipboard.
  5. Use the Swap button to send the output back into the input and flip the mode, converting in the other direction.
  6. 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