Base64 Encoder & Decoder
Encode plain text to Base64 or decode Base64 back to text instantly. Handles UTF-8 characters correctly, validates your input, and runs entirely in your browser.
Choose Encode to turn any text into Base64, or Decode to turn Base64 back into text. UTF-8 characters are handled correctly and invalid input is flagged with a clear message. Everything runs in your browser — nothing is sent to a server.
How to encode and decode Base64
Follow these three quick steps to convert text to and from Base64.
Pick a mode
Choose Encode to turn text into Base64, or Decode to turn Base64 back into text.
Paste your input
Paste or type your text (or Base64) into the input box. The output updates instantly.
Copy the result
Use Copy to grab the output, or Swap to move the result into the input and flip the mode.
Key features
Encode or decode
Two modes that flip instantly with one click — turn text into Base64 or back again.
UTF-8 safe
Accented letters, CJK and emoji all encode and decode correctly using UTF-8.
Clear validation
Invalid Base64, wrong lengths and non-text bytes are flagged with plain-English messages.
Supported formats
- Plain text
- Base64 (RFC 4648)
- URL-safe strings
- JSON payloads
Privacy and security
Limitations
- Decoding only targets UTF-8 text — binary-to-Base64 (e.g. file data) is not converted back to readable text.
- No file upload support — text input only (no file input).
- Very large inputs are processed in your browser and may be slower on low-end devices.
Related Tools
All toolsJSON Formatter & Validator
Paste JSON, pretty-print or minify it with proper indentation, and get clear validation messages if your JSON is malformed — entirely in your browser.
Base64 often wraps JSON — format it once decoded.
Image to Base64
Convert an uploaded image into a Base64-encoded string for embedding directly in HTML, CSS or code.
Encoding an image instead? That tool returns a data URI.
Text Diff Checker
Paste two blocks of text and see a visual highlighted diff showing additions, deletions, and changes between them.
Compare two encoded strings to find the difference.
Frequently asked questions
Is this tool free?
Yes — completely free, no sign-up required. Everything runs in your browser and nothing is sent to a server.
Does it work with non-English text and emoji?
Yes. The encoder uses UTF-8, so accented letters, CJK characters, and emoji all encode correctly.
How do I switch between encoding and decoding?
Use the Encode / Decode mode buttons at the top of the tool. The output area updates instantly and follows the selected mode.
Why could decoding fail?
Decoding fails if the input is not valid Base64 (wrong characters or length), or if it decodes to bytes that are not valid UTF-8 text.
What is Base64 used for?
Developers use Base64 to represent binary or text data in a text-safe way — for example embedding data in URLs, emails, or JSON payloads.
Do you store my text?
No. All encoding and decoding happens locally in your browser. Your text never leaves your device.
