What base64 actually is
Base64 writes arbitrary bytes using 64 safe characters — letters, digits, plus and slash — so binary data can travel through systems built for plain text: JSON configs, HTML attributes, email bodies. It is not compression and it is not encryption; the output is about a third larger than the input, and anyone can reverse it. That reversibility is the point: base64 is a transport format, and this page lets you move in either direction.
How the tool works
Type or paste text, or pick a file, and the result appears immediately — the encoding runs as plain JavaScript in the page, synchronously, with no server round-trip and no waiting at typical sizes. One click swaps direction between encoding and decoding, and for files you can output a ready-made data URI, complete with the correct MIME prefix, for embedding straight into CSS or HTML.
Why decoding locally matters
The strings people paste into base64 tools are often the last things that should touch someone else's server: JWT header and payload segments, credentials from a config file, attachment bodies from a raw email. Because this tool makes no network requests with your input, inspecting a token or debugging a MIME attachment doesn't expose it to anyone.
Common jobs it handles well: embedding small icons in a stylesheet to save an HTTP request, checking what a JWT actually contains, and encoding values destined for environment variables or Kubernetes secrets.