ULID 编号生成器 生成带有嵌入时间戳的可排序 ULID 标识符。
ULID 编号生成器
生成带有嵌入时间戳的可排序 ULID 标识符。
设置选项
选择数量和大小写首选项。
生成
输入任何内容以生成ULID。
复制ULID
从输出中复制生成的ULID。
What Is ULID 编号生成器?
ULID(通用唯一字典排序标识符)生成器创建的128位标识符既是唯一的,又可以按照创建时间进行排序。与UUID不同,ULID在前48位中编码了毫秒级精度的时间戳,其后跟着80位的随机数。这意味着稍后生成的ULID总是在排序上优先于较早的ULID,使其非常适合用作数据库主键、事件日志和任何需要按时间顺序排列的场景。ULID使用Crockford的Base32编码,产生紧凑的26个字符的字符串,这些字符串是URL安全的且区分大小写。
Why Use ULID 编号生成器?
-
可按创建时间排序 - 新的ID总是排在旧的后面
-
使用Crockford Base32压缩成26个字符的字符串
-
URL安全且大小写不敏感
-
兼容UUID 128位存储
-
嵌入毫秒精度的时间戳
Common Use Cases
数据库主键
使用ULID作为可排序的主键,维护插入顺序而无需额外的时间戳列。
事件源
生成按时间自然排序的有序事件ID。
分布式系统
创建跨服务维护全局时间顺序的唯一ID。
日志条目
为日志条目分配可排序的ID,以便于按时间顺序查询。
Technical Guide
ULID格式是一个26个字符的Crockford Base32字符串:10个字符用于表示48位时间戳(自Unix纪元以来的毫秒数),16个字符用于表示80位随机数。时间戳部分编码了创建时间并提供排序功能--在同一毫秒内生成的ULID将根据其随机组件进一步进行排序。Crockford Base32使用0-9和A-Z(不包括I、L、O、U)字符,以避免歧义。这种编码比十六进制更紧凑(26个字符vs UUID的36个),同时保持相同的128位信息内容。实现使用crypto.getRandomValues()生成随机部分。
Tips & Best Practices
-
1ULID按创建时间lexicographically排序 - 适合数据库排序
-
2前10个字符编码了时间戳 - 可以提取创建时间
-
3ULID大小写不敏感;小写选项是出于样式偏好
-
426个字符的ULID比36个字符的UUID更紧凑
-
5ULID可以存储在兼容UUID的16字节二进制列中
Related Tools
Frequently Asked Questions
Q ULID与UUID有什么不同?
Q ULID会发生碰撞吗?
Q 可以从ULID中提取时间戳吗?
Q ULID是否URL安全?
Q 应该使用UUID还是ULID?
About This Tool
ULID 编号生成器 is a free online tool by FreeToolkit.ai. All processing happens directly in your browser — your data never leaves your device. No registration or installation required.