HardGuard25
Generate human-friendly unique IDs using a 25-character alphabet designed to exclude common visual confusables.
Enter a whole number from 1 to 32.
Enter a whole number from 1 to 500.
The optional check digit adds one character after the payload. It detects common entry errors but adds no random entropy.
Generation happens locally with the browser Web Crypto API. This page does not send or store generated codes.
Codes will appear here
Standard alphanumeric codes use 36 characters (0-9, A-Z). That creates problems when humans read, transcribe, or dictate codes aloud. HardGuard25 keeps all 10 digits and 15 carefully chosen letters, removing 11 sources of confusion. When a letter and a digit compete for the same visual slot, the digit always wins.
| Removed | Reason |
|---|---|
| O | Looks like 0 (zero) |
| I | Looks like 1 (one) or l (lowercase L) |
| L | Looks like 1 (one) or I (uppercase i) |
| B | Looks like 8; dyslexia mirror pair with D |
| S | Looks like 5 |
| Z | Looks like 2 |
| E | Looks like 3 for dyslexic readers; digits take priority |
| Q | Looks like O in some typefaces; dyslexia mirror pair with P |
| V | Easily confused with U |
| T | Resembles a plus sign in some contexts |
| X | Collides with multiplication operator; varies by locale |
Read the full specification on GitHub.
← HardGuard25 home
HardGuard25 by Sam Rogers,
Snap Synapse LLC
Original article
· GitHub
· Specification
llms.txt · agents.json