Base32 Random ID Generator

Base32-encoded random bytes

Generating...

About

Base32 encoding uses 32 characters (A-Z, 2-7) to represent binary data. Base32 IDs are case-insensitive, human-readable, and avoid ambiguous characters like 0, O, 1, I, and L. They're useful for identifiers that need to be communicated verbally or in case-insensitive contexts. Base32 is defined in RFC 4648 and is commonly used in applications like TOTP (Time-based One-Time Passwords) and various encoding schemes.

Use Cases

  • Case-insensitive identifier systems
  • Verbal communication of IDs
  • TOTP and two-factor authentication codes
  • Human-readable unique identifiers
  • Systems avoiding ambiguous characters
  • URL-safe identifiers (no special characters)

How to Generate

Library

Native implementation or base32 library

NPM Package

npm install base32 (optional - can implement natively)

Code Example

// Native implementation
const base32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
const bytes = new Uint8Array(10);
crypto.getRandomValues(bytes);
// Encode bytes to Base32...

Note: Base32 encoding can be implemented natively or using libraries like 'base32' or 'base32.js'.