Gerador de UUID
Gere na hora um UUID v4 aleatório ou um UUID v7 ordenado por tempo, ou até 10.000 de uma vez. Também serve para gerar GUID online: um novo GUID é o mesmo tipo de valor de 128 bits. Cole qualquer UUID para decodificar a versão, o momento de criação e cada campo.
O dígito colorido é a versão: o primeiro dígito do terceiro grupo de todo UUID.
Criado e lido no seu navegador com crypto.getRandomValues; nada é enviado.
O que é um UUID e o que significa a sigla?
UUID significa Universally Unique Identifier (identificador universalmente único): um rótulo de 128 bits que qualquer computador pode criar sozinho e ainda assim esperar que nenhum outro computador crie o mesmo. Ele é escrito como 32 dígitos hexadecimais em cinco grupos, como 919108f7-52d1-4320-9bac-f847db4148a8.
O formato é definido pela RFC 9562 (maio de 2024), que substituiu a RFC 4122 e acrescentou as versões 6, 7 e 8. Nenhum registro central distribui UUIDs: a unicidade vem da aleatoriedade, de um timestamp ou do hash de um nome, conforme a versão.
Bancos de dados os usam como chaves primárias, APIs como IDs de requisições e objetos, e sistemas operacionais para discos, partições e componentes de software. GUID (Globally Unique Identifier, identificador globalmente único) é o nome que a Microsoft dá à mesma coisa.
UniversallyUniqueIDentifier
- 128 bits
- 16 bytes
- 32 dígitos hex
- 36 caracteres com os hífens
919108f7-52d1-4320-9bac-f847db4148a8
GUIDo nome que a Microsoft dá ao mesmo valor

