Identificadores y tiempo

Decodificador de Snowflake ID

Elige el diseño del sistema que emitió el número.

Decodificador de Snowflake ID

ID Snowflake decimal

Informe

Los cálculos se realizan en tu navegador; no se suben las entradas.

Opciones

Un ID decimal, hasta 256 caracteres. Sin URL ni listas.

Twitter snowflake-2010: 41/5/5/12. Nodo alto = centro de datos, bajo = worker; bit de signo reservado a 0. Ver fuente

Introduce un ID o carga un ejemplo.

El Decodificador de Snowflake ID resulta útil cuando un registro solo contiene un identificador, sin una fecha de creación aparte. Primero hay que conocer el esquema de origen. Un mismo número puede dar fechas plausibles con épocas distintas, así que una fecha razonable no basta para identificar la plataforma que lo emitió.

Por qué usar este Decodificador de Snowflake ID

Distinguir el formato de cada plataforma

Este Decodificador de Snowflake ID separa el Twitter original archivado de Discord. El tiempo ocupa 41 o 42 bits y las dos partes del nodo tienen significados diferentes. La época y el enlace a la fuente del ajuste permiten contrastar el cálculo antes de usarlo en una cronología.

Un identificador dividido en tiempo, dos partes del nodo y secuencia, con un reloj conectado al campo temporal.

Reproducir un fallo sin cambiar datos

Una hora, un nodo y una secuencia fijos producen el mismo identificador de prueba. Compara los grupos binarios con las máscaras de tu aplicación. El diseño personalizado permite mover los límites y observar qué campo recibe los bits cuando cambia la distribución.

Dos distribuciones continuas de bits con límites distintos entre tiempo, nodo y secuencia.

Tres detalles que conviene comprobar

01

Localiza el esquema de origen

Twitter original corresponde al código archivado snowflake-2010. Discord utiliza su formato documentado sin signo. Si el servicio es propio, introduce su época y las anchuras: el identificador no incluye esa información.

02

Comprueba unidades y nodo combinado

La época y la hora de generación se expresan en milisegundos Unix. El nodo combinado vale parte alta × 32 + parte baja. En Twitter son centro de datos y worker; en Discord, worker y proceso.

03

Exporta cuando termine la actualización

El modo automático espera 350 ms tras la última edición. Desactívalo para ejecutar con el botón o Ctrl/Cmd + Enter. Cambiar un parámetro bloquea la exportación hasta obtener un resultado nuevo. La generación de pruebas siempre es manual.

Los campos que contiene el número

Mantener los últimos dígitos

La entrada decimal se convierte directamente en BigInt. Con Discord, 175928847299117063 devuelve 2016-04-30T11:18:25.796Z, nodo 32 y secuencia 7. Los ID adyacentes conservan sus diferencias aunque un número de coma flotante pudiera redondearlos al mismo valor.

Ver fecha, desplazamiento y bits

La marca de tiempo aparece como UTC, milisegundos Unix y distancia desde la época. Los grupos binarios mantienen los ceros iniciales. Twitter muestra además su bit de signo reservado a cero; Discord utiliza los 64 bits completos.

Definir una época personalizada

El diseño continuo coloca tiempo, nodo y secuencia de mayor a menor peso. El nodo o la secuencia pueden ocupar cero bits y entonces solo admiten cero. Así puedes comprobar el reparto de tu servicio sin atribuirle un formato de plataforma equivocado.

Crear datos de prueba repetibles

El generador de Snowflake ID combina los campos y vuelve a decodificarlos para inspección. Deja la hora vacía para usar el reloj al ejecutar o indica milisegundos para repetir el caso. Copia el ID o descarga el informe JSON con todos los parámetros.

Qué demuestra el resultado

No se adivina la plataforma
La cifra no contiene el nombre de su época. Una configuración incorrecta puede dar una fecha creíble sin provocar un error. El ajuste Twitter original tampoco representa todas las versiones internas actuales de X.
Milisegundos y un máximo de 64 bits
Solo se admiten campos continuos en el orden tiempo → nodo → secuencia. El tiempo necesita al menos un bit. No se interpretan segundos, microsegundos, posiciones dispersas ni otros órdenes de campos.
Un entero decimal cada vez
Se permiten espacios alrededor y ceros iniciales. Se rechazan ID negativos, fracciones, notación científica, hexadecimal, URL y listas. Cada entrada numérica admite hasta 256 caracteres; los enteros exportados siguen siendo cadenas para evitar redondeos posteriores.
La prueba no garantiza unicidad
Parámetros idénticos generan ID idénticos. No se asignan workers ni se mantiene un contador persistente o coordinación frente a retrocesos del reloj. Cero y fechas futuras son casos válidos si caben en el diseño, sin demostrar que exista un objeto real.
No consulta cuentas ni publicaciones
Los campos internos no revelan nombres, contenidos ni ubicaciones físicas. No hay consultas a una API para verificar objetos. Las fechas que superan el intervalo representable se rechazan explícitamente, sin recortarlas.

Decodificador de Snowflake ID: dudas

¿Cómo obtengo la fecha de creación a partir de un ID de Discord?

Selecciona Discord y pega la cadena original. El Decodificador de Snowflake ID elimina los 22 bits inferiores y suma 1420070400000 milisegundos. La fecha UTC refleja el tiempo codificado, no una comprobación independiente de la publicación.

¿En qué se diferencian las épocas de Twitter y Discord?

Twitter original empieza en 1288834974657 ms y Discord en 1420070400000 ms. También cambia la anchura temporal: 41 frente a 42 bits. Sustituir solo la época no contempla toda la diferencia de formato.

¿Por qué las partes del nodo llegan a 31 y la secuencia a 4095?

Cada mitad tiene 5 bits, con valores de 0 a 31. Juntas forman un nodo de 10 bits, de 0 a 1023. La secuencia tiene 12 bits, de 0 a 4095. Se rechazan valores superiores para impedir que invadan el siguiente campo.

¿Puedo usar la época de mi propio servicio?

Sí. Elige el diseño personalizado e introduce una época Unix con signo en milisegundos y las tres anchuras. La hora generada debe estar en la época o después, y la diferencia debe caber en el campo temporal.

¿Por qué mi código JavaScript calcula otra fecha o secuencia?

Number no representa exactamente todos los enteros superiores a 2^53 − 1. Conserva el ID como cadena y opera con BigInt. Si una hoja de cálculo o un analizador ya redondeó los últimos dígitos, necesitas recuperar el valor original.

¿Tienes dudas sobre el diseño?

Comprueba el siguiente ID

El Decodificador de Snowflake ID guarda el diseño junto al resultado. Contrasta la fecha y los campos inferiores antes de añadir el informe a tu diagnóstico.