πŸ› οΈToolsShed

Base32 Encoder / Decoder

Encode and decode text using Base32 encoding.

Frequently Asked Questions

Code Implementation

import base64

# Encode bytes to Base32
data = b"Hello, World!"
encoded = base64.b32encode(data).decode()
print("Encoded:", encoded)  # JBSWY3DPEB3W64TMMQ======

# Decode Base32 back to bytes
decoded = base64.b32decode(encoded)
print("Decoded:", decoded.decode())  # Hello, World!

# Base32 for TOTP secret generation
import os
totp_secret = base64.b32encode(os.urandom(20)).decode().rstrip("=")
print("TOTP Secret:", totp_secret)  # e.g. JBSWY3DPEB3W64TM

# Decode without padding (common in authenticator apps)
def b32decode_nopad(s: str) -> bytes:
    pad = (8 - len(s) % 8) % 8
    return base64.b32decode(s.upper() + "=" * pad)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.