Base64 Encode & Decode

Encode text to Base64 or decode it back. Works with UTF-8, URL-safe Base64, data URIs and files.

Mode

Runs on your device. Nothing you paste is uploaded.

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.