Base64 to Text Decoder
Paste Base64 and read the text it carries. UTF-8 support is built in, so accented characters, Chinese, Japanese and emoji survive the round trip — and when the output makes no sense as text, that itself is the clue that you are holding a file rather than a string.
Processed as you paste — no button to press (Ctrl+Enter converts now / Esc clears)
Drop a file here, or — Ctrl+V a screenshot works too
Any file type · 100 MB maximum
Paste, drag and drop, or Ctrl+V a screenshot
How to use it: two steps
- Pick a direction — Base64 to text, or text to Base64
- Paste — output follows as you type; there is no convert button
Decoded output looks like garbage? Three usual causes
- Wrong character set — the bytes are valid but were encoded in a legacy code page (GBK, Shift_JIS, Windows-1252) rather than UTF-8, so the characters render as symbols.
µand©are not the letters you typed. - It is not text at all — the payload is an image, PDF or archive, and what you are reading is compressed binary. Check for a file-header signature instead.
- The source was mangled — a chat app or spreadsheet altered the string in transit, and the resulting bytes are no longer meaningful.
Where you run into Base64 text
- Tokens and cookies — small payloads decoded during debugging
- API responses — string fields that arrive encoded rather than escaped
- Logs and error reports — authentication headers and request bodies captured for analysis
- Email headers — subject lines and display names encoded for transport
Frequently asked questions
Why do accented characters or CJK text come out as question marks?
The bytes were not UTF-8 — usually a legacy code page such as GBK or Shift_JIS. The bytes themselves are intact, so decoding with the right character set recovers the text; the correct set is whichever one the producer documented.
Can I encode text to Base64 as well?
Yes, switch the direction at the top of the tool. Text mode also offers URL-safe output when the result has to survive a URL or a JWT.
The output looks like a file rather than text — what is it?
You are probably holding a file payload. Use Base64 to file, which reads the type from the file header instead of trying to render it as characters.
Is there a length limit?
Text mode is meant for short strings and stays smooth up to a few hundred thousand characters. For large payloads use the file mode, which processes on a background thread.