Base64 Encoder/Decoder

Encode UTF-8 text as standard Base64 or decode Base64 back to readable text.

How to use it

Your input

Up to 256 KiB input. Standard alphabet and padding; decoded output must be UTF-8.

Processed locally in your browser. Inputs are not saved or uploaded.

Your result

Complete the fields, then use the button to see your result.

How to use it

  1. Choose encode for plain text or decode for a standard Base64 string.
  2. Paste up to 256 KiB of input. Decoding permits spaces, tabs and line breaks around Base64.
  3. Run the transformation, then copy or download the result.

Examples

Accented UTF-8 text

Input
Encode: caffè
Result
Y2FmZsOo — decoding returns caffè with the accent intact.

UTF-8 and standard Base64

Encoding converts Unicode text to UTF-8 bytes, then to the standard Base64 alphabet with padding. Decoding validates alphabet, padding and trailing bits before requiring valid UTF-8.

This text tool excludes Base64URL, data-URL prefixes and arbitrary binary files. For example, remove a data:text/plain;base64, prefix before decoding a text payload.

Encoding is not encryption

Anyone with a Base64 value can decode it; encoding adds no password protection. Do not treat a Base64 secret as anonymized data.

The 256 KiB limit applies to input bytes; encoded output can be about one third larger. No automatic storage, network conversion or external lookup is used.

Questions, answered.

Can I decode images or PDF files?

No. Decoded bytes must be valid UTF-8 text. Use a file-oriented utility for binary formats.

Why is a URL-safe value rejected?

This tool uses standard Base64 with +, / and required padding, rather than the Base64URL variant used in JWTs.

Is Base64 secure for passwords?

No. It is reversible encoding. The tool never uploads input, but the output is not encrypted.

Related tools

Percent-encode a URL component or decode it back to text, without visiting any address.

Decode a JWT header and payload locally and inspect its unverified time claims.

Validate, format or minify JSON locally while preserving original numeric values and key order.