Decodificador de timestamp de UUID v7
Extraia o timestamp em milissegundos embutido nos primeiros 48 bits de um UUID v7 e converta-o de volta para data e hora UTC apenas colando a string. Detecta versões que não são v7 e anomalias no variant, funcionando como o inverso da ferramenta irmã "Gerador de UUID v7".
Layout de bits do UUID v7
| Intervalo de bits | Campo | Descrição |
|---|---|---|
| 0-47 | unix_ts_ms | Milissegundos desde a época Unix, armazenados em big-endian. O valor que esta ferramenta extrai. |
| 48-51 | version | O número da versão do UUID. Fixo em 0111 (7 em hexadecimal) para v7. |
| 52-63 | rand_a | 12 bits de dados aleatórios. Algumas implementações os usam para preservar a ordem dentro do mesmo milissegundo. |
| 64-65 | variant | Valor fixo 10 que indica o variant da RFC 4122/9562. O primeiro dígito hexadecimal resulta em 8/9/a/b. |
| 66-127 | rand_b | 62 bits de dados aleatórios, fornecendo entropia para evitar colisões. |
O que significa extrair a marca temporal de um UUID v7
O UUID v7, normalizado no RFC 9562 em 2024, incorpora o instante de criação nos seus primeiros 48 bits como uma marca temporal Unix em milissegundos. É por isso que, ao ordenar um conjunto deles, ficam por ordem de criação, e por isso usá-los como chaves primárias mantém baixa a fragmentação dos índices. Cole aqui um UUID e esta ferramenta recupera esses 48 bits como data e hora em UTC.
Também indica a versão e a variante. Se colar algo que não seja um v7, a marca temporal é na mesma calculada e apresentada, acompanhada de um aviso de que o valor não é um v7. Um v4 aleatório dará uma data sem sentido, mas vê-lo acontecer é uma boa forma de perceber o que cada tipo de UUID realmente transporta. Uma tabela de distribuição de bits mostra o que vem depois desses primeiros 48 bits. Tudo corre no seu navegador.
Como ler uma marca temporal dentro de um UUID
- Cole o UUID A forma padrão de 36 caracteres com hífenes, 8-4-4-4-12. Funciona tanto em maiúsculas como em minúsculas.
- Verifique a versão e a variante Um v7 não gera qualquer aviso. Qualquer outra coisa é assinalada como não sendo um v7.
- Leia a hora recuperada Surge de três formas: milissegundos Unix, ISO 8601 em UTC e a hora local do seu próprio dispositivo.
- Consulte a tabela de bits Pode ver o que ocupa cada intervalo de bits depois da marca temporal de 48 bits: a versão, a variante e a parte aleatória.
Dicas para aproveitar melhor
- Toda a decodificação acontece inteiramente dentro do JavaScript do seu navegador; o UUID informado nunca é enviado ao servidor do toolbase.cc.
- Se a chave primária do seu banco de dados usa UUID v7, você pode recuperar o momento de criação do registro apenas colando a chave aqui, mesmo sem uma coluna created_at dedicada.
- Informar um UUID que não seja v7 (como v4) gera um aviso, mas o valor de referência extraído mecanicamente dos primeiros 48 bits ainda é exibido, o que é útil para aprender como os formatos diferem.
- Se precisar gerar um UUID, use a ferramenta irmã "Gerador de UUID v7" — ela produz UUIDs que esta ferramenta consegue decodificar de volta diretamente.
- Colar aqui, um a um, os valores de UUID v7 encontrados em arquivos de log ou respostas de API é uma forma prática de estimar quando eventos ocorreram em um sistema externo durante a depuração.
Onde isto ajuda
Recuperar quando ocorreu um evento registado
Mesmo um registo sem coluna de data pode ser datado se as suas chaves primárias forem v7, o que ajuda a reconstruir a ordem dos factos durante um incidente.
Confirmar que as chaves ordenam por criação
Introduza os UUID de vários registos um após outro e verifique se a implementação produz mesmo valores ordenados no tempo.
Decidir se adotar v7
Ver o que se consegue extrair torna tangível o compromisso: quem tiver o valor pode ler o instante de criação, o que é um inconveniente sempre que esse momento seja sensível.
Distinguir versões
Saber à vista se um UUID recebido é um v4 ou um v7 é difícil, e isto resolve-o de imediato.
Termos dos UUID
- UUID v7
- A versão normalizada no RFC 9562, que leva uma marca temporal Unix em milissegundos nos primeiros 48 bits. Poder ser ordenado por tempo é o que principalmente o distingue do v4.
- Versão
- O dígito na décima terceira posição hexadecimal, que indica como o UUID foi gerado. Num v7 é 7.
- Variante
- Um valor à parte que descreve a disposição interna. Nos UUID que seguem o RFC 9562, a décima sétima posição é 8, 9, a ou b.
- Milissegundos Unix
- Milissegundos decorridos desde 1 de janeiro de 1970 às 00:00:00 UTC. Quarenta e oito bits bastam para chegar ao ano 10889.
- Em que difere o v4
- Um v4 é essencialmente todo aleatório e **não transporta qualquer informação sobre quando foi criado.** Por isso não se ordena por criação, mas em troca ninguém consegue ler o seu momento de origem.
Perguntas frequentes
Curiosidade — Dando ao UUID um relógio embutido
O que torna o UUID v7 revolucionário é o fato de o próprio identificador guardar permanentemente seu momento de geração. Com o antigo UUID v4, uma coluna created_at separada era essencial para saber quando um registro foi criado, mas se a chave primária de uma tabela usa UUID v7, o momento de geração pode ser recuperado mecanicamente apenas a partir da string do ID. Esta ferramenta oferece esse processo de recuperação como o inverso da ferramenta irmã "Gerador de UUID v7".
Essa propriedade é especialmente útil em investigações de incidentes e migrações de dados. Se o ID de um pedido enterrado em um log antigo, ou um ID de evento recebido de um sistema externo, estiver em formato UUID v7, você consegue saber instantaneamente, de forma aproximada, quando o registro foi criado, sem precisar consultar uma coluna de timestamp dedicada. Isso também se aplica a sistemas legados sem coluna created_at, ou à análise de valores UUID v7 emitidos por outra empresa.
Dito isso, há ressalvas. Um timestamp de UUID v7 depende inteiramente do relógio da máquina que o gerou, então, se o relógio desse servidor estiver errado, o resultado extraído também estará. Além disso, tenha em mente que esta ferramenta extrai mecanicamente um "possível timestamp" mesmo de outras versões de UUID, como v4 — isso é puramente uma interpretação de posições de bits e não garante que o valor resultante seja significativo.