O que é um UUID?
Um UUID (identificador único universal; nas ferramentas da Microsoft se chama GUID) é um ID de 128 bits escrito como 32 dígitos hexadecimais em cinco grupos, por exemplo 919108f7-52d1-4320-9bac-f847db4148a8. Qualquer programa pode criar um sem consultar um servidor central, e na prática dois UUIDs aleatórios nunca se repetem.
v4 ou v7?
- v4 tem 122 bits aleatórios. Use quando o ID não deve revelar nada, como IDs públicos, nomes de arquivo ou códigos de convite.
- v7 começa com um timestamp em milissegundos, então IDs novos ficam depois dos antigos na ordenação. Como chave primária de banco de dados, as linhas novas entram no fim do índice, o que é mais rápido do que chaves v4 aleatórias.
Como usar
- Escolha a versão e quantos UUIDs você precisa (até 1.000).
- Ative maiúsculas, remova os hifens ou adicione chaves se o seu sistema espera esse formato. A lista é atualizada na hora.
- Copie a lista ou baixe como arquivo de texto, um UUID por linha.
- Para conferir um UUID existente, cole em "Validar um UUID" para ver a versão, a variante e, no v1, v6 e v7, o horário guardado nele.
Exemplo
Este UUID v7 vem da RFC 9562, o padrão dos UUIDs:
017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Os 12 primeiros dígitos, 017f22e279b0, são um timestamp Unix em milissegundos. O validador mostra assim:
2022-02-22T19:22:22.000Z
Perguntas frequentes
Esses UUIDs são aleatórios o bastante para produção?
Sim. A parte aleatória vem de crypto.getRandomValues, o gerador criptograficamente seguro do navegador, com a mesma qualidade das bibliotecas de servidor. Os UUIDs são criados no seu navegador e não são enviados a lugar nenhum.
Dois UUIDs podem ser iguais?
Em teoria, sim; na prática, não. Um UUID v4 tem 2122 valores possíveis: seria preciso criar cerca de um bilhão por segundo durante 85 anos para chegar a 50% de chance de uma única repetição. O v7 ainda inclui o horário, então IDs criados em milissegundos diferentes nunca coincidem.
Um UUID v7 revela quando foi criado?
Sim. Qualquer pessoa consegue ler o horário de criação de um UUID v7, como mostra o exemplo. Se esse horário for sensível, use v4.
Maiúsculas ou minúsculas?
O padrão recomenda gerar em minúsculas e comparar sem diferenciar maiúsculas, então minúsculas são a escolha mais segura. Use maiúsculas ou chaves só quando um sistema exigir, como algumas ferramentas da Microsoft que mostram GUIDs como {...}.