Embed this tool on your site
<iframe src="https://devtoolbox.dedyn.io/tools/base32" width="100%" height="700" frameborder="0" title="Base32 Encoder/Decoder"></iframe>

Base32 Encoder / Decoder

Encode text or files to Base32, or decode Base32 back to text. Supports RFC 4648 standard and Base32Hex variants with optional padding.

 
Drag & drop a file here, or click to browse
0 characters · 0 bytes
0 characters
Example Inputs

What is Base32?

Base32 is a binary-to-text encoding scheme defined in RFC 4648 that represents binary data using a 32-character alphabet. The standard alphabet uses uppercase letters A through Z and digits 2 through 7. It is commonly used in TOTP/HOTP secret keys (Google Authenticator), DNSSEC NSEC3 records, onion addresses (Tor), and file systems where case sensitivity is not guaranteed.

The encoding converts every 5 bytes (40 bits) of input into 8 Base32 characters, with each character representing 5 bits. The = character is used for padding when the input length is not a multiple of 5 bytes. Base32 increases data size by approximately 60%, more than Base64's 33%, but offers the advantage of being case-insensitive.

Base32 vs Base64

FeatureBase32Base64
Alphabet size32 chars (A-Z, 2-7)64 chars (A-Z, a-z, 0-9, +, /)
Case sensitiveNoYes
Size overhead~60%~33%
Encoding ratio5 bytes → 8 chars3 bytes → 4 chars
Common useTOTP, DNS, TorEmail, data URIs, APIs

Frequently Asked Questions

What is Base32 encoding and how does it differ from Base64?
Base32 is a binary-to-text encoding scheme defined in RFC 4648 that uses a 32-character alphabet (A-Z and 2-7). Unlike Base64 which uses 64 characters including mixed case and symbols, Base32 uses only uppercase letters and digits, making it case-insensitive and easier to use in systems that don't distinguish letter case, such as DNS names, file systems, and spoken communication.
What is Base32Hex and when should I use it?
Base32Hex (also called base32 extended hex) uses the characters 0-9 and A-V instead of the standard A-Z and 2-7 alphabet. Its key advantage is that the encoded output preserves the sort order of the original binary data, which is useful for applications like NSEC3 hashed owner names in DNSSEC and other systems where lexicographic ordering matters.
Why does Base32 encoding increase data size by 60%?
Base32 encoding represents every 5 bytes (40 bits) of input data as 8 characters, because each Base32 character encodes exactly 5 bits (2^5 = 32). This means the encoded output is 8/5 = 1.6 times the original size, a 60% increase. This is larger than Base64's 33% overhead, but the trade-off is a simpler, case-insensitive alphabet that works in more environments.
Keyboard Shortcuts
Ctrl+Enter Encode / Decode
Ctrl+Shift+C Copy output
Ctrl+L Clear