Gerador 🔒 Roda no seu navegador — nenhum dado é enviado

Gerador de UUID

Gere UUID v4, v7, v1, v3 e v5 — um ou mil de uma vez — e inspecione qualquer UUID.

UUIDs gerados
Inspecionar um UUID

Gerador de UUID - criar UUID v4, v7, v5 e v1 online

Um UUID é um identificador de 128 bits que dois sistemas podem criar de forma independente com a certeza de que não vão colidir. Este gerador gratuito produz a versão 4 (aleatória), a versão 7 (ordenada no tempo), a versão 1 (carimbo de tempo e nó) e as versões 3 e 5 (derivadas de um nome), um a um ou até mil de uma vez, em linhas, array JSON, CSV ou valores SQL. Cole qualquer identificador no inspetor e ele mostra a versão e a variante, além de decodificar o carimbo de tempo que os valores v1 e v7 carregam.

UUIDs também são chamados de GUIDs, principalmente no ecossistema Microsoft. Os dois termos descrevem a mesma string de 36 caracteres: 32 dígitos hexadecimais distribuídos em cinco grupos separados por hífens, por exemplo f47ac10b-58cc-4372-a567-0e02b2c3d479.

Diagrama: as partes do UUID versão 7 01926f3a-7c2b-7d4e-9a1f-3b5c8d2e6f10: timestamp de 48 bits em milissegundos, o dígito de versão 7, os bits de variante e 74 bits aleatórios.01926f3a-7c2b-7d4e-9a1f-3b5c8d2e6f10versãovarianteTempo Unix (ms) · 480x01926f3a7c2b = 17284429568432024-10-09 03:02:36.843 UTC12bits aleatórios · 6248 + 4 + 12 + 2 + 62 = 128
Um UUID versão 7 começa com o horário de criação em milissegundos, então IDs novos ficam em ordem cronológica e funcionam bem com índices de banco de dados. O primeiro dígito do terceiro grupo é a versão, o primeiro do quarto grupo guarda os bits de variante e o resto é aleatório.

Por que usar UUID em vez de ID autoincremental

Um ID sequencial de banco precisa ser atribuído por uma única autoridade, ou seja, o cliente só conhece o identificador depois da resposta do servidor. O UUID elimina essa dependência: um app móvel pode criar registros offline, um worker pode referenciar uma linha antes de ela ser gravada e dois data centers podem ser mesclados sem renumerar nada. IDs sequenciais também vazam informação: /fatura/1042 mostra a um concorrente quantas faturas você emitiu, enquanto um UUID não revela nada.

As versões de UUID que você vai encontrar

VersãoComo é construídaUso típico
v1Carimbo de tempo mais identificador de nóSistemas antigos; aqui o nó são bytes aleatórios, nunca o seu MAC
v3 / v5Hash MD5 ou SHA-1 de um namespace mais um nomeIDs determinísticos: o mesmo par sempre gera o mesmo UUID
v4122 bits aleatóriosO padrão para quando você só precisa de um valor único
v7Carimbo Unix de 48 bits mais aleatoriedadeChaves de banco: ordena por criação e mantém o índice organizado

Como gerar e validar UUID aqui

  1. Escolha a versão: v4 para uso geral, v7 para chaves de banco, v5 ou v3 para derivar de um nome, v1 para formatos antigos.
  2. Defina a quantidade - de um até mil.
  3. Escolha o formato de saída: um por linha, array JSON, CSV ou valores SQL prontos para um INSERT.
  4. Marque maiúsculas, sem hifens, chaves ou o prefixo urn:uuid: se o destino exigir, e use Copiar ou Baixar.
  5. Cole qualquer identificador em Inspecionar um UUID, à direita, para conferir e decodificar o que ele carrega.

Qual versão escolher

Use v4 a menos que tenha motivo para não usar: é aleatória, não carrega metadados e é o padrão de quase toda biblioteca. Use v7 quando o identificador virar chave primária de uma tabela movimentada: o carimbo em milissegundos vem primeiro, então as linhas novas caem no fim do índice em vez de se espalharem, e os valores ordenam cronologicamente como texto puro. Use v5 quando a mesma entrada precisar sempre gerar o mesmo identificador, por exemplo um ID estável derivado de uma URL ou do nome de um cliente; v3 é a variante antiga com MD5, útil só por compatibilidade. v1 serve principalmente para ler dados antigos: codifica a data de criação e, tradicionalmente, o MAC da máquina.

Os lotes aqui são monotônicos: gere mil UUIDs v7 de uma vez e eles continuam ordenados conforme foram criados, porque os doze bits após a versão guardam um contador em vez de ruído. O UUID nil - só zeros - também está no menu, já que é o marcador convencional para ausência de valor.

