Base32 Encoder and Decoder
Encode text to base32 or decode base32 back to plain text using the standard RFC 4648 alphabet.
This tool runs entirely in your browser. Nothing you type is ever uploaded.
How to use this tool
Pick a mode at the top. With Encode selected, type or paste any plain text into the input box and press Convert to get the base32 string. Switch to Decode to paste a base32 string and turn it back into the original text. Use the Copy result button to put the output on your clipboard, or Clear to start over. The encoder always produces output that follows the RFC 4648 standard, including the trailing equals-sign padding.
How base32 encoding works
Base32 represents binary data using only 32 printable characters: the 26 uppercase letters A through Z and the digits 2 through 7. Because each character carries exactly 5 bits, every 5 bytes of input become 8 output characters. When the input does not divide evenly into 5-byte groups, the encoder appends one to six equals signs so the total length stays a multiple of eight. Decoding simply reverses this: each character becomes its 5-bit value, the bits are concatenated, and full bytes are read back out while the padding is ignored.
Compared to base64, base32 uses a smaller, case-insensitive character set with no symbols that get mangled in URLs, file names, or when read aloud, which is why it shows up in things like TOTP secret keys and some DNS and storage systems.
A real example
Take the text Hello. Its five bytes are 72, 101, 108, 108, 111, which in binary is 01001000 01100101 01101100 01101100 01101111. That is exactly 40 bits, so it splits cleanly into eight 5-bit groups: 01001 00001 10010 10110 11000 11011 00011 01111. Those values are 9, 1, 18, 22, 24, 27, 3, 15, which map to the characters J, B, S, W, Y, 3, D, P. So Hello encodes to JBSWY3DP, with no padding needed because the byte count happened to be a multiple of five.
Common questions
What is this base32 encoder decoder tool used for?
It converts text to base32 notation and back. People use it to inspect or build TOTP authenticator secrets, encode small pieces of data so they survive case-insensitive systems, and learn how base32 works without installing anything.
Which base32 alphabet does it use?
It uses the standard RFC 4648 alphabet: the letters A to Z for values 0 to 25 and the digits 2 to 7 for values 26 to 31. It does not use the alternate base32hex alphabet.
Do I need the equals-sign padding when I decode?
No. The decoder accepts base32 both with and without the trailing equals signs, and it ignores spaces and line breaks, so you can paste a key copied from almost anywhere. It also accepts lowercase letters and treats them as uppercase.
Is my data sent to a server?
No. All encoding and decoding happens locally in your browser with plain JavaScript. Nothing you type is uploaded, logged, or stored anywhere.
Why did decoding give me an error?
The input contains a character that is not part of the base32 alphabet, such as the digits 0, 1, 8, 9 or a symbol. Remove any stray characters and make sure you are decoding genuine base32 text.