支持 NanoID / ULID / UUID / KSUID / CUID / 自定义格式 · 本地生成
NanoID 是一种紧凑、URL安全的唯一标识符格式,默认长度为21字符。与UUID相比,NanoID更短(21 vs 36字符)、更快、支持自定义字符集。NanoID使用密码学安全的随机数生成器,保证高熵值和极低碰撞概率。目前被广泛应用于现代Web应用、数据库主键、短链接等场景。
ULID(Universally Unique Lexicographically Sortable Identifier)是一种可按字典序排序的唯一标识符。前10个字符是时间戳(毫秒精度),后16个字符是随机数。这意味着ULID可以按生成时间排序,非常适合数据库索引场景。UUID v4是完全随机的,不可排序。ULID比UUID短(26 vs 36字符),且使用Crockford Base32编码,便于人工阅读。
完全安全。所有ID生成都在您的浏览器本地完成,使用 JavaScript 的 Crypto API (getRandomValues) 生成密码学安全随机数。数据不会上传到任何服务器,即使断开网络也能正常使用。您可以放心在敏感项目中使用生成的ID。
选择指南:
• NanoID:适合需要短ID的场景(URL、短链接、API密钥),默认21字符足够安全
• ULID:适合数据库主键、需要按时间排序的数据、日志ID
• UUID v4:适合需要标准化唯一标识的场景,API设计、跨系统数据交换
• 自定义:适合有特定格式要求(前缀/后缀、特定长度、特定字符集)的场景
NanoID(21字符,使用64字符集)的碰撞概率极低:每天生成10亿个ID,需要约1.8亿年才可能碰撞。增加长度可进一步降低概率。ULID使用128位随机数,碰撞概率同样极低。为保险起见,建议在数据库中对ID字段加唯一索引。
💡 提示:所有处理在浏览器本地完成,数据不上传任何服务器。支持离线使用。