Everything runs on your machine — your file is processed right here in your browser and never uploaded to any server.
InputBase64
Loading...
OutputText
Loading...

About this tool

Paste a Base64 string into the left editor and this tool turns it back into readable text in the right editor as you type. Decoding is UTF-8 aware, so emoji, accents, and non-Latin scripts come out exactly as they were encoded rather than as mangled byte sequences. If the input is not valid Base64, the tool shows a clear error message instead of guessing at a result.

Decoding Base64 is a daily chore in development work: inspecting the payload of a token or webhook, reading credential strings found in Authorization headers while debugging, recovering the text inside a data URI, or checking what a Base64 field in an API response or log line actually contains. Doing it in a live editor means you can fix a truncated string and see the corrected result immediately.

How to use

  1. Paste the Base64 string into the left editor, or click Load File to open a file that contains one.
  2. Read the decoded text in the right editor; it refreshes on every keystroke, so partial or corrected input re-decodes immediately.
  3. If you see an error message, check the input for missing characters, broken padding, or symbols outside the Base64 alphabet.
  4. Click Copy to grab the decoded text, Download to save it, or Clear to reset both panes.

Base64 strings often hide tokens, credentials, or other sensitive material, which is exactly why this decoder does all of its work locally. The decoding is plain JavaScript running on your own machine, no request ever carries your input to a server, and nothing survives after you close or reload the page.

Frequently asked questions

Which characters are valid in a Base64 string?

Standard Base64 uses the uppercase letters A-Z, lowercase a-z, digits 0-9, plus (+) and slash (/), with up to two equals signs (=) as padding at the very end. Anything outside that set will trigger the error message.

Can this tool decode base64url strings?

Not directly — it expects the standard alphabet. The URL-safe base64url variant replaces + with a hyphen and / with an underscore, so swap those characters back (- to + and _ to /) and the string will decode normally.

Why does my decoded output look like random symbols?

Base64 can encode any bytes, not just text. If the original data was an image, an archive, or other binary content, decoding it as text produces unreadable characters even though the decoding itself succeeded.