Base64 Encode / Decode
Encode text to Base64 and decode Base64 strings online. Full Unicode/UTF-8 support. Free, fast, client-side Base64 converter tool.
Why Use the Base64 Encoder/Decoder?
Base64 encoding is used everywhere in web development — from data URLs and email attachments to JWT tokens and API payloads. Our tool provides a quick way to encode and decode Base64 with full Unicode support, ensuring international text is handled correctly.
Key Features
- Two-tab interface: separate Encode and Decode modes
- Full Unicode/UTF-8 support for international characters
- Swap button to instantly switch encoded and decoded content
- One-click paste from clipboard and copy to clipboard
How to Use
- Select the Encode or Decode tab
- Paste your text or Base64 string in the input area
- Click the action button and copy the result
Technical Details
Encoding uses btoa() with a Unicode-safe approach: text is first encoded as UTF-8 bytes via encodeURIComponent/unescape, then converted to Base64. Decoding reverses this process using atob() and decodeURIComponent/escape. This ensures all Unicode characters are correctly handled, not just ASCII.
FAQ
Does this support non-English characters?
Yes, our tool uses UTF-8 encoding before Base64 conversion, so all Unicode characters including Chinese, Arabic, and emoji are supported.
What's the difference between encodeURI and Base64?
Base64 converts any binary data to ASCII text using 64 characters (A-Z, a-z, 0-9, +, /). URL encoding converts special characters to %XX format. They serve different purposes.
Related tools
URL Encode / Decode
Encode and decode URLs with full or component encoding modes
HTML Entity Encode / Decode
Encode and decode HTML entities like < > & "
JWT Token Decoder
Decode JWT tokens to view header, payload, and signature as formatted JSON
ROT13 Cipher
Encode or decode text using the ROT13 substitution cipher
Morse Code Translator
Convert text to Morse code and back with visual representation and audio playback
Binary Translator
Convert text to binary (0s and 1s) and back with byte-level breakdown