Gerador de UUID Online (v4, v7, v1, v3, v5, v6) | UUID Generator RFC 4122 / RFC 9562
Gere qualquer versão de UUID instantaneamente no navegador — sem servidor, sem cadastro. Funciona como gerador de GUID também. Geração em lote de até 100. Copie com um clique.
Anatomia de um UUID
Todo UUID segue o padrão xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Os dígitos destacados abaixo revelam o que cada versão codifica.
Versão 4 — Aleatório
4 Dígito de versão — todos os demais bits são aleatórios.
Versão 7 — Timestamp Unix ms + Aleatório (recomendado)
■ Timestamp Unix ms (48 bits) · 7 Dígito de versão · sufixo aleatório
Versão 1 — Timestamp Gregoriano (legado)
■ Timestamp distribuído em 3 campos (time_low · time_mid · time_hi) · 1 Dígito de versão
Como Gerar um UUID
- Escolha a versão — Versão 7 é o padrão recomendado. Use Versão 4 para aleatoriedade pura, ou v3/v5 para IDs determinísticos baseados em nome.
- Defina a quantidade — Digite de 1 a 100 para gerar múltiplos UUIDs de uma vez (v3/v5 sempre geram apenas um).
- Clique em "Gerar Novo" — ou pressione
Ctrl+G(⌘+Gno Mac) para gerar instantaneamente. - Copie o UUID — Clique diretamente no UUID, pressione
Shift+Enter, ou use "Copiar Tudo".
Por Que UUID v7 é o Padrão Moderno para Bancos de Dados
O UUID v7 codifica um timestamp Unix de 48 bits em milissegundos nos bits mais significativos do identificador. Essa única decisão de design tem impacto profundo na performance de bancos de dados:
Localidade no índice B-tree. Em PostgreSQL, MySQL e a maioria dos bancos SQL, as chaves primárias ficam armazenadas em um índice B-tree. Quando você insere linhas com UUIDs aleatórios (v4), cada nova linha cai em uma posição aleatória na árvore, causando page splits e cache misses por todo o índice. Com o v7, as novas linhas sempre são inseridas próximas ao final do índice (timestamp mais recente = valor mais alto), o que significa muito menos page splits e melhor aproveitamento do buffer cache.
Elimina a necessidade de coluna sequence separada. Um padrão comum com UUID v4 é usar uma coluna BIGSERIAL ou AUTO_INCREMENT adicional apenas para obter ordenação por inserção:
-- Com UUID v4 você frequentemente precisava disso:
id BIGSERIAL PRIMARY KEY,
uuid UUID UNIQUE NOT NULL DEFAULT gen_random_uuid()
O UUID v7 elimina esse padrão — o próprio UUID já é ordenado por tempo, então você pode usá-lo diretamente como chave primária sem custo de performance:
-- Com UUID v7 isso é suficiente:
id UUID PRIMARY KEY DEFAULT gen_uuid_v7()
v7 vs v1. O UUID v1 também embutia um timestamp, mas o distribuía em três campos não contíguos em little-endian, então a string não ordena cronologicamente. O UUID v7 coloca o timestamp completo nos bits iniciais, de modo que ordenação lexicográfica da string equivale à ordenação cronológica — sem tratamento especial.
v7 vs v6. O UUID v6 corrige o problema de ordenação do v1 reorganizando os campos do timestamp, mas ainda usa a época gregoriana (intervalos de 100 nanossegundos desde 1582). O UUID v7 usa a época Unix (milissegundos desde 1970), suportada nativamente por todas as linguagens e bancos de dados. O v7 é a escolha prática para projetos novos.
Comparação de Versões de UUID
| Característica | v1 | v3 | v4 | v5 | v6 | v7 |
|---|---|---|---|---|---|---|
| Algoritmo | Timestamp gregoriano | MD5 (por nome) | Aleatório | SHA-1 (por nome) | Timestamp reordenado | Timestamp Unix ms |
| RFC | RFC 4122 | RFC 4122 | RFC 4122 | RFC 4122 | RFC 9562 | RFC 9562 |
| Entropia | ~74 bits | Determinístico | 122 bits | Determinístico | ~74 bits | ~74 bits + timestamp ms |
| Timestamp embutido | Sim (embaralhado) | Não | Não | Não | Sim (ordenável) | Sim (ordenável) |
| Performance de inserção | Ruim (embaralhado) | — | Ruim (aleatório) | — | Boa | Melhor |
| Privacidade | Vaza horário de criação | Sem metadados | Sem metadados | Sem metadados | Vaza horário de criação | Vaza horário de criação |
| Ideal para | Sistemas legados | IDs estáveis por nome | Uso geral | IDs estáveis por nome | Registros ordenados | Chaves primárias novas |
O que é um UUID?
Um UUID (Universally Unique Identifier) é um rótulo de 128 bits padronizado pelo RFC 4122 (versões 1–5) e RFC 9562 (versões 6–8). É representado por 32 dígitos hexadecimais no formato xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, onde M indica a versão e N a variante. O GUID (Globally Unique Identifier) da Microsoft usa exatamente esse mesmo formato — UUID e GUID são intercambiáveis.
A probabilidade de colisão entre dois UUIDs v4 aleatórios é negligível: seriam necessários cerca de 2,71 quintilhões de UUIDs para atingir 50% de chance de duplicata. O UUID v7 adiciona um prefixo de timestamp em milissegundos, tornando colisões dentro do mesmo milissegundo praticamente impossíveis na prática.
Casos de Uso Comuns
- Chave primária em novos sistemas — Use UUID v7. O prefixo de timestamp garante localidade no índice B-tree sem coluna sequence separada. Mesma unicidade global do v4, com o benefício de ordenação por inserção de um BIGSERIAL.
- Chave primária em sistemas existentes com v4 — O UUID v4 funciona bem para sistemas existentes. Migrar para v7 vale a pena em tabelas de alta escrita com gargalos de performance.
- Tokens de sessão e IDs de requisição — UUID v4 ou v7 para identificadores não adivinháveis com aleatoriedade total.
- Chaves de idempotência em pagamentos — Envie um UUID com cada requisição de pagamento para que o backend rejeite duplicatas com segurança. Prática padrão no Stripe, Adyen e similares.
- IDs determinísticos a partir de dados conhecidos — Use UUID v5 (SHA-1) quando precisar do mesmo UUID sempre para um dado namespace + nome, por exemplo para converter uma URL ou e-mail em um identificador estável.
- Nomes de arquivos para uploads — Substitua o nome original do arquivo por um UUID antes de salvar no S3 ou GCS para evitar colisões de caminho e enumeração.
- Correlation IDs em rastreamento distribuído — Anexe um UUID a cada entrada de log e propague-o entre serviços para reconstruir o fluxo completo de uma requisição.
Perguntas Frequentes
UUID e GUID são a mesma coisa?
Sim — GUID é o termo da Microsoft para o mesmo formato definido pelo RFC 4122. São totalmente intercambiáveis. Se você precisa de um gerador de GUID para .NET, SQL Server ou APIs Windows, esta ferramenta gera GUIDs válidos.
Devo usar UUID v7 em vez de auto-incremento como chave primária?
Para sistemas novos, sim. O UUID v7 oferece unicidade global (sem coordenação entre shards), ordenação cronológica e boa performance de inserção no B-tree — o melhor dos dois mundos entre um inteiro sequencial e um UUID aleatório. A única desvantagem é o tamanho levemente maior (16 bytes vs 8 do BIGINT).
Quando devo usar UUID v4?
Use v4 quando precisar de aleatoriedade máxima e não se importar com a ordem de inserção — por exemplo, tokens de sessão, API keys, ou identificadores avulsos onde o timestamp embutido no v7 seria uma preocupação de privacidade.
Quando devo usar UUID v3 ou v5?
Use v5 (SHA-1) quando precisar de um UUID determinístico a partir de um input conhecido, como gerar um ID estável a partir de uma URL ou e-mail. Use v3 (MD5) apenas para interoperar com sistemas que já utilizam v3; o SHA-1 é criptograficamente mais robusto.
Quando devo usar UUID v6?
O UUID v6 é um substituto direto do v1 com melhor ordenação. Prefira v7 para projetos novos; o v6 é mais útil ao migrar instalações existentes de v1 que precisam de UUIDs ordenáveis sem trocar a época.
É seguro gerar UUID no navegador para uso em produção?
Sim. Este gerador usa crypto.randomUUID() e crypto.getRandomValues(), que acessam o CSPRNG do sistema operacional — a mesma fonte de entropia que gera chaves TLS privadas. Toda a geração acontece localmente no seu navegador; nada é enviado para nenhum servidor.
O que significa o valor de "entropia" exibido?
Entropia mede a imprevisibilidade do UUID em bits. Versão 4 tem 122 bits de entropia aleatória. Versões 1, 6 e 7 têm ~74 bits aleatórios — o restante é determinado pelo timestamp. Versões 3 e 5 são totalmente determinísticas (zero entropia) — o output é sempre o mesmo para o mesmo namespace + nome.
Recursos
- IETF RFC 9562 — Novos Formatos de UUID — A especificação atualizada definindo as versões 6, 7 e 8 do UUID.
- IETF RFC 4122 — UUID URN Namespace — A especificação original que define as versões 1 a 5.
- Wikipedia — Identificador Único Universal — Histórico, versões e adoção em bancos de dados e sistemas distribuídos.