Skip to content

Base64 String Encoder/Decoder

Encode plain text to Base64 or decode a Base64 string back to text, with full Unicode support.

Category: converter
Use Case: Embedding Text in JSON or URLs, Decoding API Tokens and Headers, Debugging Base64 Payloads
Privacy: 100% browser-based

Recommended Settings

Pro Tips

  • Base64 encoding uses proper UTF-8 byte handling, so emoji and non-Latin characters round-trip correctly, not just plain ASCII text
  • Use the swap button to instantly feed the current output back in as input and flip direction, handy for verifying a round-trip
  • Base64 makes text roughly 33% larger, since it represents every 3 bytes of input as 4 printable characters
  • This is standard Base64 with padding, compatible with most systems - for URL-safe Base64, replace + with - and / with _

Most Popular

Most developers use this to decode a Base64-encoded JWT payload segment or API token to inspect its contents

When to Use This Tool

Embedding Text in JSON or URLs

Encode text containing special characters safely for inclusion in a JSON field or URL.

Decoding API Tokens and Headers

Decode a Base64-encoded HTTP header or token segment to read its contents.

Debugging Base64 Payloads

Quickly check what a chunk of Base64 text actually decodes to during debugging.

Preparing Basic Auth Credentials

Encode a username:password pair for use in an HTTP Basic Authentication header.

How It Works

1

Convert your text to UTF-8 bytes, or your Base64 string back to raw bytes

2

Apply the browser's built-in Base64 encoding or decoding algorithm to those bytes

3

Convert the result back to a readable string using UTF-8 decoding

100% Private

Files never leave your device. All processing happens locally in your browser.

Lightning Fast

Powered by Client-side UTF-8 and Base64 encoding for optimal performance on modern browsers.

Open Source

Built with verified, open-source libraries. Fully transparent.

Frequently Asked Questions

Does this support Unicode characters like emoji?

Yes, text is converted to UTF-8 bytes before Base64 encoding, so emoji, accented letters, and non-Latin scripts all encode and decode correctly.

Why did decoding fail?

The input isn't valid Base64 - check for missing padding characters, stray whitespace, or characters outside the standard Base64 alphabet (A-Z, a-z, 0-9, +, /).

Is this the same as encryption?

No. Base64 is just a reversible encoding for representing binary data as text - it provides no security or confidentiality, since anyone can decode it instantly.

Is my text sent to a server?

No. All encoding and decoding happens locally in your browser.