Base64 Encoder / Decoder for Developers

Round-trip a string or a file between bytes and base64 without uploading either.

Tools for engineers who would rather not context-switch into yet another tab to validate a JWT or generate a UUID. Everything runs in your browser, your payloads never leave the machine, and the pages load fast enough that you can leave them open in a sidebar while you debug.

Open the Base64 Encoder / Decoder →

What it does for Web and API developers

How to use it

  1. Paste the text or drop the file in. Switch direction with one click if you picked the wrong mode.
  2. If you encoded a binary file, copy the base64 string and use it in your code, your CSS, or your database.
  3. If you decoded, the bytes come back as a download - save them and diff against the original to confirm.

Other tools Developers reach for

Common questions

Why is there base64 in a JSON API at all?

JSON has no binary type, so binary has to travel as text. Base64 is the conventional way to wrap a file, a signature or an encrypted blob so it survives a transport that only accepts printable characters - and it is an encoding for transport, not protection.

The decoder here accepts my string but the service I send it to rejects it. Why?

Alphabet and padding. URL-safe base64 swaps + and / for - and _, and keeps or drops the = padding depending on the implementation, while line breaks inserted by a mail client or a YAML formatter break a strict decoder. Check which variant the receiving end documents.

How much larger does the payload get?

About a third larger, because three bytes become four characters. That overhead is why large files travel as multipart bodies or signed URLs instead of embedded strings, and why the file mode here is aimed at small assets rather than a whole media library.