Base64 Encode / Decode
Encode text to Base64 or decode Base64 strings instantly in your browser.
100% Client-Side • Privacy ProtectedFeatures
- Encode any text string to Base64 format
- Decode Base64 strings back to plain text
- Full UTF-8 support for international characters and emoji
- Real-time encoding and decoding as you type
- Works entirely offline — no internet needed
How to Use the Base64 Encoder/Decoder
- 1Select the "Encode" or "Decode" tab based on your needs
- 2Paste or type your text in the input area
- 3The result appears instantly in the output area
- 4Click "Copy" to copy the result to your clipboard
Frequently Asked Questions
What is Base64 encoding?
Base64 is a binary-to-text encoding scheme that represents binary data using 64 ASCII characters (A-Z, a-z, 0-9, +, /). It's commonly used to embed binary data in text-based formats like JSON, XML, HTML, and email.
Is Base64 encryption?
No. Base64 is an encoding scheme, not encryption. It does not provide any security — anyone can decode a Base64 string. Use proper encryption (like AES) if you need to protect sensitive data.
Does this support UTF-8 characters?
Yes. This tool properly handles UTF-8 text including international characters, accented letters, CJK characters, and emoji. It uses the TextEncoder/TextDecoder APIs for correct Unicode handling.
How do I encode a file to Base64?
In JavaScript, use the FileReader API with readAsDataURL() to convert a file into a Base64 data URI. This is useful for embedding images directly in HTML or CSS, or for sending file attachments inside JSON payloads to APIs that don't support multipart uploads.
What is Base64url encoding?
Base64url is a URL-safe variant of Base64 that replaces + with - and / with _, and omits padding (=). It's used in JSON Web Tokens (JWT), URL query parameters, and filenames where standard Base64 characters would cause issues.
Why does Base64 increase data size?
Base64 encodes every 3 bytes of binary data into 4 ASCII characters, resulting in roughly 33% size increase. This overhead makes it unsuitable for transferring large files. For large data, use direct binary transfer (e.g., multipart form upload) and reserve Base64 for small payloads like icons or tokens.