Text
How this one works
Base64URL is standard Base64 with + and / swapped for - and _, and the trailing = padding removed, so the result can sit in a URL or a JWT without escaping.
Text is converted to UTF-8 bytes before encoding, so accents, emoji and non-Latin scripts round-trip correctly. Decoding also accepts standard Base64 and padding.
Questions
Is Base64URL encryption?
No. It's an encoding, reversible by anyone. That's why a JWT's payload is readable without a key; only the signature protects it from being changed.
Why does decoding say the result is binary?
Some Base64URL strings hold raw bytes rather than text, such as a JWT signature. Those can't be shown as characters, so the bytes are shown as hex instead.
What's the difference from regular Base64?
Two characters and the padding. Regular Base64 uses + and / and pads with =, all of which have special meaning in URLs. Base64URL avoids them.
How do I decode one part of a JWT?
Copy the part between two dots, paste it here and choose Decode. The first part is the header and the second is the payload, and both come out as JSON. The third part is the signature, which comes out as binary. The JWT Decoder splits and decodes all three at once.
Why is the encoded text longer than the original?
Base64URL writes every 3 bytes as 4 characters, so the result is about a third longer. Accented letters and emoji take more than one byte each in UTF-8, so text that uses them grows a little more.
Where else is Base64URL used?
Anywhere binary data has to travel in a URL, a header or a file name without escaping. Besides every JWT, it is used for OAuth PKCE code challenges, WebAuthn credential ids and many API keys and tokens.