开发工具 125文本工具 40编码加密 40图片文件 66查询工具 46计算转换 57站长工具 57生活工具 55娱乐工具 39金融理财 45
首页/开发工具/NanoID 生成器

NanoID 生成器

在线批量生成 NanoID:默认 21 位、使用 64 个 URL 安全字符(A-Z a-z 0-9 _ -),长度和条数都可调。相比 UUID 更短、可读性更好,还有足够大的随机空间,常用来做主键、短链标识、文件名。使用加密级随机源生成。

本地运行 · 数据不上传 开发工具 免费 · 无需注册
NanoID 结果
点上方「生成」按钮开始

使用说明

  1. 设好长度(默认 21)和条数(默认 10),点「生成」。
  2. 结果一行一个,点「复制」可以整段拿走。
  3. 字符集是 URL 安全的,可以直接放进链接和文件名,不用转义。
  4. 需要 UUID 格式(8-4-4-4-12)请用「UUID 生成器」。

常见问题

21 位会不会重复?
几乎不会。64 个字符、21 位长度意味着约 64²¹ ≈ 2.7×10³⁷ 种可能,要产生一次碰撞大约需要生成 10¹⁸ 个 ID(生日问题)。作为对比,UUID v4 是 122 位随机,NanoID 21 位约 126 位随机,强度相当但短得多。
为什么要用 _ 和 - 而不是特殊符号?
因为这两个字符在 URL、文件名、命令行里都不需要额外转义,是「无摩擦」的字符。NanoID 的设计目标就是短且到处能用,所以故意避开了 +、/、= 这些需要转义的字符。
能做数据库主键吗?
可以,而且比自增 ID 更好的一点是不暴露业务量、不可猜测。但要注意它是随机的,作为聚簇索引(如 MySQL InnoDB 主键)会导致插入位置随机、页分裂较多。数据量大时可以用「时间前缀 + NanoID」的方案兼顾有序性与不可预测性。

相关工具

开发工具 · 该分类共 125 个工具,展开查看全部