← 返回工具箱

NanoID 生成

NANOID · 生成器

本地批量生成 NanoID:长度默认 21,字符集默认 URL 安全字母表(A-Za-z0-9_-),比 UUID 更短更适合做 ID。

数量 长度
NANOID · crypto.getRandomValues
大小写分隔前缀后缀
NanoID 是比 UUID 更短、URL 安全的随机 ID:默认 21 位、约 131 位熵;关掉 URL-safe 可换用完整字母表。全程本机生成。

>_ 使用指南 · GUIDE

在浏览器本地批量生成 NanoID:默认长度为 21,默认字符集是 URL 安全的字母表(A-Za-z0-9_-),长度与字符集可按需调整,点一次即生成一批,直接复制使用。

NanoID 是近年来流行的紧凑型唯一 ID:相比 UUID,它更短(默认 21 字符 vs UUID 的 36 字符)、字符集天然 URL 安全、且基于密码学安全的随机源生成。作为数据库主键、短链标识、文件名、分享链接里的 ID 都很好用,接近「越短越好、无冲突、可直接进 URL」。

常见用法:

  1. 单条/批量:需要几个 ID 就生成几个,复制粘贴到代码或数据里
  2. 调长度:要更短可减小长度(如 10–12),要更强可加长
  3. 改字符集:默认字母表已 URL 安全,特殊场景可自定义
  4. 示例对照:点示例生成一段,直观感受不同长度下的形态与密度

生成完全在浏览器本地完成,随机源来自密码学安全的 WebCrypto,不会上传任何数据。

>_ 常见问题 · FAQ

Q1 · NanoID 和 UUID 有什么区别?什么时候用哪个?

UUID v4 是 36 字符(含连字符)、随机 122 位,几乎不可能碰撞但较长;NanoID 默认 21 字符,用更大的字符集(64 字符 URL 安全字母表)在更短的长度内保留高随机性。想「一眼短、能进 URL、够随机」,用 NanoID;需要与既有 UUID 字段/系统兼容、或需要严格标准格式,用 UUID。两者都是不错的唯一 ID 方案。

Q2 · NanoID 默认长度为什么是 21?

21 是官方推荐的默认值:在 64 字符字母表下,21 位能提供与 UUID 相近的碰撞防护量级,同时保持足够短的观感。想更短可降到 10–12(碰撞概率上升但仍适合多数业务),想更稳妥可加长到 25+,可按需权衡。

Q3 · NanoID 会不会碰撞(重复)?

理论上有概率,但极小。随机 ID 都存在碰撞可能,NanoID 通过足够的长度与全随机位把概率压到可忽略水平。要彻底无碰撞,应改用自增/有序 ID 或由数据库主键保证唯一,随机 ID 更适合「离线生成、难以预测」的场景。

Q4 · NanoID 的字符集安全吗?会出现在 URL 或文件名里出问题吗?

默认字母表 A-Za-z0-9_- 中,- 和 _ 都是 URL 与常见文件名的安全字符,不含 +、/、= 等需要编码的字符,因此可直接放进 URL 路径、查询串、文件名而无需转义。这正是它相比部分 base64 字符串的优势。

Q5 · NanoID 是纯随机的,能保证「安全不可猜」吗?

默认生成使用密码学安全随机数(等同 UUID v4 的随机源),对手无法预测或枚举,适合用作临时令牌、分享密钥等需防猜测的标识。若业务不需要防猜测,也可接受更短的 ID。绝不要用可预测的种子或时间戳直接当随机源。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。