Base64 Encoder / Decoder
Encode UTF-8 text to Base64 or decode Base64 locally, including the URL-safe variant.
This tool handles input and primary processing in your browser and is designed not to send the input to QuickKit’s server.
Avoid live production secrets; use dummy or masked data where possible. Data handling details
How it works
Base64 (RFC 4648 section 4) turns bytes into 64 printable ASCII characters so that they can pass through places that only accept text, such as JSON, HTTP headers, or email. It is an encoding, not encryption: anyone can decode it, so it hides nothing.
Encode converts the text to UTF-8 bytes and then to Base64 with = padding, on a single line. For example, ab?> becomes YWI/Pg==. With URL-safe Base64 (base64url, RFC 4648 section 5), + and / become - and _ and the padding is omitted, so the same input becomes YWI_Pg. Use that form in URL parameters, file names, and JWT segments.
Decode ignores spaces, tabs, and line breaks, so line-wrapped Base64 such as a MIME body can be pasted as is. Padding may be omitted, but padding that is present must be complete and only at the end, and a length that leaves a single character over is rejected. Turn on URL-safe Base64 to decode text that uses - and _.
The decoded bytes must be valid UTF-8 text, because this tool shows text only. Binary data such as an image or a key gives an error instead of garbled text; to see its bytes, put data:;base64, in front of it and open it in the Data URI Decoder.