Base64
Encode and decode Base64, including the URL-safe alphabet, with proper UTF-8 handling.
Hex dump — the decoded bytes are not valid UTF-8 text
Notes
Base64 maps every three bytes onto four ASCII characters, which is why encoded output is roughly a third larger than its input. It is an encoding, not encryption — anything encoded here is trivially readable by anyone who has the string.
Two details trip people up. The first is the alphabet: URL-safe Base64 replaces + and
/ with - and _ so the value survives being put in a URL, and
often drops the = padding. This tool detects that alphabet and restores missing padding
automatically. The second is text encoding: decoding gives you bytes, not characters. Those bytes are
interpreted as UTF-8 here, and when they are not valid UTF-8 — a compressed blob, an image, an
encrypted payload — a hex dump is shown instead of mangled text.
Everything happens in JavaScript on your own machine. Nothing you paste is uploaded or logged.