How to Base64 Encode Text
Step-by-step guide to encoding plain text into Base64, covering padding rules and common use cases.
Problem
You need to convert a plain-text string into a Base64 representation so it can be safely transported over text-only channels such as JSON, XML, or HTTP headers.
Prerequisites
- Basic understanding of ASCII and binary
- Familiarity with a terminal or online encoder
Steps
-
1. Prepare the input text
Write down or paste the exact text you want to encode. Make sure there are no trailing newline characters unless you intentionally want them encoded. Even a hidden line break will change the output.
InputHello, World!OutputSGVsbG8sIFdvcmxkIQ== -
2. Encode the text to Base64
Feed the text into a Base64 encoder. The encoder splits the byte stream into 6-bit groups and maps each group to one of 64 printable characters. The output length is always a multiple of 4 characters.
InputHello, World!OutputSGVsbG8sIFdvcmxkIQ== -
3. Verify the padding
Check that the result ends with zero, one, or two '=' padding characters. Padding ensures the total length is a multiple of 4. If the output length is not divisible by 4, the encoding is invalid.
InputSGVsbG8sIFdvcmxkIQ==Outputvalid (length 16, divisible by 4)
Expected result
A Base64 string that is a multiple of 4 characters in length, containing only A-Z, a-z, 0-9, +, /, and = padding.
Common errors
- Output contains spaces or line breaks
- Some encoders insert line breaks every 76 characters (MIME style). Use a raw Base64 encoder or strip whitespace before using the result.
- Decoding produces extra characters
- An invisible trailing newline was encoded. Trim the input before encoding if you do not want it.
Troubleshooting
- If the output is not a multiple of 4, re-run the encoder with the same input and check for truncation.
- Compare your result with an independent encoder to rule out character-set mismatches.
Security limits
- Base64 is encoding, not encryption. Anyone can decode it. Never use it to protect secrets.
Related tools
Related glossary
Related tasks
Ready to run it?