Base64 encoder and decoder

Encode local UTF-8 text or a file as Base64/Base64url, and decode to text or a file.

Input/decoded-file limit: 1 MiB; text output: 2 MiB. Base64 is not encryption; decoded text and URLs are never opened or executed. Standard Base64 requires proper padding; Base64url accepts padded or unpadded input. Whitespace is rejected. URI preserves reserved characters; component processes the complete value. + does not mean a space.

How to use

Choose the operation and text/file mode, then select Base64url if needed. Enter data or choose a local file and review the result. File decoding downloads a new copy without changing the original.

Try an example

Hello becomes SGVsbG8= in standard Base64, or unpadded SGVsbG8 in Base64url.

Support & limits

Based on RFC 4648: correct standard padding, zero pad bits and a single selected alphabet. Base64url accepts correctly padded or unpadded input and emits unpadded output. Encoding is not encryption; decoded content is untrusted and displayed only as text.

Common questions

Why can file decoding succeed while text decoding fails?

The bytes may be valid binary data but not UTF-8. Choose file decoding to save them unchanged; invalid text bytes are never replaced silently.

Related tools