Gerador de UUID
Gere UUIDs nas versões 4 e 7, em lote, no formato que você precisa e com cópia num clique.
O que a ferramenta gera
Um UUID é um identificador de 128 bits pensado para ser criado em qualquer máquina, sem combinar nada com ninguém, e ainda assim não colidir com os identificadores criados em outro lugar. O formato está definido na RFC 9562, publicada em maio de 2024, que substituiu a antiga RFC 4122 e acrescentou as versões ordenáveis por tempo. É essa norma que esta ferramenta segue, nas versões 4 e 7, gerando até 100 de uma vez.
O sorteio usa crypto.getRandomValues, a API criptográfica do seu próprio navegador — a mesma que o gerador de senhas usa. Nenhum identificador é enviado ou armazenado por nós: eles nascem e morrem na sua aba.
Versão 4 e versão 7: a escolha que importa
As duas versões têm exatamente 128 bits e o mesmo formato de escrita. O que muda é de onde vêm os bits.
| Campo | Versão 4 | Versão 7 |
|---|---|---|
| Bits sorteados | 122 | 74 (mais 48 de horário) |
| Ordenável no tempo | Não | Sim, pela ordem alfabética |
| Revela quando foi criado | Não | Sim, com precisão de milissegundo |
| Uso típico | Identificador exposto, chave de correlação, nome de arquivo | Chave primária de banco de dados, fila de eventos |
A vantagem prática do v7 aparece no banco de dados. Índices B-tree são baratos quando as chaves chegam em ordem crescente: cada registro novo entra no fim e só a última página é tocada. Com um identificador aleatório, cada inserção cai num ponto imprevisível do índice, o que espalha as escritas e fragmenta as páginas. O v7 devolve a ordenação sem exigir uma coluna de data ao lado — e o preço é que o horário de criação fica legível para quem tiver o identificador em mãos. Se isso for informação sensível no seu caso, o v4 continua sendo a escolha certa.
Como os bits são organizados
Dos 128 bits, seis são fixos e servem para dizer o que o identificador é: quatro para a versão (o 13º dígito hexadecimal) e dois para a variante, que a RFC exige que sejam 1 e 0 — é por isso que o 17º dígito é sempre 8, 9, a ou b. O resto é sorteio, no v4; no v7, são 48 bits de horário Unix em milissegundos e 74 bits sorteados.
Um detalhe que quase nenhum gerador trata: quando vários UUIDs v7 são criados no mesmo milissegundo, o carimbo de tempo deles é idêntico e a ordem entre eles seria sorteada — o que anularia a única vantagem do v7 justamente no caso mais comum, que é inserir um lote de registros. A RFC 9562 resolve isso na seção 6.2, e nós usamos o método recomendado ali: um contador de 12 bits logo depois do carimbo, sorteado a cada milissegundo novo e incrementado a cada identificador. Gere um lote de 20 na versão 7 e confira: eles saem em ordem estritamente crescente.
Formatos de escrita
O mesmo identificador pode aparecer de várias formas, e todas significam a mesma coisa. A forma canônica da RFC tem 32 dígitos hexadecimais em cinco grupos separados por hífen, em minúsculas; a norma aceita maiúsculas na leitura. A forma sem hífens economiza espaço em campos de tamanho fixo. As chaves são a convenção do ecossistema Microsoft (onde o mesmo objeto se chama GUID). A URN é a forma oficial para usar o identificador como URI.
Premissas e limites
- A unicidade é probabilística. A ferramenta não consulta nada nem mantém registro do que já gerou — nenhum gerador de UUID faz isso. Ver a primeira pergunta abaixo, com o número real.
- Não use UUID como segredo. A própria RFC recomenda não tratá-lo como credencial que concede acesso por posse.
- Não geramos as versões 1, 3, 5, 6 nem 8. A 1 e a 6 embutem o endereço físico da placa de rede, o que é um problema de privacidade; a 3 e a 5 derivam de um nome dentro de um espaço de nomes, que é outro caso de uso; a 8 é livre por definição.
- O carimbo do v7 vem do relógio do seu computador. Se ele estiver errado, o identificador carrega a data errada.
Fontes
- IETF. RFC 9562: Universally Unique IDentifiers (UUIDs), maio de 2024 — em especial as seções 5.4 (versão 4), 5.7 (versão 7), 6.2 (monotonicidade e contadores) e 8 (considerações de segurança). Torna obsoleta a RFC 4122.
- MDN Web Docs. Crypto.getRandomValues() — a fonte de aleatoriedade usada aqui, e a única parte da Web Crypto que funciona fora de um contexto seguro.
Perguntas frequentes
A unicidade é probabilística, não garantida — e a própria RFC 9562 diz isso: "a verdadeira unicidade global é impossível de garantir sem um esquema de conhecimento compartilhado". Na prática o número tranquiliza: a versão 4 tem 122 bits sorteados, e seria preciso gerar cerca de 2,7 quintilhões de UUIDs para ter 50% de chance de UMA repetição. Gerando um bilhão por segundo, isso levaria 86 anos. Em um trilhão de UUIDs, a chance de colisão é de aproximadamente 1 em 10 trilhões.
A versão 7, na maioria dos bancos de dados. Os 48 primeiros bits dela são o horário de criação, então a ordem alfabética é a ordem cronológica: cada registro novo entra no fim do índice, que é o padrão de escrita que o B-tree foi feito para atender. Com a versão 4, cada inserção cai num ponto aleatório do índice, o que espalha as escritas e fragmenta as páginas. Fique na versão 4 quando o identificador for exposto e o horário de criação for informação sensível — o v7 entrega essa data para qualquer pessoa que leia o identificador.
Não. A RFC 9562 é explícita ao recomendar que UUIDs não sejam usados como credenciais que concedem acesso por posse. Um UUID v4 tem 122 bits de entropia, o que parece bastante, mas ele costuma aparecer em URLs, logs, cabeçalhos e telas — ou seja, vaza por vias que uma senha não percorre. O v7 é pior nesse papel, porque metade dele é previsível. Para segredo, gere um valor dedicado com um gerador criptográfico e trate-o como segredo.
Nenhuma no conteúdo. GUID ("globally unique identifier") é o nome que a Microsoft usa para a mesma estrutura de 128 bits, e por isso aparece no ecossistema .NET, no SQL Server e no registro do Windows. A diferença é de escrita: o mundo Microsoft costuma mostrar o valor entre chaves e, às vezes, em letras maiúsculas. Por isso a ferramenta oferece os dois formatos — o conteúdo é o mesmo identificador.
Porque seis dos 128 bits não são sorteados: eles identificam o formato. O 13º dígito hexadecimal é o número da versão (4 ou 7, nesta ferramenta) e os dois primeiros bits do 17º dígito são a variante, que a RFC 9562 exige que sejam 1 e 0 — e é isso que restringe esse dígito a 8, 9, a ou b. Todo o resto é sorteio (ou, no v7, horário e contador).
Era, até maio de 2024, quando a RFC 9562 a tornou obsoleta. A mudança principal foi acrescentar as versões 6, 7 e 8, todas voltadas para ordenação por tempo, e reorganizar as recomendações sobre geradores aleatórios. As versões 4 e 1 continuam válidas e com o mesmo formato — o que muda é que a versão 7 passou a existir oficialmente. Boa parte do conteúdo que se encontra sobre UUID ainda cita a RFC 4122 e, por isso, nem menciona a versão 7.
Segurança: leia antes de usar
UUID identifica, não protege. Não o use como senha, token de sessão, chave de API ou link secreto de compartilhamento: ele aparece em URLs, logs e telas, e a versão 7 ainda entrega o horário de criação a quem o ler. Para segredo, gere um valor dedicado e trate-o como segredo. E lembre que a unicidade é altíssima, mas probabilística — se o seu sistema não pode conviver com uma colisão em hipótese alguma, ele precisa de uma restrição de unicidade no banco de dados, não de confiança no formato.
Precisa conferir se dois textos são idênticos ou verificar a integridade de um conteúdo? O Gerador de Hash calcula SHA-256 e os demais algoritmos da família. E, para proteger contas de verdade, use o Gerador de Senhas Seguras.