Base64 Encoder / Decoder
Encode and decode Base64 in the browser.
Loading…
About Base64 Encoder / Decoder
Basic auth headers and config values lean on Base64, and the usual stumbling block is anything beyond plain ASCII. This page converts your text to UTF-8 bytes before encoding, so accented letters and emoji round-trip correctly. Switch to Decode and it accepts the standard alphabet as well as the URL-safe one, with or without padding, and ignores spaces and line breaks in the pasted string. The output updates as you type.
Features
- Text converted to UTF-8 bytes before encoding
- URL-safe option using - and _ without padding
- Decoder accepts standard and URL-safe alphabets, padding optional
- Whitespace and line breaks in pasted Base64 are ignored
- One-click swap of the output back into the input
- Clear message when decoded bytes are not UTF-8 text
Limitations
- Text only: there is no file or image upload, and Base64 whose bytes are not valid UTF-8 text is rejected with an explanation.
- Input is capped at 200,000 characters.
- Downloading the result needs a free account; copying it does not.
How it works
- Pick Encode or Decode with the toggle at the top.
- Tick URL-safe Base64 if the result must use - and _ with no padding; the option appears in Encode mode only.
- Paste your text, or the Base64 string, into the input box.
- Read the result in the Output panel, which updates shortly after you stop typing.
- Use Copy output or Download, or choose Use output as input to flip direction and check the round trip.
Example input
Hello, Auro Tools! 👋Frequently asked questions
- Switch to Decode and paste it as it is. The decoder turns - and _ back into + and /, adds any missing = padding and drops spaces and line breaks, so a token segment and a standard string both work.
- The string is valid Base64, but what it holds is binary, such as an image or compressed data, not text. This page can only turn the bytes into readable characters, so it refuses rather than show garbage.
- Base64 writes every three bytes as four characters, so the output grows by about a third before any extra bytes for non-ASCII characters, which take several bytes each in UTF-8. Padding with = rounds the length up to a multiple of four.
- No. Encoding and decoding use your browser's own functions on the page, and nothing is transmitted. Base64 is not encryption either, so anyone who sees the output can decode it.
