← All tools

AGMAD TOOLS

Text to Base64. And back.

Encode and decode UTF-8 text inside your browser. Arabic, emoji and line breaks are supported. This is encoding, not encryption.

Available · Version 1.0.0Free · No accountBrowser-local processing

Up to 200,000 UTF-16 input units. Standard Base64 with required padding; UTF-8 text only.

Enter text or Base64 to begin.

Choose a direction

  1. For encoding, paste plain text and select Encode text. Text becomes UTF-8 bytes, then standard Base64. Spaces and line breaks are part of the encoded content.
  2. For decoding, paste standard Base64 and select Decode Base64. ASCII spaces, tabs and CR/LF wrapping are ignored before validation. Other characters are not silently removed.
  3. Review and copy the result. Editing input or a failed conversion clears previous output and disables copying. Clear empties both fields.

Arabic and Unicode

Arabic and emoji round-trip as UTF-8. Combining marks and a leading byte-order-mark character are retained; no text normalization is applied. Invalid unpaired UTF-16 surrogates are rejected rather than replaced. Decoded text chooses its direction automatically; encoded Base64 stays left-to-right.

Accepted Base64

The decoder accepts the standard A–Z, a–z, 0–9, + and / alphabet with canonical = padding when needed. For example, Zg== decodes to f; incomplete Zg and non-canonical Zh== are rejected. URL-safe -/_ variants and data: URL prefixes are not supported.

Text, not arbitrary binary

Base64 can represent any bytes, but this tool returns only valid UTF-8 text. A Base64 image, archive or non-UTF-8 byte sequence may fail with a text-decoding error. There is no file upload or binary download mode. The input cap is 200,000 UTF-16 units; encoded output can expand to 800,000 ASCII characters. Empty input shows a prompt rather than an empty result.

Release note

Version 1.0.0 extracts the legacy UTF-8-safe converter into an independent bilingual plugin. The URI-encoding and btoa/atob text pipeline is preserved. Added canonical Base64 checks, bounded input, separate error messages, stale-output clearing and clipboard error handling.