Base32 Encode & Decode - Online Base32 Converter
Encode and decode Base32 strings online for free. Convert text to Base32 format and back—useful for encoding data in systems that require case-insensitive character sets, like TOTP tokens, backup codes, and file names.
What Is Base32?
Base32 is a binary-to-text encoding scheme that represents data using 32 ASCII characters (A-Z and 2-7). It's similar to Base64 but uses a smaller, case-insensitive alphabet, making it suitable for systems where case sensitivity or special characters cause problems.
Base32 Alphabet:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7
How to Use
Encoding
- Enter text - Type or paste your text
- Click "Encode" - Convert to Base32
- Copy result - Use the encoded string
Decoding
- Paste Base32 - Enter your encoded string
- Click "Decode" - Convert back to text
- View result - See the original content
Key Features
- Instant conversion - Real-time encoding/decoding
- Standard implementation - RFC 4648 compliant
- Padding support - Handles = padding correctly
- UTF-8 support - Works with international characters
- One-click copy - Easy clipboard access
- No storage - All processing is local
Base32 vs. Base64
| Feature | Base32 | Base64 |
|---|---|---|
| Characters used | 32 (A-Z, 2-7) | 64 (A-Z, a-z, 0-9, +, /) |
| Case sensitive | No | Yes |
| Size increase | ~60% | ~33% |
| Human readable | Better | Average |
| Typing ease | Easier | Harder |
| Confusing chars | None | l/1, O/0, +/slash |
Why Base32 Over Base64?
Base32 is preferred when:
- Case insensitivity required - File systems, some databases
- Human typing expected - Manual backup codes, tokens
- URL safety needed - No special characters
- Avoiding confusion - No 0/O, 1/l, I ambiguity
- Phone keyboard entry - Simpler character set
Common Use Cases
Two-Factor Authentication (2FA/TOTP)
TOTP Secret Key in Base32:
JBSWY3DPEHPK3PXP
Google Authenticator and similar apps use Base32 for secret keys.
Backup Recovery Codes
Your backup codes:
ABCD-EFGH-IJKL
MNOP-QRST-UVWX
Easier to type than random mixed-case strings.
File Names
Encoded: 7JPFQ2LGOMQGG33N
Safe for systems with case-insensitive file handling.
Unique Identifiers
Short IDs: GEZDGNBV
Compact, URL-safe, human-readable IDs.
Encoding Example
Text: Hello World!
Process:
- Convert to bytes: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]
- Group into 5-byte chunks
- Convert each chunk to 8 Base32 characters
- Add padding if needed
Result: JBSWY3DPEBLW64TMMQQQ====
Understanding Padding
Base32 encodes 5 bytes into 8 characters. When input isn't a multiple of 5 bytes, padding with = is added:
| Input Bytes | Output Chars | Padding |
|---|---|---|
| 1 | 2 | ====== |
| 2 | 4 | ==== |
| 3 | 5 | === |
| 4 | 7 | = |
| 5 | 8 | none |
Base32 Variants
| Variant | Characters | Use Case |
|---|---|---|
| RFC 4648 (Standard) | A-Z, 2-7 | General use |
| Extended Hex | 0-9, A-V | Sortable output |
| Crockford | 0-9, A-Z (no I,L,O,U) | Human-friendly |
| z-base-32 | Different set | Easy typing |
Programming Examples
JavaScript
// Encoding (using a library like base32.js)
const encoded = base32.encode(text);
Python
import base64
encoded = base64.b32encode(text.encode()).decode()
Command Line
echo -n "Hello" | base32
Frequently Asked Questions
When should I use Base32 instead of Base64?
Use Base32 when case insensitivity matters, when humans need to type the encoded string, or when you want to avoid confusable characters.
Why A-Z and 2-7 specifically?
Numbers 2-7 were chosen because 0 and 1 look like O and I/l. This reduces human transcription errors.
Is Base32 encryption?
No! Base32 is encoding, not encryption. Anyone can decode it. Use encryption (AES, etc.) if security is needed.
Can I encode binary files?
Technically yes, but our web tool is optimized for text. For files, use command-line tools or libraries.
Why does my output have = at the end?
That's padding to make the output length a multiple of 8 characters. Some implementations omit it.
Is Base32 URL-safe?
Yes! Unlike Base64, Base32 uses no special characters, making it inherently URL-safe.