RFC 4648 section 4 defines the “base64” encoding that most programming languages implement by default: btoa(), PHP’s base64_encode(), Python’s b64encode(), Java’s Base64.getEncoder(), and so on.
Rules
- Alphabet:
A–Z a–z 0–9 + /(see Base64 characters). - Padding with
=so the length is always a multiple of 4. - No line breaks. RFC 4648 says implementations must not add line feeds unless a referring specification (like MIME) explicitly requires them.
- Decoders must reject characters outside the alphabet unless the referring specification says otherwise.
- Unused bits in the last character should be zero (canonical encoding); strict decoders may reject non-zero bits.
Validation regex
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
This matches every valid padded value, including the empty string. Check your value interactively with the Base64 validator.
Comments (0)
Questions, ideas or a bug in “Standard Base64 (RFC 4648)”? Leave a comment, rate the tool, or reply to others.
No comments yet. Be the first to share your feedback!