The encoder reads the text you paste, encodes it as UTF-8 bytes, and returns the Base64 representation. It is useful when a config field, API sample, or test fixture expects a Base64 string instead of plain text.
When URL-safe mode is enabled, padding is removed and the plus and slash characters are replaced with hyphen and underscore. The page still works on pasted text only, so it does not read files or create a complete data URL prefix for you.
Open “How this text becomes Base64” below the input and output panels. Try Man, 啪 or 👋 to follow Unicode code points through UTF-8 bytes and 6-bit groups to Base64 characters. Select a 6-bit group to highlight its source characters, bytes and output character. The anatomy independently encodes the first 12 Unicode code points; its final group and padding can differ from the full output, which encodes all the text.
Common questions and answers about this topic.
Paste text into the input panel to get its Base64 output. For example, Man becomes TWFu. Open “How this text becomes Base64” to inspect Unicode code points, UTF-8 bytes, 6-bit groups and output characters. Select a group to see which source characters and bytes contribute to its Base64 character.
UTF-8 encodes a Unicode code point as one to four bytes. ASCII letters use one byte, while 啪 uses three bytes and becomes 5ZWq; 👋 uses four bytes and becomes 8J+Riw== in standard Base64. Base64 encodes these bytes, so the output length depends on the byte count, not just the number of visible symbols.
Standard Base64 turns three bytes into four output characters. If the final block has only one byte, it adds ==; with two bytes, it adds =. M becomes TQ==, Ma becomes TWE= and Man becomes TWFu. These padding characters complete the four-character block without adding data; the last 6-bit group also uses zero bits when needed.
Base64URL replaces + and / with - and _. This tool also omits = padding in Base64URL mode: 👋 becomes 8J-Riw instead of 8J+Riw==. Whether padding is required or omitted depends on the receiving protocol or application; Base64URL does not universally forbid it.
No. The main output encodes all the text you enter. To keep the diagram readable, the anatomy independently encodes only the first 12 Unicode code points. It is not a slice of the full Base64 result, so its last 6-bit group and padding may differ from the complete output. A Unicode code point is not always one visible character.
This encoder accepts pasted text, not image or other file uploads, and does not create a complete data URL prefix. Base64 is an encoding format, not encryption: anyone with the output can decode it. Use it when an API, config field or test expects Base64 text, not to protect secrets.
The text you enter is encoded locally in your browser with JavaScript and is not sent to a server for conversion. This describes the encoding process; it does not mean the website itself makes no network requests.