O que esta ferramenta faz
Gera UUIDs nos formatos que os engenheiros realmente usam: v4 (aleatório), v7 (com prefixo de timestamp, ordenável) e os valores especiais NIL e MAX. A saída é configurável — com ou sem hífenes, minúsculas ou maiúsculas, com ou sem chavetas — para corresponderes ao que o teu sistema-alvo espera. Podes gerar até 1000 de uma vez.
Quando usar
- Produzir chaves primárias para uma nova tabela sem ida à base de dados.
- Gerar chaves de idempotência para chamadas de API com retries.
- Preencher fixtures de teste com IDs estáveis mas únicos.
- Migrar de IDs auto-increment para identificadores opacos.
Como funciona
Os UUIDs v4 vêm de crypto.getRandomValues, o CSPRNG do navegador. Os bits de versão (4) e variante (RFC 4122) são definidos conforme a especificação, deixando 122 bits de aleatoriedade — a probabilidade de colisão é efetivamente zero para qualquer ritmo realista de geração.
Os UUIDs v7 codificam um timestamp Unix em milissegundos de 48 bits seguido de 74 bits aleatórios. Como o timestamp lidera, os IDs v7 ordenam-se lexicograficamente por hora de criação, o que os torna mais amigos da cache que os v4 em índices B-tree. Foram padronizados no RFC 9562 (maio de 2024).
Notas
Devo mudar de v4 para v7 em chaves de base de dados? Provavelmente sim para tabelas novas. Os IDs v7 agrupam-se por hora de inserção, o que mantém as linhas recentes nas mesmas páginas de índice e reduz a amplificação de escrita. A desvantagem é que o tempo de criação fica exposto no ID — para IDs públicos opacos, fica em v4.
O que é NIL vs MAX? NIL é só zeros (00000000-0000-0000-0000-000000000000) e MAX é só uns — valores sentinela definidos no RFC 9562 para "nenhum UUID" e "o UUID máximo".
Estes são criptograficamente aleatórios? v4 sim. v7 tem 74 bits aleatórios — também derivados criptograficamente, mas os timestamps reduzem o espaço de busca para um atacante, por isso não uses v7 como token de sessão.
Ferramentas relacionadas
- UUID v4 — página só com aleatórios
- UUID v7 — página só com ordenáveis
- Gerador de hashes — quando precisas de um digest do conteúdo, não de um ID opaco