Base32 Encoder / Decoder
Encode text to Base32 or decode Base32 back to text instantly. Supports standard (RFC 4648) and Base32 Hex variants. 100% client-side — your data never leaves your browser.
About Base32 Encoding
Standard Base32 (RFC 4648)
Uses the 32-character alphabet A–Z and 2–7. Each Base32 character encodes 5 bits of data. It is case-insensitive and commonly used in TOTP/HOTP two-factor authentication tokens.
Base32 Hex (Extended Hex)
Uses the alphabet 0–9 and A–V. Also defined in RFC 4648. The encoded output preserves the sort order of the original data, which is useful for certain key-value stores and databases.
Padding
Base32 pads the output with = characters to make it a multiple of 8 characters. Padding is optional for decoding — this tool handles both padded and unpadded input gracefully.
Use Cases
- Two-factor authentication (TOTP/HOTP) secret keys
- Encoding binary data in case-insensitive environments
- File system identifiers that avoid ambiguous characters
- Compact, human-readable data encoding
Frequently Asked Questions
What is Base32 encoding? ▾
Base32 is a binary-to-text encoding scheme that uses 32 ASCII characters (A-Z and 2-7) to represent binary data. It is defined in RFC 4648 and is commonly used in applications that require case-insensitive encoding, such as two-factor authentication (TOTP/HOTP) and certain file systems.
What is the difference between Base32 and Base32 Hex? ▾
Base32 (standard) uses the alphabet A-Z and 2-7. Base32 Hex (Extended Hex) uses the alphabet 0-9 and A-V. Base32 Hex preserves the sort order of the encoded data, making it useful for certain database applications.
Is Base32 encoding the same as encryption? ▾
No. Base32 is an encoding scheme, not encryption. Encoded data can be decoded by anyone without a key. Do not use Base32 to protect sensitive data — use proper encryption (e.g., AES) for that purpose.
Why does Base32 use padding characters (=)? ▾
Base32 encodes 5 bits per character and groups input into 5-byte (40-bit) blocks. If the input is not a multiple of 5 bytes, padding characters (=) are appended to make the encoded output a multiple of 8 characters, ensuring consistent block boundaries.
Can I decode Base32 without padding? ▾
Yes. This tool automatically handles missing padding when decoding, so you can paste Base32 strings with or without trailing = characters and get the correct result.