Base64 represents bytes; it does not keep a message secret
Base64 is a way to represent bytes using printable characters. Text first becomes UTF-8 bytes, which are then encoded. That extra step matters for accented letters, emoji and scripts such as Hindi: one visible character can use several bytes. The byte total in this workspace describes the UTF-8 data rather than the number of letters you can see in the editor.
The standard alphabet uses plus and slash characters. The URL-safe variant substitutes a hyphen and underscore. Choose the alphabet required by the application receiving the value; the decoder deliberately rejects characters from the other alphabet. A Base64 value is not a complete URL and this tool does not percent-decode it or extract fields from a token.
Padding fills the final group when the byte count is not divisible by three. Encoding can include or omit the equals signs. Decoding accepts correctly padded or unpadded input, but rejects misplaced padding, impossible lengths and nonzero unused bits. ASCII spaces, tabs and line breaks are ignored during decoding so a wrapped value can be pasted without manual cleanup.
Decoded bytes are not always text. An image, archive or PDF can be valid Base64 and still fail a UTF-8 text check. In that case, use the existing image decoder or an appropriate binary workflow rather than treating replacement symbols as a successful conversion. Base64 is also not encryption: anyone with the encoded value can recover its bytes. Keep credentials out of shared reports, and save important output before leaving the page.