O que o inspetor mostra

Cole qualquer identificador no painel Inspecionar um UUID, à direita, com ou sem hifens, chaves ou prefixo urn:uuid:. O inspetor confirma o formato, nomeia a versão e a variante e mostra a forma canônica e o hex bruto. Para um valor v1 ou v7 ele decodifica o carimbo de tempo embutido em uma data UTC legível, que costuma ser o jeito mais rápido de saber quando um registro foi criado. Para v1 ele ainda imprime os bytes de nó e diz se o bit multicast os marca como aleatórios ou como um MAC real. Um valor bem formado é marcado como UUID válido, e cada versão acrescenta uma linha própria: Ordenável para v7, Entropia para v4 (122 bits aleatórios e nada mais) e Derivado de para v3 e v5, porque o mesmo namespace e o mesmo nome sempre geram o mesmo UUID. Se a variante aparecer como NCS ou reservada para o futuro, normalmente o valor não foi gerado como um UUID padrão, mesmo tendo o formato certo.

Onde os UUIDs aparecem no dia a dia

  • Chaves primárias em bancos distribuídos e em sistemas que sincronizam entre dispositivos.
  • IDs de correlação e de requisição que acompanham a mesma chamada por vários microsserviços e arquivos de log.
  • Chaves de idempotência que permitem repetir um pagamento ou uma chamada de API sem executar duas vezes.
  • Nomes de arquivo para uploads, de modo que dois usuários possam enviar foto.jpg sem sobrescrever um ao outro.
  • Identificadores de sessão, dispositivo e instalação em aplicativos móveis e de desktop.
  • IDs de mensagens e eventos em filas, webhooks e sistemas baseados em eventos.

Dois UUIDs podem ser iguais?

Na teoria sim, na prática não. Um UUID versão 4 tem 122 bits aleatórios, algo em torno de 5,3 undecilhões de valores possíveis. Seria preciso gerar bilhões de UUIDs por segundo durante um século para que uma colisão se tornasse provável, muito além do que qualquer aplicação faz. O risco real não é matemático: é gerar UUIDs com uma fonte de aleatoriedade fraca. Esta ferramenta usa crypto.getRandomValues, o gerador criptograficamente seguro do navegador, e não Math.random.

Pontos práticos antes de adotar UUID

  • Armazenamento: 16 bytes em binário, 36 caracteres em texto. Use um tipo UUID nativo ou BINARY(16) em vez de VARCHAR sempre que possível.
  • Índices: valores v4 aleatórios se espalham pela árvore B e podem fragmentar tabelas grandes. Considere v7 ou uma chave sequencial adicional em tabelas muito movimentadas.
  • Caixa: por convenção são minúsculos, mas as comparações devem ignorar maiúsculas porque alguns sistemas devolvem em caixa alta.
  • Chaves: ferramentas do Windows costumam envolver GUIDs em {...}. Remova antes de armazenar.
  • URLs: um UUID já é seguro para URL, não precisa de codificação percentual.

Gerado no seu navegador

Cada valor é criado localmente e não é enviado a lugar nenhum, então os identificadores gerados para os seus sistemas internos continuam privados e são só seus.

Gerar um UUID em código: JavaScript, Python, Java, C#, SQL e terminal

Quando você precisa de identificadores dentro de um programa e não numa página web, toda plataforma popular traz um gerador. As chamadas abaixo produzem um UUID versão 4 aleatório, salvo indicação em contrário.

PlataformaUma linha
JavaScript / Node.jscrypto.randomUUID()
Pythonimport uuid; uuid.uuid4()
JavaUUID.randomUUID()
C# / .NETGuid.NewGuid(), ou Guid.CreateVersion7() no .NET 9 para uma v7
PostgreSQLgen_random_uuid(), ou uuidv7() a partir do PostgreSQL 18
MySQLUUID() - atenção, retorna uma v1 baseada em tempo
Terminal Linux / macOSuuidgen
PowerShell[guid]::NewGuid()

Procurando um UUID do Minecraft? Esses são atribuídos pela Mojang a cada conta e se consultam pelo nome do jogador, não se geram: esta ferramenta cria identificadores aleatórios novos para os seus próprios sistemas.

Ferramentas relacionadas

Identificadores andam junto com outros valores. Crie segredos com o gerador de senhas, calcule impressões digitais com o gerador de hash, leia o sujeito de um token com o decodificador JWT e confira carimbos de tempo com o conversor de timestamp Unix.

Guias relacionados