Encode text or uploaded files as Base64, or decode Base64 text and files back to binary.
Runs in your browser — your input is processed on this device and never uploaded.
Encode data as Base64 or decode Base64 text back to binary data.
Results appear here.
Base64 rewrites arbitrary bytes using 64 printable ASCII characters, so binary data can travel through channels that only accept text. It is defined in RFC 4648, and its output runs about a third larger than its input.
Every complete group of 3 input bytes becomes 4 Base64 characters, and padding stands in for an incomplete final group.
A lot of formats are text-only by design: email bodies, JSON string fields, data URIs in CSS and HTML, YAML config, JWT payloads. Put raw bytes in any of them and you corrupt the document or break the parser. Base64 avoids that by using only characters those formats already tolerate.
You pay for it in size and legibility. Roughly a third more bytes, and no way to tell what the data is by looking at it.
Base32 uses a smaller case-insensitive alphabet that survives manual transcription and systems that mangle case, at the cost of longer output. Hex doubles the size but stays readable byte by byte, which is better when debugging. Ascii85 is more compact than Base64 and far less widely supported.
If what you want is a short fingerprint of a file rather than a reversible copy of it, none of these fit. Reach for a hash such as BLAKE3.
Base64 is not compression. The output is always larger than what went in, which catches out people who reach for it hoping to save space.
Warning
Base64 is encoding, not encryption. It conceals nothing, since anyone holding the text can decode it. Treat it as a transport format and never as a way to protect a secret.
Find similar tools by category or tag.