Base64 Encoder

Runs in your browser

Encode text or files to Base64.

This tool runs entirely in your browser. Your data never leaves your device — nothing is uploaded to our servers.

About Base64 Encoder

Base64 is an encoding, not encryption — a point worth stating plainly, because it is routinely misused as though it hid something. It exists to carry binary data through channels that only reliably survive text, such as email bodies, JSON string fields and data: URLs. The trade-off is size: output is roughly 33% larger than the input, since every three bytes become four characters. Encoding happens in your browser.

When to use Base64 Encoder

Embedding a small image in CSS or HTML

A data: URL removes one HTTP request. Worth it for small icons; counterproductive for large images, which then can't be cached separately.

Putting binary data in a JSON field

JSON has no binary type, so file contents are conventionally Base64-encoded into a string field.

Reading a Basic Auth header

Authorization: Basic headers are Base64 of user:password. Decoding one while debugging shows exactly which credentials are being sent.

Limitations worth knowing

  • Base64 provides no security whatsoever. Anyone can decode it instantly — never use it to protect a password or key.
  • Output is about 33% larger than the input, so it's a poor choice for large payloads.
  • This tool encodes text, treating input as UTF-8. Arbitrary binary files need the file-oriented encoder.
  • Standard Base64 includes + and / characters, which must be URL-encoded before use in a query string, or you need the URL-safe variant.

How to base64 encoder

  1. 1

    Paste or type the text you want to encode.

  2. 2

    The Base64 output is produced as you type.

  3. 3

    Copy the result to your clipboard.

  4. 4

    To go the other way, use the Base64 decoder.

Frequently asked questions

Is Base64 a form of encryption?+

No, and this is the most consequential misunderstanding about it. Base64 is a reversible encoding with no key and no secret — anyone who sees the string can decode it in seconds. It makes data transport-safe, not private. To protect data you need actual encryption.

Why is my encoded string bigger than the original?+

Because Base64 represents every three bytes using four ASCII characters, which is an unavoidable ~33% increase, plus padding. That's the cost of making binary data survive text-only channels, and it's why Base64 is a poor fit for large files.

Why does my Base64 break when I put it in a URL?+

Standard Base64 uses + and / and = , all of which have reserved meanings in URLs. Either percent-encode the string or use URL-safe Base64, which substitutes - and _ and drops the padding.

Related developer tools