search

Found

info Visão geral

Cole um UUID para detectar sua versão (v1-v8, Nil, Max), variante (RFC 4122, etc.) e extrair carimbo de tempo, nó ou bits aleatórios.

📘 Como usar

  1. Cole uma cadeia UUID no campo de entrada
  2. Verifique o nibble de versão e os bits de variante destacados na visão de bytes hex
  3. Leia a versão, a variante e o carimbo de tempo ou o nó extraídos

Detector de Versão UUID

Aceita formas com hífens, chaves ou prefixo urn:uuid:.

Visão de bytes hex

Nibble de versão Bits de variante

Versão

v4

Variante

RFC 4122

Resumo

Metadados extraídos

Article

Detector de Versão UUID | Decodifique v1 a v8, Nil e Max

Cole um UUID e identifique cada versão, da v1 à v8, além de Nil, Max e entradas inválidas. O 13º dígito (nibble de versão) e o 17º dígito (bits de variante) são destacados por cor na visão de bytes, e os carimbos de tempo de v1, v6 e v7 são decodificados, junto com a sequência de relógio e o nó MAC nas v1 e v6.

💡 Sobre esta ferramenta

Diante de uma coluna de UUID num log, saber se cada um é temporal ou puramente aleatório não é trivial. Dá para perceber que o 13º caractere carrega a versão, mas deduzir a variante a partir do 17º dígito, ou reconstruir manualmente um carimbo de tempo de 60 bits da v1 a partir da época gregoriana de 1582, foge ao cálculo mental.

Esta ferramenta normaliza o que você cola para uma cadeia de 32 dígitos hexadecimais e a classifica segundo a RFC 4122 (v1 a v5) e a RFC 9562 (v6, v7, v8, Nil, Max). Ela aceita formas com hífens, com chaves e com o prefixo urn:uuid:, então você pode colar uma cadeia copiada direto do código ou de uma linha de banco de dados. O nibble de versão e os bits de variante ficam destacados, o que também ajuda a visualizar como os bits se distribuem dentro do UUID em vez de confiar apenas numa biblioteca.

🧐 Perguntas frequentes

Qual dígito determina a versão? Depois de remover os hífens, restam 32 dígitos hexadecimais; o 13º (primeiro caractere do terceiro grupo) é o nibble de versão. O valor 4 indica aleatório, 1 indica temporal e 7 indica um UUID ordenável pelo tempo Unix.

Qual a diferença entre versão e variante? A versão indica o método de geração (tempo, acaso, hash de nome). A variante indica a família de disposição dos bits. A ferramenta lê os bits altos do 17º dígito e informa RFC 4122, NCS, Microsoft ou Reservado. Quase todos os UUID encontrados são da variante RFC 4122.

Por que o carimbo de tempo da minha v1 mostra um ano inesperado? Porque as v1 e v6 contam intervalos de 100 nanossegundos a partir de 15 de outubro de 1582, data de adoção do calendário gregoriano, e não a partir da época Unix. A ferramenta aplica esse deslocamento e exibe o resultado no formato ISO 8601. Já a v7 usa milissegundos Unix diretos.

Como a ferramenta distingue uma v3 de uma v5? Ambas são baseadas em nome: derivam de um namespace somado a um hash. A diferença está no algoritmo: a v3 usa MD5 e a v5 usa SHA-1. A ferramenta indica isso nos metadados extraídos.

O que acontece com um UUID só de zeros? Ele é reportado como UUID Nil. Se todos os bits forem 1, é reportado como Max. Ambos são valores especiais definidos na RFC 9562, usados como marcadores de posição ou valores não atribuídos.

📚 Curiosidades: o nibble que decide tudo

A RFC 9562, publicada em 2024, substituiu a RFC 4122 e oficializou as v6, v7 e v8 que muitas bibliotecas já ofereciam de forma experimental. O objetivo central era resolver um defeito conhecido da v4: por ser puramente aleatória, ela espalha as inserções num índice B-tree e o fragmenta. A v7, ao colocar 48 bits de carimbo de tempo em milissegundos no início, mantém as chaves novas quase ordenadas e compactas. A v6, por sua vez, reordena os campos temporais da v1 para tornar os bytes ordenáveis lexicograficamente, oferecendo um destino de migração a sistemas já cheios de v1. Tudo isso se decide em um único nibble: justamente o que esta ferramenta destaca.