雪花 ID 解码器(Discord、Twitter/X)
把 Discord 或 Twitter/X 的雪花 ID 转成创建时间以及工作节点、进程和序列号字段,或把日期转成雪花 ID,用于按时间搜索。
位结构:64 位 ID = 42 位时间戳(自纪元起的毫秒数)· 5 位 · 5 位 · 12 位序列号。时间均为 UTC。
Discord、Twitter/X 以及许多其他系统,会给每条消息、每个用户和每篇帖子分配一个以创建时间开头的 64 位“雪花”ID。这个解码器把 ID 转成精确的 UTC 时间以及工作节点、进程和序列号字段;反方向则把日期转成那一刻的最小 ID,对 Discord 的 before/after 搜索和 API 分页很有用。
使用方法
- 粘贴一个或多个 ID(用 Discord 开发者模式复制,或从帖子网址中获取)。
- 选择平台以使用正确的纪元,或输入自定义纪元。
- 查看创建时间和内部字段。
- 要按时间搜索,切换到“日期 → ID”,把最小的 ID 用作 after 或 since 参数。
计算公式
timestamp (ms) = (ID >> 22) + epoch; field 1 = (ID >> 17) & 31; field 2 = (ID >> 12) & 31; sequence = ID & 4095. In reverse, ID = (ms − epoch) << 22.
Discord 的纪元是 1420070400000(2015 年 1 月 1 日 UTC),Twitter 的是 1288834974657(2010 年 11 月 4 日)。ID 超出了 JavaScript 的安全整数范围,所以本页使用 BigInt 运算。
示例
Discord 文档里的示例 175928847299117063 右移 22 位得到 41,944,705,796 毫秒,即 Discord 纪元之后的 2016-04-30 11:18:25.796 UTC,内部工作节点 1、进程 0、增量 7。该毫秒内的最小 ID 是 175928847298985984。
常见问题
能通过 ID 知道是谁发的吗?
不能。雪花 ID 只编码了时间以及由哪个内部工作节点生成,不包含任何用户信息。
为什么大的 ID 在电子表格里会丢失数位?
雪花 ID 大于 2^53,而这是双精度浮点数能精确表示的最大整数。请像本页一样把它们当作文本保存。
其他服务也使用雪花 ID 吗?
很多服务都在用,只是各有自己的纪元和位布局。如果某个服务公布了纪元,请使用自定义纪元;这里显示的 22 位划分与 Discord 和 Twitter 一致。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/snowflake-id-decoder/
引用此工具
kakaoCalc. (2026, November 8). 雪花 ID 解码器(Discord、Twitter/X). https://kakao.mobile/zh/tools/snowflake-id-decoder/
“雪花 ID 解码器(Discord、Twitter/X).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/snowflake-id-decoder/.