Skip to main content

Gerador de UUID

Gerador online e gratuito de UUID e IDs exclusivos. Gere UUIDs criptograficamente seguros (v4, v1, v7), ULIDs, NanoIDs, CUID2s, Short IDs e IDs em formato personalizado em lotes de até 1000. Exporte como texto simples, JSON, CSV, SQL, XML, TypeScript ou Python. Inclui um parser/validador de UUID com extração de timestamp e divisão de segmentos por cores, um testador de colisões e um criador de modelos personalizados com persistência em localStorage.

5 UUID Versions
v1, v3, v4, v5 & v7 — all supported
Bulk Generate
Generate up to 1,000 UUIDs at once
100% Browser-Based
Generated locally in your browser — never transmitted
Quick UUID v4
No IDs generated yet
Click Generate to create your IDs

How to Use

1
Escolha o Tipo de ID

Escolha entre 8 formatos de ID: UUID v4 (aleatório), v1 (timestamp), v7 (ordenável), ULID, NanoID, CUID2, Short ID, ou crie um modelo personalizado. O painel Quick UUID exibe um UUID v4 em tempo real para cópia instantânea.

2
Defina a Quantidade e o Formato

Informe uma quantidade de 1 a 1000, ou toque em um valor predefinido. Escolha seu formato de saída: texto simples, array JSON, objetos JSON, CSV, SQL INSERT, XML, TypeScript ou Python.

3
Gere e Copie

Clique em Generate para produzir todos os IDs instantaneamente. No modo texto simples, cada ID pode ser clicado individualmente para ser copiado. Use Copy All para copiar tudo de uma vez, ou Download para salvar como arquivo.

4
Analise e Compare

Mude para a aba UUID Parser para validar e inspecionar qualquer UUID — veja sua versão, variante, timestamp incorporado e 7 formatos alternativos. Use Compare Types para escolher o melhor formato de ID para o seu projeto.

O Que São UUIDs e Por Que Eles Importam?

Um UUID (Universally Unique Identifier), também chamado de GUID (Globally Unique Identifier), é um identificador de 128 bits padronizado pela RFC 4122. A garantia central é que um UUID gerado de forma independente em qualquer máquina nunca colidirá com outro UUID, sem necessidade de coordenação entre sistemas. Isso torna os UUIDs essenciais para bancos de dados distribuídos, microsserviços, event sourcing e qualquer contexto em que você precise de um ID antes de inseri-lo em um banco de dados ou de se coordenar com um servidor central.

Versões de UUID Explicadas

  • UUID v4 (Aleatório) — 122 bits de aleatoriedade criptográfica. Sem componente de timestamp. É a versão mais utilizada porque não revela nada sobre o momento ou o local de criação. Use-a quando exclusividade e privacidade importarem mais do que a possibilidade de ordenação.
  • UUID v1 (Timestamp + MAC) — Codifica um timestamp gregoriano de 60 bits (intervalos de 100 nanossegundos desde 15 de outubro de 1582) além de um ID de nó. Esta implementação usa um nó aleatório (bit de multicast definido) para proteger a privacidade. Pode ser ordenado cronologicamente dentro do mesmo nó.
  • UUID v7 (Época Unix, RFC 9562) — Timestamp Unix de 48 bits em milissegundos nos primeiros 6 bytes, seguido por 74 bits de aleatoriedade. Naturalmente ordenável pelos índices B-tree dos bancos de dados. É a substituição recomendada para a v1 em novas aplicações.

Formatos de ID Alternativos

  • ULID (Universally Unique Lexicographically Sortable Identifier) — Timestamp de 10 caracteres em Crockford Base32 (48 ms) + componente aleatório de 16 caracteres = 26 caracteres no total. Ordenável lexicograficamente, não diferencia maiúsculas de minúsculas e é 30% mais curto que um UUID com hífens.
  • NanoID — Seguro para URLs, compacto e com comprimento configurável. Usa amostragem por rejeição para eliminar o viés de módulo. Com os 21 caracteres padrão e alfabeto alfanumérico, atinge aproximadamente 126 bits de resistência a colisões.
  • CUID2 — Resistente a colisões e a impressões digitais (fingerprinting). Sempre começa com uma letra, apenas em minúsculas, adequado para IDs HTML e nomes de classes CSS. Boa opção padrão para aplicações JavaScript.
  • Short ID — IDs legíveis por humanos, com comprimento configurável, criados a partir de múltiplos conjuntos de caracteres. Útil para números de pedido, códigos de indicação e referências voltadas ao usuário.
  • Modelo Personalizado — Combine qualquer um dos geradores acima com texto estático, timestamps e números sequenciais usando uma sintaxe simples de {token}.

Formatos de Saída

Os IDs gerados podem ser exportados em 8 formatos prontos para colar diretamente no seu código: texto simples (um por linha, clique para copiar), array JSON, array de objetos JSON (com chave configurável), CSV (com cabeçalho), instrução SQL INSERT (tabela e coluna configuráveis), XML, array const em TypeScript e lista em Python.

Analisador e Validador de UUID

A aba do Analisador aceita qualquer string de UUID — com ou sem hífens, em formato URN (urn:uuid:…) ou envolvida em chaves. Ela extrai a versão e a variante, decodifica o timestamp incorporado em UUIDs v1 e v7, exibe uma divisão de segmentos com código de cores e mostra 7 representações alternativas, incluindo Base64 e codificação em inteiro.

