A Base32 decoder converts Base32-encoded strings back to their original binary or text data. Base32 represents every 5 bits of binary as one of 32 printable characters (A-Z, 2-7), making it safe for case-insensitive systems and human-readable identifiers. It's widely used in TOTP authenticator secrets, IPFS CIDs, and Tor v3 addresses.
Base32 Input
Invalid Base32 String
Decoded Output
Alphabet Breakdown
Each Base32 character represents 5 bits| Position | Character | 5-bit Value | Decimal | Type |
|---|
How to Use the Base32 Decoder
Base32 is the encoding format behind the secrets in your authentication apps. When you scan a QR code to add an account to Google Authenticator, Authy, or any TOTP app, the underlying secret is Base32-encoded. Our Base32 decoder reveals exactly what's inside those encoded strings, with a full breakdown of the encoding mechanics.
Step 1: Paste Your Base32 String
Copy your Base32 string and paste it into the input field. Standard Base32 (RFC 4648) uses uppercase letters A-Z plus digits 2-7. The decoder accepts both padded strings (ending in =) and unpadded strings. For example, JBSWY3DPEHPK3PXP decodes to "Hello, World!"
Step 2: Choose the Alphabet
Select the alphabet variant from the dropdown. Standard Base32 uses A-Z and 2-7 (the default). Base32hex (RFC 4648 Section 7) uses 0-9 and A-V. Base32hex preserves lexicographic sort order — encoded data sorts identically to decoded data — making it popular for distributed database keys and CRDTs.
Step 3: Review Padding Analysis
Base32 processes input in 5-byte groups (40 bits), each producing 8 output characters. When the input doesn't fill a complete group, padding characters (=) are added. The stats bar shows how many padding characters are present versus actual data characters, and the total decoded bytes. This helps diagnose truncated or corrupted encoded strings.
Step 4: Toggle Between Text and Hex Views
Use the Text/Hex toggle buttons to switch the decoded output view. Text view shows the human-readable string. Hex view shows the raw bytes as hexadecimal, useful when the decoded content is binary data rather than text (like cryptographic keys or binary file content).
How Base32 Encoding Works
Base32 takes 5 bytes (40 bits) at a time and splits them into 8 groups of 5 bits each. Each 5-bit value (0-31) maps to one character in the alphabet: values 0-25 map to A-Z, and values 26-31 map to 2-7. The alphabet breakdown table in the decoder shows exactly which 5-bit value each character in your input represents, making the encoding process transparent.
FAQ
Is this Base32 decoder completely free?
Yes, 100% free with no usage limits, no account required, and no premium tiers. Decode as many Base32 strings as you need.
Is my data safe when using this tool?
Absolutely. All decoding runs entirely in your browser using client-side JavaScript. Your Base32 strings are never sent to any server, never stored, and never logged.
What is Base32 encoding?
Base32 encodes binary data using 32 printable characters: A-Z and 2-7 (RFC 4648 standard). Every 5 bits of input data maps to one Base32 character. This makes Base32 data safe for case-insensitive contexts and avoids characters that look similar (like 0/O and 1/I). It's commonly used in TOTP secrets, file sharing, and human-readable identifiers.
What is the difference between Base32 and Base32hex?
Standard Base32 (RFC 4648) uses the alphabet A-Z plus 2-7. Base32hex (RFC 4648 Section 7) uses 0-9 plus A-V. Base32hex preserves sort order — the encoded representation sorts the same way as the decoded data, which is useful for database keys and distributed systems.
Why does Base32 have padding characters (=)?
Base32 encodes data in 5-byte groups (40 bits = 8 Base32 characters). When the input length is not a multiple of 5 bytes, '=' padding characters are appended to make the output length a multiple of 8. For example, 1 input byte produces 2 Base32 chars plus 6 '=' padding chars.
What are common uses of Base32 encoding?
Base32 is used for TOTP (Time-based One-Time Password) secrets in authenticator apps like Google Authenticator, Authy, and 1Password. It's also used in IPFS content addresses (CIDv1), Tor hidden service addresses (v3), and human-readable data identifiers where case-sensitivity is a concern.
Why does the decoder show 'invalid character' errors?
Standard Base32 only allows letters A-Z and digits 2-7 (plus '=' for padding). Common mistakes include using digit 0 or 1 instead of O and I (which aren't used in Base32), using lowercase — try switching to uppercase — or accidentally pasting a Base64 string instead of Base32.