不喜欢广告? 无广告 今天

雪花ID生成器(Twitter风格)

数据开发人员随机的
广告 移除?

生成

10位机器/工作节点标识符(0-1023)
用于打包ID的自定义起始时间戳

或者

解码


解码Snowflake

广告 移除?

指导

Snowflake ID生成器(Twitter风格)

雪花ID生成器(Twitter风格)

使用经典的Twitter位布局生成64位Snowflake ID:一个41位的毫秒时间戳,一个10位的机器/工作节点ID,以及一个每毫秒12位的序列号。每个ID均在客户端通过BigInt运算生成,因此不会离开您的浏览器,批量生成最多1000个ID在单个机器上始终不会发生碰撞。

如何使用

  1. 集合 数数 (1到1000) 表示您想要的Snowflake ID数量。
  2. 选择一个 机器ID 在0到1023之间,以确保不同工作节点的ID不会发生碰撞。
  3. 选择一个 纪元:Twitter(2010-11-04)、Discord(2015-01-01)或纯Unix。
  4. 选择一个 输出格式:十进制、十六进制、二进制、JSON或CSV。
  5. 点击 生成,然后复制或下载结果。
  6. 要解码,请将现有的Snowflake ID粘贴到解码器中,以查看其时间戳、机器ID、序列号、十六进制和64位二进制分解。

特征

  • 批量生成 – 一键生成最多1000个按时间排序的64位ID。
  • 可配置的机器ID – 适用于分片部署的完整10位范围(0-1023)。
  • 多种时间起点 – 提供Twitter、Discord和Unix时间起点预设,以实现跨系统兼容性。
  • 多种输出格式 – 十进制、十六进制、二进制、JSON或CSV。
  • 内置解码器 – 可将任意Snowflake ID反向解析为时间戳、机器ID、序列号、十六进制和二进制组成部分。
  • 正确的序列号处理 – 当4096/毫秒预算耗尽时,自动递增并等待下一毫秒。
  • 完全客户端 – 使用BigInt运算,无需服务器调用,不记录任何日志。

常问问题

  1. 什么是Snowflake ID?

    Snowflake ID是一种64位整数,专为分布式系统设计。Twitter于2010年引入该格式,以替代自动递增的数据库ID:通过将自定义时间起点的毫秒时间戳与机器/工作节点ID和每毫秒序列号打包在一起,生成可排序且无碰撞的ID,无需中央协调即可生成。

  2. 41 + 10 + 12 位布局是如何工作的?

    最高位作为符号位保留,剩下63位可用。接下来的41位编码自自定义时间起点以来的毫秒数(适用于约69年)。接下来的10位标识机器或工作节点(最多支持1024个机器)。最后的12位是序列计数器,允许单个机器在每毫秒内生成最多4096个ID,之后需要等待。

  3. 为什么Snowflake ID按时间排序?

    因为时间戳占据了64位值的最高有效位,因此来自同一时间起点的任意两个Snowflake ID首先按时间戳比较,然后才按机器ID和序列号比较。这意味着ID的字母或数字排序也大致是时间顺序,这在数据库索引、分页和日志关联中非常有用。

  4. 如果单个机器在一毫秒内生成超过4096个ID会发生什么?

    12位序列计数器会溢出。一个正确的Snowflake实现会检测到溢出,直到系统时钟前进到下一个毫秒后才重新启动,并将序列重置为零。本工具遵循此模式,因此批量生成不会在相同机器上产生重复ID。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?