What Base64 is for
Plenty of protocols — email, most JSON APIs — were designed to carry ASCII text. Push raw binary through them and it can corrupt, because some byte patterns read as control characters. Base64 is the workaround: it re-expresses binary as 64 safe ASCII characters (A–Z, a–z, 0–9, plus + and /, with = as padding), at a cost of roughly a third more bytes.
Where you meet it
Data URIs
A small image, icon, or font can be embedded straight into HTML or CSS rather than fetched:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAU...One fewer HTTP request, which is worth it for small assets and actively harmful for large ones. The Data URL panel above builds these, with a preview so you can check the result before you paste it anywhere.
Basic authentication
An Authorization: Basic YWRtaW46cGFzc3dvcmQ= header is nothing more than username:password in Base64 — which is exactly why Basic auth needs TLS underneath it.
Base64 is not encryption.
It is an encoding. There is no key, and anyone can reverse it in one step — including with this page. It hides nothing.
About this one
It runs entirely in your browser; nothing is sent anywhere. It also round-trips UTF-8 properly — emoji and non-Latin scripts survive, which is where a plain btoa() throws.