Base32 encode and decode
Convert text to RFC 4648 Base32 and back, with base32hex and padding options.
Related tools
Base32 encode and decode
Base32 represents binary data using 32 unambiguous characters — the letters A to Z and the digits 2 to 7 — which makes it robust where Base64 is fragile: it survives case-insensitive systems, avoids characters that clash in URLs and file names, and is easy to read out loud or type by hand. You meet it most often as the secret key behind two-factor authentication apps, in DNS records, and in ni: URIs and file-sharing hashes.
Paste text to encode it, or paste a Base32 string to decode it back — switch direction with the mode selector. The tool follows RFC 4648: input text is converted to UTF-8 bytes first, so accented characters and emoji encode and decode correctly. The alphabet selector switches between the standard alphabet and base32hex (0–9, A–V), the variant used where sort order of the encoded form must match the sort order of the raw bytes.
Padding with = signs fills the output to a multiple of eight characters, as the RFC requires at the end of a stream. Some systems — TOTP secrets among them — omit padding, so you can turn it off with one checkbox. Decoding is forgiving: lowercase input, missing padding, spaces and line breaks are all accepted, and a clear message tells you when the input genuinely isn't Base32.
Everything runs in your browser. Nothing you paste is uploaded anywhere, which matters when the string you are decoding is an authenticator secret or another credential. Copy the result, download it as a .txt file, or send it back to the input to chain conversions.