Base32 Encoder/Decoder
Encode text to Base32 and decode it back, using the standard RFC 4648 alphabet.
How this tool works
Choose a direction
Encode text to Base32, or decode a Base32 string back to text.
Enter your input
Any text to encode, or a Base32 string (with or without "=" padding) to decode.
See the result instantly
The output updates live as you type.
Copy the result
The encoded or decoded value is ready to copy with one click.
Quick facts
- Category
- Encoders & Decoders
- Best for
- Generating or inspecting a TOTP secret key, which is conventionally Base32-encoded
About this tool
Encode text into Base32 or decode a Base32 string back into text, using the standard RFC 4648 alphabet (A-Z and 2-7, with "=" padding) - the same encoding scheme used for things like TOTP secret keys, which is why totp-generator on this site expects its secret input in this exact format. Base32 exists alongside base64-encoder-decoder for a specific reason: it uses a smaller, case-insensitive 32-character alphabet instead of Base64's 64-character mixed-case set, which makes it more forgiving to read aloud, type manually, or transcribe without ambiguity between visually similar characters - at the cost of a slightly longer encoded output for the same input, since each character carries 5 bits instead of 6. Encoding output includes standard "=" padding to a multiple of 8 characters, and decoding accepts input with or without that padding, validating that every character belongs to the correct alphabet before attempting to decode. Useful for generating or inspecting a TOTP secret key, working with systems that specifically require Base32 (like certain DNS or file-naming conventions), or converting between Base32 and plain text for debugging. Runs entirely client-side.
Why use this tool
Standard RFC 4648 alphabet
Matches the exact encoding used by TOTP secrets and other Base32-based systems.
Pairs with totp-generator
Generate or inspect a Base32 TOTP secret in the exact format that tool expects.
Human-friendly by design
A smaller, case-insensitive alphabet makes Base32 easier to read aloud or type by hand than Base64.
Flexible padding on decode
Accepts input with or without trailing "=" padding, so a manually typed secret still decodes.
Frequently asked questions
Base32 uses a 32-character, case-insensitive alphabet (A-Z, 2-7) instead of Base64's 64-character mixed-case alphabet, which avoids visually ambiguous character pairs (like 0/O or 1/l/I, which Base32 excludes entirely) and doesn't depend on case sensitivity - making it noticeably easier to read aloud, hand-type, or transcribe correctly. The tradeoff is that Base32 output is about 20% longer than Base64 for the same input, since each character encodes 5 bits instead of 6.
The TOTP standard (RFC 6238) conventionally represents its shared secret key as a Base32 string specifically because that secret is often manually typed by a user setting up two-factor authentication - Base32's human-friendly alphabet is exactly why it was chosen for this use case over Base64. This tool lets you encode a raw secret into that Base32 format, or decode an existing Base32 secret back to see its raw bytes.
Not for this tool - it accepts Base32 input with or without trailing "=" padding characters, since some systems omit padding while the RFC 4648 standard technically requires it for interoperability. Padding is always added when encoding, matching the standard, but decoding is deliberately lenient about it so a copy-pasted secret missing its padding still works correctly.
Explore more free tools
Formatters, converters, validators, and generators - all free and running entirely in your browser.
Browse more tools