Base64 Encode / Decode

Encode text to Base64 or decode Base64 back to readable text. Supports every language and emoji, plus the URL-safe variant.

Runs entirely in your browser — nothing you type is sent anywhere.

About the Base64 Encode / Decode tool

Base64 is a way of writing any data using only 64 safe characters: A–Z, a–z, 0–9, plus + and /. It is used wherever binary or special characters could get mangled — email attachments, HTTP Basic authentication headers, JSON Web Tokens, data URIs and many configuration files.

Many simple converters break on anything beyond plain English because the browser's built-in btoa function only handles Latin-1. kables.store converts your text to UTF-8 first, so Urdu, Arabic, Chinese, accented letters and emoji all encode and decode correctly. Tick URL-safe to use - and _ instead of + and / and drop the padding, as required by JWTs and URLs.

How to encode or decode Base64

  1. Type or paste your text (or Base64 string) into the Input box.
  2. Click Encode to convert text to Base64, or Decode to turn Base64 back into text.
  3. Tick URL-safe if the result is going into a URL or token.
  4. Copy the output, or use Swap to reverse the direction.

Why use kables.store Base64 Encode / Decode?

UTF-8 safe

Every language and emoji round-trips correctly.

URL-safe mode

Produces Base64url for JWTs, query strings and filenames.

Forgiving decoder

Accepts missing padding, line breaks and URL-safe input automatically.

Local only

Nothing you paste leaves your browser — safe for tokens and credentials.

When is it useful?

Decode the payload of a JSON Web Token to inspect its claims, build a Basic authentication header, read Base64 values in Kubernetes secrets or API responses, or encode text for systems that only accept ASCII. To encode an image file instead, use Image to Base64.

Frequently asked questions

Is Base64 encryption?

No. Base64 is an encoding, not encryption. Anyone can decode it, so never rely on it to hide passwords or secrets.

What is URL-safe Base64?

A variant that replaces “+” with “-” and “/” with “_” and removes “=” padding, so the result can be used safely in URLs and filenames.

Why does decoding show strange characters?

The input was probably binary data (such as an image or a compressed file) rather than text, or it was not valid Base64.

Is there a size limit?

No fixed limit. Several megabytes of text encode instantly in a modern browser.