符合 RFC 9562 的时间有序可排序 UUID:批量生成、单调递增、反解内嵌时间戳,全程浏览器本地
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
同一毫秒内也严格升序,适合做有序主键。
解出的时间会显示在这里。
这个工具能做什么
在浏览器里生成 UUIDv7,也就是 RFC 9562 定义的时间有序 UUID。一个 v7 把 48 位 Unix 毫秒时间戳放在最高位,后面接版本位、随机位、变体标记和 更多随机,所以这些 ID 当成普通字符串排序就是按时间排序。这正是它和大家 熟悉的全随机 v4 的区别:v7 主键能让 B-tree 索引大致保持时间有序,插入 集中在索引右端,ORDER BY id 同时就是按创建时间排,不用再单建一个 created_at 列。一次生成 1 到 100 个;打开单调递增模式,同一毫秒里产出 的 ID 也严格升序;可切换大写和连字符格式,可复制单个或全部。内置解码器 接受任意 v7,把内嵌时间戳还原成毫秒数,再给出可读的 UTC 与本地时间,并 校验版本位和变体位,畸形的或是 v4 的 ID 会立刻被挡下。随机数来自 crypto.getRandomValues,不上传任何内容。
工具细节
- 输入
- 文本 + 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 下载
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
UUIDv7 生成器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
把 Postgres 主键从 v4 换成 v7
你在设计一张新表,想让 ID 列顺便带上插入顺序。先在这里生成几个 v7 看清格式,确认它们按你预期的顺序排列,再把列默认值设成 v7 生成器。 新行会插到 B-tree 索引右端而不是四处散落,"取最新 50 行"就变成 ORDER BY id DESC LIMIT 50,不用再维护一个 created_at 列。
做只追加的事件日志或 outbox 表
outbox 或事件流需要的键既要唯一,又要让事件保持发生顺序。打开单调 模式,每个 v7 都严格大于上一个,哪怕一毫秒里落进几千个也成立。消费者 按 ORDER BY id 读,就能完全照生产者写入的顺序回放,而且时间戳直接 从每个 ID 上就能读出来。
直接从 ID 反查记录的创建时间
工单里贴了个记录 ID,比如 0190b3b0-6400-7000-...,你想不碰数据库就 知道它什么时候建的。粘进解码器,读出精确到毫秒的时间和对应 UTC。 不用碰 schema、不用查 created_at,时间就写在 ID 的前 48 位里。
给测试夹具灌入真实且时间有序的 ID
写依赖顺序的集成测试?生成一批单调 v7 放进夹具,"最新优先"这类断言 就能稳定通过。因为它们是标准 UUID,不用自定义类型就能放进任意 UUID 列或 ORM 模型,点全部复制直接粘到 seed 文件里。
常见踩坑
把 UUIDv7 当密钥用。随机位让碰撞几乎不可能,但开头那 48 位是完全可读的时间戳。v7 是标识符不是令牌,别拿它当会话密钥、密码重置码,或任何必须整体不可猜的东西。
把 v7 放进公开 URL 却没想过泄露的时间信息。因为创建时间能直接解出,公开的 v7 等于暴露了记录大致的创建时刻,相邻的单调 ID 还会暴露你创建记录的速度。如果创建时间敏感,就把 v7 留在内部,对外给一个不透明的别名。
用忽略版本位的通用 UUID 正则去校验 v7。一个放行任意 8-4-4-4-12 十六进制的模式,会把 v4 或全零的 NIL 也当合法。要检查第 13 个十六进制字符是不是 7、变体位是不是 0b10,本页解码器在读时间戳之前就是这么做的。
隐私说明
每个 UUIDv7 都在你的浏览器标签页里生成。随机位来自 crypto.getRandomValues,和系统生成密钥用的是同一套加密随机源,不是 Math.random,也不会离开页面。解码器同样全程在本地跑,你粘进来查看 时间戳的 UUID 不会被记录或上传。只有设置,也就是数量以及单调、大写、 连字符这几个开关,会写进可分享的网址;生成的 ID 本身每次点击都重新 随机,始终留在本地。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。