🔑 Gerador de UUID
Gere UUIDs v4 e v1 instantaneamente no seu navegador. Criptograficamente seguro. Grátis, sem cadastro.
O que é um UUID?
Um UUID (Identificador Único Universal) é um número de 128 bits usado para identificar informações de forma única, sem depender de um registro central. O padrão foi definido pela RFC 4122 em 2005 e, em 2024, a RFC 9562 o atualizou, formalizando as versões 6, 7 e 8 e consolidando as regras de geração.
Na forma textual, um UUID é representado por 32 dígitos hexadecimais divididos em cinco grupos separados por hífen, no formato 8-4-4-4-12, totalizando 36 caracteres incluindo os hífens. Um exemplo válido é 550e8400-e29b-41d4-a716-446655440000: os quatro primeiros bits do terceiro grupo indicam a versão e os dois primeiros bits do quarto grupo indicam a variante.
O espaço total de valores possíveis para um número de 128 bits é 2128, cerca de 3,4 × 1038. Um UUID versão 4 fixa 6 desses bits (4 bits de versão, sempre 0100, e 2 bits de variante, sempre 10), restando 122 bits verdadeiramente aleatórios. Isso ainda deixa aproximadamente 5,3 × 1036 combinações possíveis, um número tão grande que é difícil de visualizar.
Para ter uma ideia concreta: gerando 1 bilhão de UUIDs v4 por segundo, ininterruptamente, durante 100 anos, o total produzido seria de aproximadamente 3,1 × 1018 identificadores. Mesmo nesse ritmo, a probabilidade de duas dessas gerações colidirem continua extremamente improvável, várias ordens de grandeza abaixo do ponto em que haveria sequer 50% de chance de uma única colisão em todo o conjunto.
A razão pela qual esse espaço tão grande garante uma unicidade prática vem do chamado paradoxo do aniversário: a probabilidade de colisão cresce com o quadrado da quantidade de UUIDs gerados, não de forma linear. Mesmo assim, como a base de 2122 valores possíveis é ordens de grandeza maior que qualquer volume realista de identificadores gerados por uma aplicação ao longo de sua vida útil, a garantia prática de unicidade se mantém sem qualquer verificação adicional, o que é o motivo pelo qual bancos de dados de produção aceitam UUIDs v4 como chave sem checar duplicatas antes de inserir.
GUID (Globally Unique Identifier) é o nome que a Microsoft usa para sua implementação do mesmo padrão UUID. É usado no registro do Windows, em COM/DCOM, na struct Guid do .NET e no tipo uniqueidentifier do SQL Server. Do ponto de vista técnico, GUID e UUID são idênticos: mesmo layout de 128 bits, mesma representação textual. O formato com chaves {xxxxxxxx-...} disponível nesta ferramenta é justamente essa convenção do .NET.
Uma das razões pelas quais UUIDs são amplamente usados é que qualquer aplicação, servidor ou dispositivo pode gerar um novo identificador sozinho, sem consultar um banco de dados central ou coordenar com outros nós. Isso elimina gargalos e pontos únicos de falha em sistemas distribuídos, sincronização offline e réplicas de dados que precisam ser combinadas posteriormente.
Esta ferramenta gera exclusivamente UUIDs versão 4, usando a API crypto.getRandomValues do próprio navegador, um gerador de números pseudoaleatórios criptograficamente seguro (CSPRNG). Toda a geração acontece localmente: nada é enviado a um servidor, e a ferramenta continua funcionando mesmo offline depois que a página carrega.
Versões de UUID
| Versão | Nome | Descrição |
|---|---|---|
| v1 | Marca temporal | Baseado em marca temporal e endereço MAC |
| v3 | Hash MD5 | Namespace + nome hasheado com MD5 |
| v4 | Aleatório | Gerado aleatoriamente (esta ferramenta usa v4) |
| v5 | Hash SHA-1 | Namespace + nome hasheado com SHA-1 |
| v7 | Marca temporal Unix | Ordenado temporalmente com marca temporal Unix |
Esta ferramenta gera UUIDs Versão 4 (aleatórios) usando números aleatórios criptograficamente seguros via crypto.getRandomValues, nunca v1, v3, v5 ou v7. A tabela acima serve como referência comparativa do panorama de versões definido pela RFC 9562: v1 e v7 são ordenáveis no tempo mas podem expor metadados como o endereço MAC ou o instante de criação, v3 e v5 são determinísticos e úteis quando o mesmo nome de entrada deve sempre gerar o mesmo identificador, e v4 prioriza aleatoriedade máxima em vez de qualquer estrutura previsível, o que o torna a escolha padrão para a maioria dos casos de uso. A mesma RFC também descreve as versões 6 e 8: a v6 reordena os campos da v1 para permitir ordenação lexicográfica sem quebrar compatibilidade, e a v8 reserva espaço para formatos personalizados definidos pela própria aplicação, mas nenhuma das duas é gerada por esta ferramenta.
Casos de Uso Comuns
🗄️ Chaves Primárias de Banco de Dados
Usar UUIDs como chave primária evita que inteiros auto-incrementais revelem quantas linhas existem em uma tabela ou o volume de negócio da aplicação. Como o identificador pode ser gerado no próprio cliente antes da inserção, não é preciso esperar um round-trip ao banco para saber o ID de um novo registro. Isso também simplifica a fusão de dados entre bancos fragmentados, réplicas e cenários de sincronização offline, já que não há risco de dois nós gerarem o mesmo ID por engano. Ferramentas de ORM populares, como Prisma e Hibernate, já têm suporte nativo a esse tipo de chave primária, o que reduz o atrito de adoção.
🔌 Identificadores de API
Em endpoints REST como /users/550e8400-e29b-41d4-a716-446655440000 em vez de /users/482, um UUID impede ataques de enumeração, nos quais um atacante incrementa IDs sequenciais para descobrir recursos de outros usuários. O mesmo princípio é usado para tokens de sessão e chaves de idempotência, como nas APIs no estilo Stripe, onde um identificador único garante que uma mesma requisição não seja processada duas vezes. Isso vale também para chaves de convite e links de compartilhamento, onde a imprevisibilidade do valor é parte da própria segurança do sistema.
📁 Nomes de Arquivo
UUIDs são úteis para nomear uploads, arquivos temporários e entradas de cache sem precisar checar antes se aquele nome já existe. Isso é especialmente importante sob gravações concorrentes, quando vários processos podem estar salvando arquivos ao mesmo tempo: como a chance de colisão é desprezível, cada processo pode gerar seu próprio nome de forma independente e segura. O mesmo padrão se aplica a nomes de objetos em serviços de armazenamento como S3, onde múltiplos clientes podem enviar arquivos simultaneamente sem qualquer coordenação prévia.
🔗 Sistemas Distribuídos
Servidores e microsserviços independentes podem gerar seus próprios identificadores sem qualquer coordenação central, sem contador compartilhado nem lock. Isso é comum em IDs de correlação usados em event sourcing, para rastrear uma cadeia de eventos relacionados, e em IDs de mensagens de filas como RabbitMQ ou SQS, onde cada produtor precisa emitir identificadores únicos de forma totalmente independente. Esse desacoplamento também facilita testes e ambientes de desenvolvimento local, já que qualquer serviço pode gerar dados de exemplo realistas sem se conectar a um sistema central de geração de IDs.
Perguntas Frequentes
550e8400-e29b-41d4-a716-446655440000). O padrão é definido pela RFC 4122 e foi projetado para que um identificador possa ser gerado de forma independente, em qualquer lugar, com uma probabilidade de repetição próxima de zero, sem precisar de uma autoridade central controlando quais valores já foram usados. Esse mesmo mecanismo é o que permite que bancos de dados, aplicações móveis e serviços de nuvem gerem identificadores de forma totalmente independente uns dos outros.Guid) e no SQL Server (uniqueidentifier). O layout de 128 bits e a representação textual são os mesmos; a única diferença visível costuma ser estilística, como o formato entre chaves {...} que aparece em contextos Microsoft e que esta ferramenta também oferece. Ao integrar um sistema .NET com uma API ou banco de dados de outra linguagem, o mesmo valor circula livremente entre os dois mundos sem qualquer conversão.crypto.getRandomValues, o gerador de números criptograficamente seguro do navegador, ao contrário de Math.random(), que não é adequado para esse fim por ser previsível. Com 122 bits efetivamente aleatórios, existem cerca de 5,3 × 1036 combinações possíveis; mesmo gerando bilhões de UUIDs por segundo durante décadas, a chance de uma colisão real permanece extremamente improvável. Na prática, isso significa que gerar milhões de UUIDs por dia em uma aplicação real não representa risco relevante de repetição durante toda a vida útil do sistema..txt, útil para popular dados de teste ou preencher uma planilha rapidamente. Isso também é útil para gerar rapidamente um lote de chaves de acesso ou identificadores temporários para um ambiente de teste.550e8400-e29b-41d4-a716-446655440000), MAIÚSCULAS, Sem Hífens, {Chaves} (a convenção do .NET/Microsoft) e URN, que adiciona o prefixo urn:uuid: exigido em alguns contextos, como XML e RDF. Basta alternar entre os botões de formato para ver o mesmo UUID recalculado instantaneamente em cada estilo. O formato entre chaves aparece com frequência em arquivos de configuração do Windows e em código .NET legado, enquanto o formato sem hífens é comum em nomes de arquivo e chaves de cache onde o caractere hífen não é desejado.Ferramentas Relacionadas
🔒 100% Privado
Todos os UUIDs são gerados localmente no seu navegador usando aleatorização criptograficamente segura.