Escolha uma versãov4 aleatório, v7 ordenado por tempo, v5 baseado em nome e as demais, cada uma com sua própria cor.Um cliqueCopie ou gere um novo; um lote de até 10.000 sai como texto, CSV, JSON ou SQL.Cada campoOs bits que a RFC 9562 define para esta versão, com o momento gravado num v7 já decodificado.Qualquer formatoChaves, sem hífens, maiúsculas, Base64url, um inteiro ou a ordem de bytes do .NET.Formato e tamanho do UUID: 36 caracteres
Um UUID tem 128 bits, escritos como 32 dígitos hex e 4 hífens em grupos de 8, 4, 4, 4 e 12: 36 caracteres. O primeiro dígito do terceiro grupo é a versão, e o primeiro dígito do quarto grupo mostra a variante: 8, 9, a ou b nos UUIDs da RFC 9562.
Assim, 017f22e2-79b0-7cc3-98c4-dc0c0c07398f é versão 7, variante RFC. Maiúsculas, minúsculas e letras misturadas são todas válidas; a maioria das ferramentas imprime em minúsculas, e o uuidgen do macOS em maiúsculas. Sem hífens são 32 caracteres, entre chaves 38 (o formato B do .NET), como urn:uuid: 45 e em Base64url 22.
Uma expressão regular que valida a forma da RFC: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$, com a flag que ignora maiúsculas e minúsculas. Ela recusa os UUIDs Nil e Max, que são válidos, mas especiais; o decodificador acima dá nome a eles.
32 dígitos hex + 4 hífens = 36 caracteres
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxM versão: 1–8N variante: 8, 9, a ou b^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$- Padrão36
- Sem hífens32
- Chaves {…}38
- urn:uuid:45
- Base64url22
- Base6424
- Base5821
- Base3226
- Inteiroaté 39
- Binário16 bytes
Versões de UUID explicadas: v1 a v8
A versão diz como um UUID foi gerado: o v4 a partir de bits aleatórios, o v7 a partir do momento mais bits aleatórios, o v1 e o v6 a partir de um timestamp e de um ID de nó, o v3 e o v5 pelo hash de um nome, e o v8 num layout próprio de quem o gera.
As versões 2 e 0 não são geradas aqui: a v2 (DCE Security) é reservada e a RFC 9562 não define o layout dela, e 0 não é uma versão. Os dois valores especiais não têm versão: o UUID Nil é todo de zeros e o UUID Max, todo de uns (ffffffff-ffff-ffff-ffff-ffffffffffff, novidade da RFC 9562).
Para sistemas novos, a RFC 9562 recomenda o v7 em vez do v1 e do v6, e o v5 em vez do v3. O v4 continua sendo a escolha simples quando o valor não deve dizer nada sobre quando foi gerado.
- tempo
- aleatório
- hash
- sequência do relógio
- nó
- versão
- variante
UUID v4 vs v7: qual usar?
Use v7 para chaves de banco de dados e tudo o que você ordena ou indexa: ele começa com o momento de criação, então as linhas novas vão para o fim do índice. Use v4 quando o ID não pode revelar quando foi gerado: todos os 122 bits livres dele são aleatórios.
Chaves v4 aleatórias espalham cada inserção por todo o índice B-tree, o que provoca divisões de página e mantém uma parte maior do índice quente na memória; chaves v7 chegam em ordem, como um número autoincremental, mas qualquer servidor pode gerá-las sem consultar o banco de dados. Um v7 mantém 74 bits aleatórios por milissegundo, então dois servidores gerando um no mesmo instante ainda assim não colidem.
A contrapartida: qualquer pessoa que vê um v7 consegue ler o milissegundo em que ele foi gerado (cole um no decodificador acima). Se isso importa, use v4, ou mantenha o v7 interno e mostre um ID diferente ao público.
c100eb4b-4f3f-4b29-ad77-da7cd9d1eda592c97333-2db8-4fc2-b5b6-cedd8c7abede01a16d3e-e1c0-70f6-99ec-6d454991b2fa01a16d3e-e1c0-70f6-99ec-6d45c2f6b35b- já no índice
- livre
- chave v4 nova
- chave v7 nova
- divisão de página: metade das chaves vai para uma página nova
GUID vs UUID: existe diferença?
Um GUID e um UUID são o mesmo valor de 128 bits na mesma forma de texto; GUID é o nome que a Microsoft dá a ele. O Guid.NewGuid() do .NET gera um UUID versão 4 aleatório, e o Guid.CreateVersion7() do .NET 9, um versão 7.
A diferença está na memória. A estrutura GUID da Microsoft guarda os três primeiros grupos como inteiros little-endian, então o ToByteArray() do .NET entrega os 8 primeiros bytes numa ordem diferente da ordem de bytes de rede da RFC 9562: 919108f7-52d1-… vira os bytes f7 08 91 91 d1 52 …. O texto é o mesmo; bytes brutos movidos entre sistemas precisam ser convertidos. O decodificador mostra as duas ordens.
O uniqueidentifier do SQL Server também ordena primeiro pelos seus últimos seis bytes, então valores v7 não ficam em ordem cronológica ali; o NEWSEQUENTIALID() gera valores que ficam, embora possam recomeçar de um valor mais baixo após uma reinicialização e sejam fáceis de adivinhar. GUIDs COM antigos podem trazer os bits de variante próprios da Microsoft em vez dos da RFC 9562; o decodificador dá nome a essa variante.
919108f7-52d1-4320-9bac-f847db4148a8- Data1 · 4 bytes, invertidos
- Data2 · invertidos
- Data3 · invertidos
- Data4 · como estão
Como gerar um UUID em código
A maioria das linguagens gera um UUID v4 em uma linha, e muitas agora geram v7 também: uuid.uuid7() do Python 3.14, Guid.CreateVersion7() do .NET 9, UUID.ofEpochMillis() do Java 26, uuid.NewV7() do Go 1.27, crypto.randomUUIDv7() do Node.js 26.1 e uuidv7() do PostgreSQL 18. Os navegadores ainda têm só o crypto.randomUUID(), um v4.
Escolha sua linguagem para ver a linha de código. Nem todo v7 mantém em ordem os UUIDs gerados no mesmo milissegundo: os do Python e do Go mantêm, os do .NET e do Node não garantem isso. E o UUID() do MySQL retorna um UUID versão 1, que no Linux e no Windows carrega o endereço MAC real do servidor.
Funções de UUID nativas, por linguagem
import uuid
uuid.uuid4() # v4
uuid.uuid7() # v7, Python 3.14+
uuid.uuid5(uuid.NAMESPACE_DNS, "www.example.com") # v5
uuid7() mantém um contador de 42 bits, então UUIDs do mesmo milissegundo ficam em ordem.
Dois UUIDs podem ser iguais?
Na teoria, sim; na prática, não: um UUID v4 tem 122 bits aleatórios, cerca de 5,3 × 10³⁶ valores. Você precisaria gerar cerca de 103 trilhões deles para ter uma chance em um bilhão de que dois quaisquer coincidam, e cerca de 2,7 quintilhões para uma chance de 50%.
Esse é o limite do paradoxo do aniversário: com n valores aleatórios entre N possíveis, a chance de uma repetição é de cerca de 1 − e^(−n(n−1)/2N). Gerando um bilhão de UUIDs por segundo, uma chance de 50% levaria cerca de 86 anos. Duplicados reais vêm de geradores defeituosos: uma semente não aleatória, uma máquina virtual clonada com seu estado aleatório ou IDs copiados à mão.
No v7, só UUIDs gerados no mesmo milissegundo podem coincidir, e 74 bits aleatórios os diferenciam. O gerador daqui também mantém um lote em ordem dentro de um milissegundo (RFC 9562 §6.2), então 10.000 de uma vez são únicos e ordenados.
A um bilhão por segundo, gerar essa quantidade leva 1 segundo.
Decodificador de UUID: como ler o timestamp de um UUID
Cole um UUID em Decodificar e validar, o decodificador e validador de UUID acima: ele lê a versão e a variante em duas posições fixas e depois os campos que essa versão define. Um v7 dá o milissegundo em que foi gerado; um v1 ou v6, o momento com precisão de 100 nanossegundos, além de uma sequência do relógio e um ID de nó.
Um nó de v1 ou v6 com o bit multicast desligado pode ser o endereço MAC real da placa de rede; procure o fabricante na consulta de endereço MAC. Geradores que respeitam a privacidade ligam esse bit e usam um nó aleatório, como este faz.
O momento é o que o gerador gravou, não prova de quando o UUID foi gerado. O v4 não guarda momento algum, só bits aleatórios, e v3, v5 e v8 guardam hashes: não há nada a ler de volta, e um hash não pode ser revertido para o nome. Cole uma lista para verificar até 1.000 de uma vez: linhas inválidas, duplicados e se os UUIDs baseados em tempo estão em ordem.
017f22e2-79b0-7cc3-98c4-dc0c0c07398f- unix_ts_ms
0x017f22e279b0 - ms desde 1970
1 645 557 742 000 - UTC
2022-02-22T19:22:22.000Z
c232ab00-9414-11ec-b3c8-9f6bdeced846- time_high · time_mid · time_low
1ec 9414 c232ab00 - passos de 100 ns desde 1582-10-15
138 648 505 420 000 000 - UTC
2022-02-22T19:22:22.0000000Z
O mesmo momento: os exemplos da RFC 9562 foram gerados juntos.
UUIDs baseados em nome: v5 e v3
Um UUID v5 é o hash SHA-1 de um UUID de namespace mais um nome, cortado em 128 bits com a versão e a variante definidas; o v3 faz o mesmo com MD5. O mesmo namespace e o mesmo nome sempre dão o mesmo UUID, em qualquer computador: escolha v5 acima para usar esta página como gerador de UUID v5.
A RFC 9562 define quatro namespaces: DNS para nomes de domínio, URL, OID e X.500. Assim, www.example.com no namespace DNS é sempre 2ed6657d-e927-568b-95e1-2665a8aea6a2 como v5. Use UUIDs baseados em nome para dar um ID estável a algo que já tem um nome único, sem guardar uma tabela de correspondência.
Prefira v5 a v3: o MD5 é mais fraco, e a RFC 9562 recomenda v5. Nenhum dos dois serve para esconder o nome: qualquer pessoa que consiga adivinhá-lo pode calcular o mesmo UUID. A opção v8 daqui usa SHA-256 do mesmo jeito, como no próprio exemplo de v8 da RFC.
- Namespace
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS · 16 bytes - Nome
"www.example.com"UTF-8 · 15 bytes - Resumo SHA-1, 160 bits
2ed6657de927468b55e12665a8aea6a22dee3e35os primeiros 128 bits são mantidos - O UUID
2ed6657d-e927-568b-95e1-2665a8aea6a2dígito da versão 4 → 5 · dígito da variante 5 → 9
- DNS
6ba7b810… - URL
6ba7b811… - OID
6ba7b812… - X.500
6ba7b814…
ULID vs UUID v7 (e outros IDs)
Um ULID e um UUID v7 começam com um timestamp de 48 bits em milissegundos e são ordenados por tempo. A diferença: um ULID usa todos os outros 80 bits para aleatoriedade e é escrito como 26 caracteres Base32, enquanto um v7 gasta 6 bits com a versão e a variante e cabe em qualquer coluna e biblioteca de UUID.
Se o seu banco de dados, ORM ou API já trabalha com UUID, o v7 dá ordem cronológica sem um tipo novo. NanoID e IDs curtos parecidos são strings aleatórias de tamanho escolhido, sem momento e sem layout padrão. Qualquer UUID também pode ser escrito de forma mais curta: 22 caracteres em Base64url, no máximo 22 em Base58.
- milissegundos desde 1970
- aleatório
- versão e variante
UUIDs são seguros para usar como tokens?
Não. A RFC 9562 diz para não presumir que UUIDs são difíceis de adivinhar e para nunca usar um como capacidade de segurança: um ID cuja posse dá acesso, como um link de redefinição de senha ou uma chave de API.
Um v4 de um bom gerador é aleatório, mas um v1, v6 ou v7 revela o momento de criação, e um v3 ou v5 pode ser recalculado a partir do nome. Para segredos, use um token feito para isso, como 256 bits aleatórios de um gerador criptográfico, e verifique a permissão em cada requisição. UUIDs servem bem como IDs públicos quando o acesso é verificado separadamente.
Gerador de UUID: perguntas e respostas
Como gerar um UUID online ou em código?
crypto.randomUUID() no JavaScript, uuid.uuid4() no Python e Guid.NewGuid() no C# geram um v4 em uma linha.O que significa UUID?
GUID e UUID são a mesma coisa?
Qual versão de UUID devo usar?
É possível gerar dois UUIDs iguais?
Dá para decodificar um UUID?
Qual é o tamanho de um UUID?
O que é um GUID vazio ou UUID Nil?
O UUID v7 é ordenável?
É seguro usar um UUID como senha ou token de acesso?
Os UUIDs gerados aqui são enviados para algum lugar?
Sentiu falta de algo?Sugira um recurso ou uma nova ferramenta
Ferramentas relacionadas
Gerador de Senhas
Senhas, frases-senha e PINs fortes e aleatórios, gerados no navegador, com bits exatos e tempo de quebra
Consulta de Endereço MAC
Identifique o fabricante do dispositivo pelo endereço MAC usando banco de dados IEEE
Calculadora de Sub-rede
Rede, broadcast, hosts utilizáveis e máscaras de qualquer bloco IPv4 ou IPv6, com VLSM, divisões e sub-redes na nuvem
Espaço Invisível
Copie e cole o espaço invisível ou um caractere em branco, e encontre ou remova caracteres ocultos em textos