nanoid-dictionary icon indicating copy to clipboard operation
nanoid-dictionary copied to clipboard

Provide predefined alphabets containing only characters that are clearly distinguishable when read & spoken

Open matthewadams opened this issue 3 years ago • 2 comments

Motivation: to provide alphabets that produce ids that can be both read & spoken without ambiguity.

Please provide alphabets that contain only those characters whose spoken & written forms are clearly distinguishable and unambiguous when spoken. Default, I suppose, would be en_US, but it'd be bonus to provide alphabets for many locales in both case-sensitive and case-insensitive flavors (for locales that support casing).

As an en_US example, the characters M & N would be removed because they sound too similar when spoken, as would S & F, and so on.

1 & l ("el") as well as 0 & O should be excluded because they look too similar in many locales.

My suggestion for en_US (case-insensitive) might be: AEGHJKQRUVWXYZ246789

matthewadams avatar Oct 07 '22 22:10 matthewadams

@matthewadams how do we determine what's easy to speak and what's not?

For things that are confusing when reading we have nolookaliakes.

CyberAP avatar Apr 26 '25 13:04 CyberAP

I'm applying to solve the problem of creating alphabets for IDs that are easy to read and speak without confusion. My approach involves filtering out visually or phonetically similar characters (like 1 and l, or M and N), starting with en_US and supporting other locales. I’d build a script to generate safe alphabets for both case-sensitive and case-insensitive use. With experience in usability-focused development and attention to detail, I’m well-suited for this task.

Blue-smoke007 avatar May 29 '25 14:05 Blue-smoke007