Encode text to Base64 or decode Base64 strings instantly. Full UTF-8 support.
Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string format. It is commonly used to embed binary data in text-based formats such as JSON, XML, HTML, and email messages. Each Base64 digit represents exactly 6 bits of data, making it a widely used method to safely transmit data over channels that only support text. This tool encodes text to Base64 and decodes Base64 back to text bidirectionally.
Paste your text into the Text panel, then click Encode. The result appears in the Base64 Encoded panel. Base64 encoding works by taking every three bytes of input data and converting them into four ASCII characters. The input bytes are split into 6-bit groups, and each group is mapped to a character from a 64-character alphabet (A-Z, a-z, 0-9, +, /). If the input length is not a multiple of three, padding characters (=) are added to the output. This encoder uses TextEncoder to properly handle UTF-8 multi-byte characters, including emojis and international scripts.
Paste a standard Base64 string into the Base64 Encoded panel, then click Decode. The decoded UTF-8 text appears in the Text panel. If the input is not valid Base64, the tool shows an error. Use it to read Base64-encoded text from API responses or other text-based data, entirely in your browser.
Base64 encoding is used to embed images in CSS or HTML via data URIs, encode binary attachments in email (MIME), transmit data through URLs and APIs, store binary content in JSON or XML, and encode authentication credentials in HTTP Basic Auth headers. JWT tokens use a URL-safe Base64 variant for their payload. This tool supports full UTF-8 text, so you can encode and decode multi-byte characters including emojis and international scripts.
Paste your text into the Text panel and click Encode. The result appears in the Base64 Encoded panel, where you can copy it with the Copy button. The encoder supports full UTF-8 including multi-byte characters, emojis, and international scripts (Chinese, Arabic, Cyrillic, etc.).
Paste your Base64 string into the Base64 Encoded panel and click Decode. The decoded UTF-8 text appears in the Text panel. Invalid Base64 input produces an error message.
Yes. The encoder uses TextEncoder/TextDecoder APIs to properly handle UTF-8 multi-byte characters, including emojis, accented characters, and non-Latin scripts (Chinese, Japanese, Korean, Arabic, Hebrew, Cyrillic, etc.). This avoids the corruption you get with naive btoa()/atob() calls.
Yes. All encoding and decoding happens entirely in your browser. Nothing is sent to any server. The page works offline once loaded — safe for sensitive data, credentials, or confidential text.
Last updated:
A modern code editor with live preview, built for web developers and designers.
Try Phoenix Code