Base64 Encode / Decode
UTF-8 safe Base64 encoding and decoding.
Your text is encoded and decoded entirely in your browser, so nothing you paste is uploaded to a server.
Need to inspect a token? Try the JWT Decoder.
About Base64 Encode / Decode
This Base64 encoder decoder converts text to Base64 and decodes Base64 back to readable text, all processed locally in your browser. Encoding is UTF-8 safe, so emoji, accents, and any Unicode characters round-trip correctly without corruption. The decoder is forgiving: it accepts the URL-safe alphabet (using - and _), tolerates missing padding, and strips stray whitespace before it decodes Base64 to text. It is built for developers, QA engineers, and anyone working with APIs, JWTs, data URIs, or HTTP headers who needs a quick, reliable base64 converter to encode or decode on the fly. Switch between Encode and Decode modes with one click and copy the result. Because everything runs in your browser, nothing is uploaded to a server and there is no tracking.
Features
- UTF-8 safe encoding so emoji and accented characters round-trip correctly
- Decodes both standard and URL-safe Base64 (- and _ characters)
- Tolerates missing or extra padding when decoding
- Automatically strips whitespace and newlines from pasted input
- One-click switch between Encode and Decode modes
- Clear error messages when input is empty or not valid Base64
- Copy the encoded or decoded output with a single action
How to use the Base64 Encode / Decode
- Choose Encode mode to convert text to Base64, or Decode mode to convert Base64 back to text.
- Type or paste your text or Base64 string into the input box.
- Read the converted result instantly in the output area.
- Copy the output to use in your API call, header, or data URI.
Example
Input
Hello, ArrayKit!
Output
SGVsbG8sIEFycmF5S2l0IQ==
Encoding plain UTF-8 text to standard Base64.
Common errors & troubleshooting
- Decoding returns "Input is not valid Base64." — Remove any characters outside the Base64 alphabet (A-Z, a-z, 0-9, +, /, -, _) and try again; stray symbols or truncated data break decoding.
- Decoded text shows garbled characters or mojibake — The original data was likely not UTF-8 text, or only part of the Base64 string was copied. Paste the complete string to get a clean round-trip.
- A URL-safe token will not decode elsewhere — URL-safe Base64 uses - and _ and often drops padding. This tool decodes it, but if another system rejects it, convert - to + and _ to / and re-add = padding.
- Whitespace or line breaks in a pasted block seem to cause issues — No action needed here; the decoder strips whitespace and newlines automatically before decoding.
Frequently asked questions
- What is a Base64 encoder decoder?
- It is a tool that converts text and binary-safe strings to Base64 and back. ArrayKit's Base64 encoder decoder runs both directions in your browser, with UTF-8 safe handling of emoji and accents.
- How do I decode a Base64 string to text?
- Switch to Decode mode, paste your Base64 string into the input box, and the readable text appears instantly in the output area for you to copy.
- Does the ArrayKit Base64 tool support URL-safe Base64?
- Yes. Decoding accepts the - and _ characters used by the URL-safe alphabet and tolerates missing padding, so tokens from JWTs and URLs decode cleanly.
- Can the Base64 tool handle emoji and accented characters?
- Yes. Text is UTF-8 encoded before Base64, so any Unicode including emoji and accents round-trips correctly without corruption.
- Why does my Base64 string fail to decode?
- The input contains characters outside the Base64 alphabet, or part of the string is missing. Paste the full, unmodified string and remove any stray symbols.
- Is my data sent anywhere when I use the Base64 tool?
- No. All encoding and decoding happens locally in your browser, your data never leaves your device, and nothing is uploaded to a server.
Related tools
All ArrayKit tools