雪花ID生成器

在线生成和解析雪花ID(Snowflake ID),支持自定义机器ID和纪元时间

关于雪花ID
  • 雪花ID(Snowflake ID)是 Twitter 开源的分布式唯一ID生成方案,64位整数,趋势递增
  • 结构:1位符号位 + 41位时间戳 + 10位机器ID + 12位序列号,每毫秒可生成 4096 个不重复ID
  • 广泛用于分布式系统中替代数据库自增ID,避免分库分表时的ID冲突
操作说明
  • 生成模式:设置机器ID和数量,选择纪元时间,点击「生成ID」
  • 解析模式:输入已有雪花ID(每行一个),选择对应的纪元时间,点击「解析」
  • 点击「复制全部」可一次性复制所有生成的ID
注意事项
  • 机器ID范围 0~1023(10位),包含数据中心ID(5位)和工作节点ID(5位)
  • 解析时必须使用与生成时相同的纪元时间,否则时间戳解析结果不正确
  • 浏览器端生成的ID仅供测试,生产环境应在服务端生成以保证唯一性
  • 所有计算均在浏览器本地完成,不会上传任何数据
雪花ID 知识详解
64位结构详解
位段位数说明最大值
符号位1 bit始终为 0,保证正整数
时间戳41 bit相对纪元的毫秒数约 69 年
数据中心ID5 bit数据中心编号0~31
工作节点ID5 bit机器/进程编号0~31
序列号12 bit同毫秒内的序号0~4095
雪花ID vs UUID 对比
特性雪花IDUUID v4
长度64 bit(约 19 位数字)128 bit(36 字符含连字符)
趋势递增✅ 是(按时间排序)❌ 否(完全随机)
数据库索引✅ 友好(B+树效率高)⚠️ 较差(随机插入)
全局唯一✅(需协调机器ID)✅(概率唯一)
可读性✅ 纯数字⚠️ 含连字符的十六进制
各平台雪花ID变体
平台纪元时间特点
Twitter2010-11-04 01:42:54 UTC原始实现
Discord2015-01-01 00:00:00 UTC用于消息/用户ID
Instagram2011-01-01 00:00:00 UTCPostgreSQL 实现
百度 UidGenerator2016-09-20支持容器部署