What Base64 is for
Base64 writes arbitrary bytes using only 64 safe characters (A–Z a–z 0–9 + /), so binary data or
non-ASCII text can travel through systems that only handle plain text: email attachments, JSON fields, HTTP headers
such as Basic authentication, data URIs in HTML and CSS, and Kubernetes secrets. The output is about a third larger than the input.
Base64 is an encoding, not encryption — anyone can decode it.
Text, UTF-8 and emoji
Text is encoded as UTF-8 before converting, which is what nearly every system expects, so accents, non-Latin scripts and
emoji round-trip correctly (é → w6k=). When decoding, the result is shown as text if it is valid UTF-8;
otherwise it's treated as binary data and offered as a file download.
URL-safe Base64
Standard Base64 uses + and /, which have special meanings in URLs and file names. The URL-safe
variant (RFC 4648 §5), used in JWTs and many APIs, replaces them with - and _ and usually drops the
= padding. Decoding accepts both variants, with or without padding, and ignores line breaks — so you can paste
wrapped output from openssl or email sources directly.
Files and data URIs
Encode a file reads a file from your device and outputs its Base64, or a complete data: URI you can paste into
HTML or CSS. Pasting a data URI (data:image/png;base64,…) in decode mode strips the prefix and lets you download the file.
Is my data uploaded?
No. Encoding and decoding run in your browser, so nothing you add is sent to gratistools.be. See the privacy page for details.