生成
创建 ULID、NanoID、CUID、Snowflake ID,或带前缀的 API 密钥。
Free Online Developer Tools - ULID, UUID, NanoID, CUID, Snowflake ID, JWT Decoder, Base64, JSON Formatter & More
01JAZ4XK9M3Q7R8T2V5W6Y0B1C
按用途分组。每个工具有自己的页面,并在浏览器中运行。
创建 ULID、NanoID、CUID、Snowflake ID,或带前缀的 API 密钥。
解码 ULID,比较或批量校验,按时间排序,或转换并查看 UUID。
复制结构片段,在浏览器中跑插入基准,或估算冲突概率。
对比两份文档,测试 JSONPath,或生成并应用 JSON Patch。
解码 JWT,进行 Base64 编码,计算哈希,或转换时间戳。
ID、令牌和粘贴的文本在你的设备上处理,不会上传。
打开工具,粘贴,复制。用 Ctrl+K 搜索工具。
ULID 按创建时间排序。同一站点还有 UUID、NanoID、CUID、Snowflake、令牌和 JSON。
从上方选一个工具,看下方的对比,或按 Ctrl+K 搜索。
创建一个 ID,或粘贴一个 ID 读取时间戳和结构。
本页提供几种语言的代码示例。
为什么在许多情况下 ULID 比 UUID 更好?
时间可排序
前 10 个字符编码毫秒时间戳,因此按时间排序
Crockford 的 Base32
更高效的编码,不区分大小写,没有特殊字符
单调递增选项
可以为相同时间戳生成单调递增的值
人类可读
在日志和数据库中更容易调试和阅读
UUID v4 没有时间顺序
随机 UUID v4 不带时间戳。UUID v7 带
十六进制编码
效率较低,相同信息需要更多字符
无单调性
没有内置机制用于单调递增值
可读性较差
在日志和数据库中更难区分和识别
本页已有语言的可复制示例。
以下是一些代码示例,帮助您开始
// Node.js / 浏览器
// 安装: npm install @ulid/javascript
import { ulid } from '@ulid/javascript';
// 生成新的 ULID
const myUlid = ulid(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
// 使用自定义时间戳创建 ULID (毫秒)
const customTimestamp = 1616239022000;
const ulidWithCustomTime = ulid(customTimestamp);
// 创建单调递增的 ULID (用于同一毫秒内的多个 ID)
import { monotonicFactory } from '@ulid/javascript';
const monotonic = monotonicFactory();
const ulid1 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R4"
const ulid2 = monotonic(); // "01F8MECHZX3TBDSZ7XR8H8J1R5" (递增)
// 从 ULID 提取时间戳
const timestamp = ulid.decode(myUlid).time;
console.log(new Date(timestamp).toISOString());JavaScript:npm install @ulid/javascript
ULID 是 26 个 Crockford Base32 字符。前 10 个字符编码毫秒时间戳,所以较新的 ID 会排在较旧的 ID 之后。随机 UUID v4 是 36 个字符,不带时间。本站也可以生成带时间戳的 UUID v7。
工具处理留在浏览器中。粘贴的 ID、令牌和文本不会上传,也不会存在服务器上。主题和生成历史保存在你设备的 localStorage 里。只有你接受 cookie 提示后才会加载 Google Analytics。Cloudflare Web Analytics 不使用 cookie,只记录页面访问。详见隐私政策。
免费。不需要账号。
Quyen Quach,在越南。邮箱 [email protected]。站点公开链接的 GitHub 个人页是 github.com/vinhquyen。
英语、越南语、中文和俄语。
生成器在你的浏览器中运行。
打开生成器