1001Ferramentas
🐦Geradores

Gerador de Twitter Snowflake ID

Gere um Snowflake ID no estilo do Twitter/X (64 bits com timestamp) para testes. Útil para simular IDs de tweets, usuários e mensagens em desenvolvimento.


  

Snowflake do Twitter (X): como funcionam os IDs de tweet

Cada tweet — agora "post" no X — é identificado por um Snowflake numérico. O formato foi liberado como open-source pelo Twitter em 2010 (o repositório original está em github.com/twitter-archive/snowflake, arquivado depois que a empresa migrou para um sucessor chamado Cinder e voltou silenciosamente). A estrutura permanece a mesma independente do branding: um inteiro de 64 bits com bit de sinal, timestamp em milissegundos, datacenter ID, machine ID e sequência por milissegundo.

Layout de bits e epoch do Twitter

 1 bit  | 41 bits        | 5 bits     | 5 bits   | 12 bits
 sinal  | timestamp ms   | datacenter | máquina  | sequência
 (0)    | desde epoch-2010 | (0-31)   | (0-31)   | (0-4095)

O epoch do Twitter começa em 1288834974657 ms — ou seja, 4 de novembro de 2010 às 01:42:54,657 UTC. Para recuperar a data de criação de qualquer tweet, basta deslocar o ID 22 bits para a direita e somar o epoch: (snowflake >> 22) + 1288834974657 = unix_ms. Os tweet IDs modernos têm 19 caracteres decimais porque os bits superiores continuam crescendo conforme os anos passam.

Tweet ID vs status ID, v1.1 vs v2

Na documentação oficial, "tweet ID" e "status ID" significam exatamente a mesma coisa — o campo se chama id na v2 e historicamente era id_str na v1.1. A REST API v1.1 foi descontinuada; a X API v2 atual retorna o ID como string, não inteiro, porque valores de 64 bits estouram o Number nativo do JavaScript (que só representa com segurança inteiros até 253). Sempre faça parse de tweet IDs como string no client — caso contrário você perde precisão silenciosamente.

Tweets pré-Snowflake e o rebrand do X

Tweets postados entre março de 2006 e fim de 2010 usavam um inteiro auto-incremento simples — esses IDs antigos não decodificam num timestamp Snowflake. Depois do rebrand de 2023 de Twitter para X, o formato de ID foi mantido intocado: checkmarks azuis pagos, Community Notes e o novo algoritmo de ranking coexistem com os mesmos Snowflakes de 64 bits. URLs do tipo twitter.com/i/web/status/{id} e x.com/{user}/status/{id} resolvem para o mesmo objeto.

Snowflakes do Twitter vs Discord

As duas plataformas usam exatamente o mesmo formato de 64 bits, mas epochs diferentes. O Discord deslocou o deles para 1420070400000 (1º de janeiro de 2015) para que seus IDs comecem em uma faixa numérica menor. Isso significa que um inteiro puro não diz qual serviço o produziu — você precisa saber o epoch antecipadamente para decodificar o timestamp corretamente.

Perguntas frequentes

Consigo extrair a data em que um tweet foi postado só do ID? Sim. Desloque o ID 22 bits à direita e some o epoch do Twitter (1288834974657) para obter o timestamp unix em milissegundos — precisão de milissegundo. É a base de toda investigação forense do tipo "primeiro tweet do ano X".

Se um tweet foi deletado, consigo ainda ver o conteúdo pelo ID? Não. Uma vez deletado, a plataforma retorna 404 ou uma "tombstone". A única chance é um arquivo de terceiros como Wayback Machine, archive.today, ou um dataset como o Twitter Stream Grab — nenhum garantido.

Um bot ou scraper pode forjar tweet IDs? Sim — qualquer número de 64 bits com timestamp passado válido parece plausível. A plataforma simplesmente retorna 404 para IDs que nunca foram cunhados. Não confie num ID até confirmar que ele retorna um tweet real via API.

Retweets e respostas têm Snowflakes novos? Sim. Um retweet é um objeto de tweet novo com ID e timestamp próprios; o original é referenciado via referenced_tweets (v2). O mesmo vale para respostas e quote tweets.

Ferramentas Relacionadas