AZ Tools

Decodificador de Snowflake ID (Discord, Twitter)

Desenvolvimento

Um Snowflake é um ID de 64 bits que empacota uma marca de tempo em milissegundos, um identificador de máquina e um contador de sequência por milissegundo em um único número ordenável. Discord, Twitter/X, Instagram e muitos sistemas distribuídos os usam. Este decodificador divide o ID de volta em suas partes: desloca os bits altos para recuperar a marca de tempo crua, soma a época personalizada da plataforma para obter a data e hora UTC reais, e separa os bits baixos nos campos de worker, processo, datacenter, shard ou sequência que aquela plataforma usa. Escolha Discord (época 2015-01-01, worker de 5 bits + processo de 5 bits + incremento de 12 bits), Twitter/X (época 2010-11-04, 5+5+12), Instagram (shard de 13 bits + sequência de 10 bits) ou Personalizado com sua própria época. A marca de tempo é mostrada como UTC ISO, seu horário local, um relativo "há x" e os milissegundos de época crus. Tudo roda localmente; nada é enviado.

Marca de tempo

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

Campos

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

Época Discord 2015-01-01 · Twitter/X 2010-11-04 · Instagram 2011-08-24. Decodifique com a plataforma que emitiu o ID.

Como usar

  1. Escolha a plataforma (Discord, Twitter/X, Instagram ou Personalizado).
  2. Cole o Snowflake ID — por exemplo um ID de usuário ou mensagem do Discord.
  3. Leia a marca de tempo de criação e os campos de worker / sequência; copie o horário UTC ou a época conforme necessário.

Perguntas frequentes

Onde encontro um Snowflake ID?
No Discord, ative o Modo Desenvolvedor e clique com o botão direito em um usuário, mensagem, canal ou servidor para copiar o ID. No Twitter/X é o número longo no fim da URL de um tweet. Os IDs de mídia do Instagram são retornados pela API. Qualquer um desses IDs numéricos longos pode ser decodificado aqui.
Por que cada plataforma precisa de uma época diferente?
A marca de tempo de um Snowflake conta milissegundos desde uma 'época' escolhida em vez da época Unix, o que permite caber em menos bits. Discord usa 2015-01-01, Twitter/X usa 2010-11-04 e Instagram usa 2011-08-24. Decodifique com a plataforma errada e a data ficará anos fora — escolha a fonte que emitiu o ID.
O que são os campos de worker e sequência?
Para gerar IDs sem coordenação, cada máquina embute seu próprio identificador (worker/processo no Discord, datacenter+worker no Twitter, shard no Instagram) mais um contador de sequência que incrementa para vários IDs criados no mesmo milissegundo. Eles permitem saber qual nó produziu um ID e aproximadamente quão ocupado estava.
A marca de tempo é exata?
Sim — a marca de tempo em milissegundos está codificada diretamente no ID, então o horário de criação é exato ao milissegundo (assumindo que o relógio do servidor gerador estava correto). O tempo relativo é calculado contra o relógio atual do seu dispositivo.

Ferramentas relacionadas