Base32 Encoder / Decoder
NewEncode and decode data using RFC 4648 Base32 — used in TOTP secrets and DNSSEC.
RFC 4648 Base32 — used in TOTP secrets, DNSSEC, and other systems needing case-insensitive encoding.
Frequently Asked Questions
Will lowercase Base32 or pasted whitespace break decoding?
No. The decoder uppercases the input and strips whitespace before processing. Lowercase secrets and line-wrapped Base32 strings are fine as long as the characters are otherwise valid.
Why am I getting a padding or length error?
This decoder is strict about RFC-style shape: only A-Z, 2-7, and optional '=' padding are allowed, padding can only appear at the end, and the total length must be a multiple of 8 characters. It also rejects impossible leftover bit patterns.
Can I decode an unpadded TOTP secret?
Not unless you add the missing padding first. The tool requires the final input length to be a multiple of 8, so many unpadded authenticator secrets need trailing '=' characters before decode mode will accept them.
Does this work for arbitrary binary data?
Not as a file/binary tool. Encoding takes UTF-8 text, and decoding expects the resulting bytes to be valid UTF-8 text as well, because the output is shown through TextDecoder with fatal UTF-8 validation.
Do I have to press Encode or Decode every time?
The buttons set the current mode, but after that the tool also re-runs automatically as you type with a short 250 ms debounce. So once you're in decode mode, pasted edits keep decoding live.