UUID 生成器
格式选项
生成数量
免费在线UUID/GUID/ULID/NanoID生成器,支持5种唯一ID格式、批量最多100条、格式自定义和UUID验证识别,打开即用适合数据库主键和测试造数。
免费在线UUID/GUID/ULID/NanoID生成器,支持5种唯一ID格式、批量最多100条、格式自定义和UUID验证识别,打开即用适合数据库主键和测试造数。
UUID(Universally Unique Identifier)和 GUID(Globally Unique Identifier)本质上是同一个东西,只是叫法不同:UUID 是 IETF 标准(RFC 4122)的正式名称,GUID 是微软在 Windows 生态中的习惯叫法。两者的格式完全一致,都是形如 `550e8400-e29b-41d4-a716-446655440000` 的128位标识符。本工具生成的标准 UUID 可以直接用于任何需要 GUID 的场景。
UUID v1 基于时间戳和MAC地址生成,按时间有序可追溯,但可能泄露MAC地址;UUID v4 完全基于随机数生成,是最常用、最安全的选择,适合绝大多数主键和标识场景;UUID v5 是基于命名空间的哈希版本(SHA-1),相同命名空间+相同名称始终生成相同UUID,适合需要确定性输出的场景。一般开发中默认选 UUID v4 即可。
ULID(26字符)比 UUID(36字符含连字符)更短,按时间排序,适合数据库索引和日志追踪;NanoID(21字符默认)更短更快,用URL安全字符,URL和Cookie中无需转义,体积比UUID小30%。三者碰撞概率都极低,但分布式系统中ULID的可排序性更有优势,NanoID在前端/URL场景下更友好。
可以。本工具支持1到100条批量生成,点击数量按钮或拖动滑块设定数量后一键生成,适合测试造数、批量导入和脚本准备唯一ID。生成后支持一键复制全部结果,也可导出为TXT文本或JSON文件。
批量生成操作说明可以。切换到「验证」标签页,输入任意字符串,工具会自动识别并验证:标准UUID(v1/v3/v4/v5)会告知具体版本号,还支持识别ULID(26位Crockford Base32格式)和NanoID(21位URL安全字符)格式,开发调试中快速排查ID格式问题非常方便。
完全安全。本工具所有ID生成和验证都在你本地浏览器中通过JavaScript完成,使用crypto.getRandomValues()加密安全随机数,不会向任何服务器发送你生成的ID,也不会记录生成历史到云端。即使断网也可以正常使用,适合在企业内网和敏感项目中使用。
可以。对于UUID v1/v4/v5,工具提供两个开关:「大写」可切换输出大小写,「连字符」可去掉中间的横杠(适合在URL、配置文件或某些数据库中使用无连字符格式)。ULID和NanoID默认无连字符,也支持大小写切换。
命令行(如Linux的uuidgen、Python的uuid模块)需要开发环境支持,在线工具打开即用,无需安装任何软件。此外本工具还集成了UUID版本识别、批量导出、历史记录等增值功能,在跨设备(如帮非技术同事生成ID)或临时需要时更方便。
UUID(Universally Unique Identifier,通用唯一识别码)是一种128位的标识符标准,由开放软件基金会(OSF)标准化,定义在 RFC 4122 中。它的目的是让分布式系统中的所有元素都能有唯一的标识信息,而不需要通过中央控制端来做ID的指定。
一个标准的UUID形如 `550e8400-e29b-41d4-a716-446655440000`,由32个十六进制数字组成,以连字符分成5段(8-4-4-4-12)。理论上UUID v4的碰撞概率约为1/10^36,即每秒生成10亿个UUID,持续约800年才会有50%概率发生一次碰撞,实际应用中可以认为是唯一的。
UUID被广泛应用于数据库主键、分布式追踪ID、请求Request-ID、日志Trace-ID、文件唯一命名、测试数据ID、会话标识等场景,几乎所有主流编程语言都内置了UUID生成库。
| 特性 | UUID v4 | ULID | NanoID |
|---|---|---|---|
| 长度 | 36字符(含连字符)/ 32字符(无连字符) | 26字符 | 默认21字符 |
| 字符集 | 16进制(0-9a-f) | Crockford Base32(32个字符) | URL安全(64个字符) |
| 排序性 | 无序(随机) | 按时间有序 | 无序(随机) |
| URL安全 | 需转义(含连字符和字母数字) | 基本安全(大写字母+数字) | 完全URL安全 |
| 生成速度 | 快 | 快 | 比UUID快约60% |
| 碰撞概率 | 1/10^36 | 1/10^36 | 1/10^34(21位时) |
| 典型场景 | 数据库主键、通用ID | 分布式系统、日志追踪 | 短链URL、前端标识、Cookie |
| 语言 | 代码 |
|---|---|
| JavaScript | crypto.randomUUID() // 现代浏览器/Node.js 19+ |
| Python | import uuid; uuid.uuid4() |
| Java | UUID.randomUUID() |
| Go | github.com/google/uuid; uuid.New() |
| Bash/Linux | uuidgen 或 cat /proc/sys/kernel/random/uuid |
现代浏览器和 Node.js 14.17+ 内置了 Web Crypto API,可以直接生成UUID v4,无需第三方库。
// 现代浏览器 / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"
// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();使用 Python 标准库 uuid 模块批量生成多个 UUID v4,适合测试数据准备。
import uuid
# 生成单个UUID
uid = uuid.uuid4()
print(uid)
# 批量生成10个
for _ in range(10):
print(uuid.uuid4())
# 生成无连字符的大写UUID
print(uuid.uuid4().hex.upper())在 Linux/macOS 终端中快速生成UUID,适合shell脚本中使用。
# Linux uuidgen # macOS uuidgen | tr 'A-Z' 'a-z' # 直接从系统随机文件读取(最原始方式) cat /proc/sys/kernel/random/uuid