AZ Tools

Decodificador de Snowflake ID (Discord, Twitter)

Desarrollo

Un Snowflake es un ID de 64 bits que empaqueta una marca de tiempo en milisegundos, un identificador de máquina y un contador de secuencia por milisegundo en un único número ordenable. Discord, Twitter/X, Instagram y muchos sistemas distribuidos los usan. Este decodificador divide el ID de vuelta en sus partes: desplaza los bits altos para recuperar la marca de tiempo cruda, suma la época personalizada de la plataforma para obtener la fecha y hora UTC reales, y separa los bits bajos en los campos de worker, proceso, datacenter, shard o secuencia que usa esa plataforma. Elige Discord (época 2015-01-01, worker de 5 bits + proceso de 5 bits + incremento de 12 bits), Twitter/X (época 2010-11-04, 5+5+12), Instagram (shard de 13 bits + secuencia de 10 bits) o Personalizado con tu propia época. La marca de tiempo se muestra como UTC ISO, tu hora local, un relativo «hace x» y los milisegundos de época crudos. Todo corre localmente; no se sube nada.

Marca de tiempo

UTC2016-04-30T11:18:25.796Z
Local4/30/2016, 11:18:25 AM
Relativohace 10y 2mo
Época ms1462015105796
Marca cruda41944705796

Campos

Worker (5b)1
Proceso (5b)0
Incremento (12b)7

Época Discord 2015-01-01 · Twitter/X 2010-11-04 · Instagram 2011-08-24. Decodifica con la plataforma que emitió el ID.

Cómo usar

  1. Elige la plataforma (Discord, Twitter/X, Instagram o Personalizado).
  2. Pega el Snowflake ID — por ejemplo un ID de usuario o mensaje de Discord.
  3. Lee la marca de tiempo de creación y los campos de worker / secuencia; copia la hora UTC o la época según necesites.

Preguntas frecuentes

¿Dónde encuentro un Snowflake ID?
En Discord, activa el Modo Desarrollador y haz clic derecho sobre un usuario, mensaje, canal o servidor para copiar su ID. En Twitter/X es el número largo al final de la URL de un tuit. Los ID de medios de Instagram los devuelve su API. Cualquiera de estos ID numéricos largos se puede decodificar aquí.
¿Por qué cada plataforma necesita una época distinta?
La marca de tiempo de un Snowflake cuenta milisegundos desde una 'época' elegida en lugar de la época Unix, lo que le permite caber en menos bits. Discord usa 2015-01-01, Twitter/X usa 2010-11-04 e Instagram usa 2011-08-24. Decodifica con la plataforma equivocada y la fecha estará desviada por años — elige la fuente que emitió el ID.
¿Qué son los campos de worker y secuencia?
Para generar ID sin coordinación, cada máquina incrusta su propio identificador (worker/proceso en Discord, datacenter+worker en Twitter, shard en Instagram) más un contador de secuencia que se incrementa para varios ID creados en el mismo milisegundo. Permiten saber qué nodo produjo un ID y aproximadamente cuán ocupado estaba.
¿Es exacta la marca de tiempo?
Sí — la marca de tiempo en milisegundos está codificada directamente en el ID, así que la hora de creación es exacta al milisegundo (suponiendo que el reloj del servidor generador era correcto). El tiempo relativo se calcula contra el reloj actual de tu dispositivo.

Herramientas relacionadas