Gerador de UUID
Gere UUIDs v4 e v7 online, em lote, com maiúsculas ou sem hífens. Valide e identifique a versão. Grátis, direto no navegador.
Nenhum UUID gerado ainda. Clique em "Gerar" para criar a lista.
Como usar
- Escolha a versão: v4 (aleatório) ou v7 (baseado em tempo, ordenável).
- Informe a quantidade de 1 a 100 e ajuste maiúsculas, minúsculas e hífens.
- Clique em "Gerar" para criar a lista de UUIDs.
- Use "Copiar todos" ou o botão de cada linha para levar os valores para a área de transferência.
- Para conferir um UUID existente, cole-o em "Validar um UUID" e veja versão e variante.
Como funciona
UUID (Identificador Único Universal) é um número de 128 bits escrito em 32 dígitos hexadecimais, normalmente separados em cinco grupos no padrão 8-4-4-4-12. Ele serve para identificar registros sem precisar de um servidor central que distribua números: cada sistema pode criar o seu próprio identificador com chance desprezível de repetir o de outro.
Esta ferramenta gera UUIDs v4 e v7 conforme a RFC 9562, usando crypto.getRandomValues, o gerador criptograficamente seguro do navegador. Nada é enviado a servidores e nenhum valor é gerado antes do seu clique em "Gerar".
Diferença entre v4 e v7
- v4: 122 bits aleatórios e 6 bits fixos (versão e variante). Não revela nada sobre quando foi criado e não tem ordem.
- v7: começa com um timestamp Unix de 48 bits em milissegundos, seguido de bits aleatórios. Como o tempo vem primeiro, os valores crescem de forma aproximada com o relógio e podem ser ordenados.
Colisão e chave de banco de dados
Com 122 bits aleatórios, o v4 tem cerca de 5,3 x 1036 combinações. Pelo paradoxo do aniversário, seria preciso gerar aproximadamente 2,7 x 1018 UUIDs para ter 50% de chance de uma única colisão. Na prática, colisão acidental não é uma preocupação, desde que a fonte de aleatoriedade seja boa.
Como chave primária, o v4 espalha as inserções por todo o índice, o que causa divisão de páginas e cache menos eficiente em tabelas grandes. O v7 insere sempre perto do fim do índice, como um número sequencial, e por isso costuma ser a melhor opção para novas tabelas. O custo é que o v7 expõe o momento de criação: evite-o em identificadores que não podem vazar essa informação.
Erros comuns
- Usar UUID como segredo ou token de acesso: ele é identificador, não credencial.
- Gerar UUIDs com
Math.random(), que não é seguro nem tem entropia boa. - Comparar UUIDs sem normalizar maiúsculas, minúsculas e hífens.
- Guardar como texto de 36 caracteres quando o banco tem tipo UUID nativo.
Exemplo
O valor 550e8400-e29b-41d4-a716-446655440000 tem o dígito 4 na primeira posição do terceiro grupo (versão 4) e a na primeira posição do quarto grupo. Em binário, a é 1010, que começa com 10 e indica a variante padrão. No v7, o mesmo dígito de versão é 7 e os 12 primeiros dígitos formam o timestamp em milissegundos.
Perguntas frequentes
Os UUIDs gerados aqui são realmente aleatórios?
Sim. A ferramenta usa crypto.getRandomValues, o gerador criptograficamente seguro do navegador, e não Math.random. Os valores são criados no seu computador no momento do clique e não são enviados nem guardados em nenhum servidor.
Devo usar UUID v4 ou v7 como chave primária?
Para tabelas novas e grandes, o v7 costuma ser melhor, porque os valores crescem com o tempo e as inserções ficam concentradas no fim do índice. O v4 é ideal quando o identificador não pode revelar a data de criação ou quando a ordenação não importa.
Dois UUIDs podem ser iguais?
Em teoria sim, na prática não. No v4 há 122 bits aleatórios: seriam necessários cerca de 2,7 quintilhões de UUIDs para atingir 50% de chance de uma colisão. Por garantia, a coluna de chave primária no banco deve ter restrição de unicidade.
Posso usar UUID como senha ou token de sessão?
Não é recomendado. UUID foi feito para identificar registros, não para autenticar. O v7 ainda embute o horário de criação, o que o torna parcialmente previsível. Para segredos, use tokens gerados especificamente para isso, com tamanho e entropia adequados.