Base64 Encoder / Decoder
Convert text or files to Base64, or decode Base64 back to its original form — right in your browser. Full Unicode support and an optional URL-safe mode, with nothing ever uploaded to a server.
How to use the Base64 encoder / decoder
- Pick a mode. Use "Text" to convert typed or pasted text, "File → Base64" to convert an uploaded file into a Base64 string, or "Base64 → File" to turn a Base64 string back into a downloadable file.
- Choose Encode or Decode (Text mode only) using the pill toggle, or tap the swap icon to flip your current output back into the input.
- Paste or drop your content. For text, type or paste directly into the input box. For files, drag and drop onto the drop zone or click to browse.
- Turn on URL-safe mode if the Base64 string needs to go into a URL, filename, or query parameter — this swaps
+and/for-and_and strips padding. - Copy or download the result. Text output can be copied with one tap; file conversions can be copied as a string or downloaded directly.
Everything happens locally in your browser — no file or text is ever sent to a server, which makes this safe for sensitive data like API keys, tokens, or private documents.
Features
Correctly encodes and decodes emoji, Assamese, Hindi, and other non-Latin scripts — not just plain ASCII text, which is where most basic Base64 tools break.
One toggle switches to the URL-safe alphabet, so the output can be dropped straight into a link, filename, or query string without escaping.
Convert any file to a Base64 string, or paste a Base64 string (including a full data: URL) and download it back as a file.
All processing happens in your browser. Nothing is uploaded, logged, or stored on a server — your data never leaves your device.
Free to use with no account, no watermarks, and no artificial caps beyond what your device's memory can handle.
Processes files in chunks to avoid browser call-stack limits, so larger files convert reliably instead of silently failing.
Frequently asked questions
No. Every conversion happens locally in your browser using JavaScript. Nothing you type or upload is sent to a server, logged, or stored.
Decoding fails if the input isn't valid Base64 — for example, if it's missing characters, contains spaces or line breaks that weren't stripped, or uses the URL-safe alphabet while URL-safe mode is switched off (or vice versa). Try toggling URL-safe mode if decoding doesn't work as expected.
Yes. In "Base64 → File" mode, you can paste a complete data URL like data:image/png;base64,iVBOR... and the tool will automatically strip the prefix before decoding.
Yes. The tool encodes through UTF-8 bytes rather than using plain JavaScript btoa(), so emoji, Assamese, Hindi, and other Unicode text round-trip correctly instead of getting corrupted.
There's no artificial limit set by the tool — the practical ceiling is your device's available memory, since the file is processed entirely in your browser.
