UUID explicado — v4 vs v7 (e v1)
Compreenda as versões de UUID — v4 para IDs aleatórios, v7 para chaves de base de dados ordenadas no tempo e a v1 herdada. Gere-os localmente no seu navegador, sem servidor nem envio.
Um UUID (Identificador Universalmente Único) é uma etiqueta de 128 bits pensada para identificar algo de forma única sem uma autoridade central a distribuir números. Se alguma vez precisou de um ID de linha único, de um nome de arquivo que não colida, ou de uma chave para um sistema distribuído, já se cruzou com UUIDs. O gerador de UUID cria v4, v1 e v7 localmente com Web Crypto — nada é enviado para um servidor.
TL;DR
Um UUID é um identificador de 128 bits; a versão que escolhe muda o que esses bits significam.
- v4 é totalmente aleatório (o padrão) — a escolha padrão quando só precisa de um ID único.
- v7 é ordenável no tempo — incorpora uma marca de tempo Unix em milissegundos, por isso ordena cronologicamente e faz uma chave de índice de base de dados muito melhor.
- Gerado localmente com Web Crypto —
crypto.getRandomValuestrata da aleatoriedade no seu navegador, por isso não intervém nenhum servidor e nenhum valor sai do dispositivo.
O que é um UUID
Um UUID são 128 bits de dados, representados por convenção como 32 dígitos hexadecimais em cinco grupos separados por hífens — a disposição 8-4-4-4-12:
550e8400-e29b-41d4-a716-446655440000
Alguns bits ficam reservados para marcar a versão (o 4 do terceiro grupo acima significa v4) e a variante (o a/b/8/9 inicial do quarto grupo). Tudo o resto transporta os dados de identificação reais, e o que esses dados são depende da versão. O espaço total — 2¹²⁸ valores possíveis — é tão vasto que os UUIDs aleatórios praticamente nunca colidem em nenhuma escala realista.
Uma coisa que um UUID não é: um segredo. É um identificador, como uma placa de carro. Conhecer um não lhe permite derivar outro, mas um UUID por si só não oferece controle de acesso — não o use como senha nem como token.
UUID v4 — o aleatório padrão
v4 é a versão que a maioria das pessoas tem em mente quando diz «UUID». Dos seus 128 bits, 122 são aleatórios (6 estão fixos para a versão e a variante), retirados de uma fonte aleatória criptográfica. O resultado é um identificador sem relação com o tempo, o lugar ou qualquer outro valor.
Como o espaço aleatório é tão grande, a probabilidade de dois UUIDs v4 gerados de forma independente colidirem é astronomicamente pequena — precisaria de gerar bilhões por segundo durante anos para se tornar plausível. Isso faz do v4 a escolha certa sempre que precisa de um ID único e a ordem não importa: um ID de pedido, uma chave de sessão, um nome de arquivo. O senão é que os valores v4 ficam espalhados de forma uniforme pelo espaço, o que são más notícias para um índice de base de dados (mais abaixo).
UUID v7 — o ordenável no tempo
v7 incorpora uma marca de tempo Unix em milissegundos nos bits iniciais, com os restantes bits aleatórios. A consequência que o define: os UUIDs v7 ordenam-se pela ordem em que foram criados.
Isso interessa para as bases de dados. Um índice de chave primária funciona melhor quando as inserções são sequenciais, porque as linhas novas caem umas ao lado das outras no índice (um padrão de «acrescentar») em vez de espalhadas aleatoriamente pelas páginas. As inserções v4 batem em páginas aleatórias — causando E/S de disco aleatória, divisões de páginas e fragmentação do índice à medida que a tabela cresce. As inserções v7 agrupam-se, por isso a base de dados escreve sequencialmente e o índice mantém-se compacto.
Para qualquer tabela que cresça ao longo do tempo — encomendas, eventos, linhas de log — v7 costuma ser a melhor chave primária. Mantém a unicidade entre máquinas sem coordenação, mas com o índice a comportar-se bem.
UUID v1 — o herdado
v1 também codifica uma marca de tempo (60 bits de um relógio de 100 nanossegundos desde 1582) mais um identificador de nó, derivado historicamente do endereço MAC da máquina. É ordenável no mesmo sentido que v7, mas tem dois inconvenientes que fazem dele raramente a escolha certa hoje:
- Fuga de privacidade — incorporar o endereço MAC em cada UUID revela o hardware de rede da máquina geradora e torna os UUIDs de um nó trivialmente correlacionáveis. Num mundo de privacidade por padrão, esse é um custo real.
- Sem vantagem real sobre v7 — v7 dá-lhe ordenação temporal com uma marca de tempo Unix-ms limpa e sem impressão digital de hardware, pelo que as razões para recorrer a v1 desapareceram em grande parte.
Se já tem dados v1, continuam a funcionar bem; apenas não comece sistemas novos em v1. v4 (quando a ordem não importa) ou v7 (quando importa) cobre praticamente todas as necessidades modernas.
Passo a passo: gerar UUIDs
O gerador de UUID roda inteiramente no seu navegador com Web Crypto, por isso os bytes aleatórios são produzidos localmente e nada é enviado. Eis o fluxo:
- Escolha a versão. Os botões v4 / v1 / v7 selecionam que versão de UUID gerar (v4 está selecionado por padrão).
- Escolha a Quantidade. O seletor Quantidade define quantos gerar: 5, 10, 25, 50 ou 100 (no máximo 100). O valor padrão é 10.
- Escolha um formato. Sete formatos de saída moldam o resultado:
- plain — a forma padrão
8-4-4-4-12, como550e8400-e29b-41d4-a716-446655440000. - UPPER — tudo em maiúsculas, para sistemas que o preferem.
- sem hifens — os 32 dígitos hexadecimais concatenados, como
550e8400e29b41d4a716446655440000. - {chaves} — entre
{...}, o estilo GUID da Microsoft. - “string” — entre aspas duplas, pronto a colar como valor JSON.
- SQL IN — formatado como
('...','...')para uma cláusula SQLIN (...). - JS array — formatado como
["...","..."], um literal de matriz JavaScript pronto a usar.
- plain — a forma padrão
- Gere. Clique Novo para um único UUID, ou Gerar para produzir a Quantidade completa de uma vez (gerar em lote).
- Copie. Clique Copiar para copiar todos os valores gerados para a área de transferência.
Ao mudar de versão gera-se imediatamente um único valor novo nessa versão, por isso pode comparar formatos lado a lado.
Perguntas frequentes
Os UUIDs são secretos?
Não. Um UUID é um identificador, não um segredo. Conhecer um UUID não lhe permite prever outro, e um valor v4/v7 por si só não concede acesso. Se precisa de algo que deva ser difícil de adivinhar — uma senha, um token de API, um segredo de sessão — gere um segredo real com o gerador de senhas e tokens. Os UUIDs servem para unicidade, não para controle de acesso.
v4 ou v7 para a minha base de dados?
Para uma tabela que cresce ao longo do tempo, v7 costuma ser a melhor chave primária: ordena por data de criação, por isso as inserções são sequenciais e o índice mantém-se compacto em vez de se fragmentar com E/S aleatória. Use v4 quando a ordem não importa e quer a maior compatibilidade — IDs de pedido, chaves de cache, ou onde o valor seja só uma etiqueta. Se duvida, escolha v7 para novas chaves primárias e v4 para tudo o resto.
Que formato devo escolher?
Depende do destino do valor. plain é o valor padrão seguro e aquilo que a maioria dos sistemas espera. UPPER serve sistemas que guardam os GUID em maiúsculas. sem hifens poupa 4 bytes e encaixa em formatos apertados. {chaves} segue a convenção GUID da Microsoft. “string” cai direto num valor JSON, SQL IN numa consulta de base de dados e JS array em código-fonte JavaScript. Escolha a forma que corresponde ao seu destino.
Posso gerar muitos de uma vez?
Sim. Ajuste a Quantidade (até 100) e clique Gerar para produzir essa quantidade de UUIDs de uma vez, depois Copiar para os obter todos. Se só precisa de um, Novo produz um único valor sem mexer na quantidade.

Comece com esta ferramenta
Começar agora