Gerador de UUID
Gere UUIDs v4, v7 e v1 em lote, até 10.000 de uma vez, ou decodifique um identificador existente para ver a versão, a variante e o timestamp.
Como gerar um UUID
- 1
Escolha a versão do UUID
Use v4 para aleatoriedade pura, v7 quando precisar de identificadores que fiquem em ordem de criação, ou v1 para o formato clássico baseado em tempo. NIL e MAX dão os dois valores constantes reservados.
- 2
Defina a quantidade e o formato
Gere até 10.000 de uma vez. Escolha maiúsculas ou minúsculas, se os hifens ficam e se cada valor vai entre aspas, entre chaves ou com o prefixo urn:uuid:, para colar direto no código.
- 3
Copie a lista ou baixe o arquivo
Copie todos os valores gerados para a área de transferência com um clique, ou baixe o lote como arquivo de texto simples ou como CSV; os lotes v1 e v7 incluem uma coluna de timestamp.
Por que o v7 está substituindo o v4 em chaves de banco de dados
Um UUID v4 tem 122 bits de aleatoriedade pura. Por isso, um lote deles inserido em um índice de banco de dados chega em ordem totalmente imprevisível: as gravações se espalham pelo índice inteiro, e o desempenho cai em grande escala. Um UUID v7 começa com um timestamp de 48 bits em milissegundos, então os identificadores gerados mais tarde sempre ficam, na ordenação, depois dos gerados antes. Você ganha a localidade de gravação de um inteiro com autoincremento e mantém a resistência a colisões e a geração descentralizada de um UUID. Esta ferramenta mantém os lotes v7 monotônicos mesmo dentro do mesmo milissegundo, usando os bits mais altos da parte aleatória como contador.
Por que o v1 daqui nunca contém um endereço MAC
A definição original do UUID v1, de 1993, montava os 48 bits finais a partir do endereço MAC da placa de rede, com a ideia de que dois computadores nunca têm o mesmo. No navegador esse endereço não está disponível. E, mesmo onde está, colocar um MAC real em cada linha do banco de dados é, pela própria concepção, um vazamento que permite rastrear o dispositivo. Este gerador sempre preenche esses 48 bits com bytes aleatórios e ativa o bit de multicast, exatamente como a RFC 9562 permite. Assim, a vantagem de ordenação por tempo do v1 continua, sem expor nenhum identificador de hardware.
Todo identificador é gerado localmente
A geração, a formatação e a decodificação rodam nesta aba, com a API Web Crypto. Nada é enviado a um servidor, e nada é gravado no armazenamento do navegador. Às estatísticas de uso chega apenas um evento genérico de “botão pressionado”, com a versão e a quantidade, nunca os próprios identificadores.
Perguntas frequentes
Qual é a diferença entre UUID v4 e v7?
O v4 tem 122 bits de aleatoriedade pura, sem estrutura nenhuma. O v7 usa os primeiros 48 bits para um timestamp em milissegundos, então um lote de valores v7 fica na ordem em que foi criado. Isso é útil em uma chave primária de banco de dados, e ainda sobra aleatoriedade suficiente para evitar colisões.
Quando usar v7 em vez de v4 em chaves de banco de dados?
Use v7 sempre que o identificador virar chave primária ou coluna de índice: a ordenação por tempo mantém as linhas novas fisicamente próximas no índice, e a inserção fica mensuravelmente mais rápida do que com a dispersão aleatória de uma chave v4. Use v4 quando o valor nunca passar por um índice, como em um token de uso único.
Por que o v1 daqui não contém um endereço MAC?
Os navegadores não conseguem ler o endereço MAC do dispositivo. E, mesmo fora do navegador, colocar esse endereço em cada identificador gerado revelaria qual máquina física o criou. Por isso, esta ferramenta preenche essa parte do UUID v1 com bytes aleatórios, algo que a RFC 9562 permite explicitamente.
Qual é a chance de colisão de UUID?
No v4, gerar um bilhão de UUIDs por segundo durante cerca de 85 anos dá uma chance de aproximadamente 50% de uma única colisão; na prática, isso não acontece. O v7 e o v1 somam um timestamp à aleatoriedade, o que torna colisões acidentais ainda menos prováveis.
Posso usar um UUID como senha ou token de acesso?
Não é uma boa ideia. Um UUID v4 tem, sim, bastante aleatoriedade, mas o formato é previsível, e programas e ferramentas o tratam como um valor público, ao contrário de um token feito para continuar secreto. Para qualquer coisa que precise permanecer em segredo, use a ferramenta Gerador de senha.
Para que servem os UUIDs NIL e MAX?
O NIL (todos os bits em zero) é o valor reservado que, em muitos sistemas, significa “sem identificador” ou “não definido”. O MAX (todos os bits em um), definido mais recentemente, serve de sentinela para “maior que qualquer UUID real” em consultas por intervalo. Nenhum dos dois é gerado ao acaso: são constantes fixas.
De onde vem a aleatoriedade?
Do crypto.getRandomValues da API Web Crypto e, no v4, diretamente do crypto.randomUUID, quando o navegador tem esse recurso. O Math.random não é usado em nenhum ponto desta ferramenta.
Decodificar um UUID envia o valor para algum lugar?
Não. O decodificador lê o nibble da versão, os bits da variante e, no v1 e no v7, o timestamp embutido, tudo no seu navegador. O valor colado nunca sai da página.