Testador de Colisões

O Teste de Colisão gera até 1 milhão de UUIDs e verifica cada um deles em um Set à procura de duplicados. O teste é executado em blocos não bloqueantes de 5.000 IDs para que o navegador continue responsivo. Após a conclusão, ele exibe a probabilidade teórica de colisão junto com o resultado empírico.

Aleatoriedade Criptográfica

Todos os geradores desta ferramenta usam crypto.getRandomValues() — o gerador de números pseudoaleatórios criptograficamente seguro (CSPRNG) do navegador. Math.random() nunca é utilizado. O NanoID usa amostragem por rejeição para eliminar o viés de módulo. Isso significa que cada ID é tão aleatório quanto o pool de entropia do seu navegador permitir.

Privacidade

Toda a geração ocorre localmente no seu navegador. Nenhum ID, modelo ou formato personalizado é enviado a qualquer servidor. Os modelos salvos são armazenados apenas no localStorage do seu navegador e nunca saem do seu dispositivo.

Frequently Asked Questions

Um UUID (Universally Unique Identifier) é um número de 128 bits que pode ser gerado de forma independente em qualquer máquina, sem necessidade de coordenação. O UUID v4 tem 122 bits de aleatoriedade, o que significa que a probabilidade de dois UUIDs gerados aleatoriamente colidirem é de aproximadamente 1 em 5,3 × 10³⁶ — praticamente impossível. No Collision Test você pode verificar isso de forma empírica gerando até 1 milhão de UUIDs e constatando zero duplicados.

O UUID v4 é puramente aleatório — 122 bits de aleatoriedade criptográfica, sem nenhum timestamp. O UUID v7 incorpora um timestamp Unix de 48 bits em milissegundos nos primeiros 6 bytes, fazendo com que UUIDs gerados mais tarde sejam ordenados após os gerados antes. Isso é importante para o desempenho do banco de dados: com UUID v4 como chave primária, as linhas são inseridas em posições aleatórias no índice B-tree, causando divisões de página e fragmentação. O UUID v7 é inserido no final do índice, como um inteiro auto-incrementado, preservando a localidade.

UUID (Universally Unique Identifier) e GUID (Globally Unique Identifier) referem-se ao mesmo identificador de 128 bits. "GUID" é o termo usado pela Microsoft, presente no .NET, SQL Server e COM. "UUID" é o termo definido pelo padrão do IETF (RFC 4122). Os dois são intercambiáveis e têm exatamente o mesmo formato.

O ULID tem 26 caracteres contra 36 de um UUID com hífens — ou seja, 28% mais curto. Ele é ordenável lexicograficamente (IDs mais novos são ordenados após os mais antigos), não diferencia maiúsculas de minúsculas, e usa o Base32 de Crockford, que elimina caracteres ambíguos (sem O, I, L). ULIDs são ótimos para sistemas de logs distribuídos, streams de eventos, ou qualquer cenário em que você precise de um ID mais curto, ordenável e que também seja seguro para URLs e nomes de arquivo.

Sim, com algumas ressalvas. O UUID v4 causa fragmentação de índice em bancos de dados B-tree como PostgreSQL, MySQL e SQL Server, porque IDs aleatórios são inseridos em posições aleatórias. Para chaves primárias de banco de dados, prefira UUID v7 ou ULID — ambos incorporam um timestamp, de modo que novas linhas sempre são inseridas no final do índice, reproduzindo o comportamento de auto-incremento. Se for necessário usar v4, armazene-o como tipo binary(16) em vez de varchar(36) para um desempenho de índice muito melhor.

Para o UUID v1, o analisador extrai o timestamp gregoriano de 60 bits (intervalos de 100 nanossegundos desde 15 de outubro de 1582) e o converte em uma data e hora UTC legíveis. Para o UUID v7, ele extrai o timestamp Unix de 48 bits em milissegundos. Também identifica o byte de variante conforme a RFC 4122, exibe uma divisão de segmentos com código de cores (time-low, time-mid, version, variant, node/random) e fornece 7 representações alternativas, incluindo padrão, sem hífens, maiúsculas, URN, entre chaves, Base64 e inteiro.

Sim. Toda a aleatoriedade vem de crypto.getRandomValues(), o gerador de números aleatórios criptograficamente seguro do navegador. Nada é gerado no lado do servidor e nada é transmitido pela rede — toda a geração ocorre no motor JavaScript do seu navegador. Os IDs gerados são adequados para uso como chaves primárias de banco de dados, tokens de sessão, IDs de correlação e outros usos em produção. Para tokens sensíveis à segurança (chaves de API, cookies de sessão), certifique-se de também usar HTTPS e políticas de rotação adequadas.

O modelo personalizado usa tokens entre chaves que você pode combinar com texto estático: {v4} insere um UUID v4, {v7} insere um UUID v7, {ulid} insere um ULID, {nano} insere um NanoID de 21 caracteres, {random:N} insere N caracteres alfanuméricos aleatórios, {ts} insere o timestamp Unix atual em milissegundos, {date} insere a data de hoje no formato YYYYMMDD, e {seq} insere um contador sequencial. Por exemplo, ORDER-{date}-{random:6} produz IDs como ORDER-20260318-k8Mn2X.

Related Blog Posts

All Blog Posts
Blog