ToolActToolAct

Gerador UUID

Gerar identificadores únicos compatíveis com RFC 4122

Resultados0 total

Clique "Gerar UUID" para começar

O que é UUID?

UUID, ou Identificador Único Universal, é um identificador de 128 bits usado para marcar registros, objetos, sessões, arquivos, dispositivos, mensagens e outras entidades em sistemas distribuídos. Sua forma textual comum usa grupos hexadecimais no padrão 8-4-4-4-12. UUIDs são úteis quando vários servidores, clientes ou serviços precisam criar IDs sem consultar um banco central pelo próximo número sequencial. Diferentes versões são geradas com aleatoriedade, informação de tempo ou hashes baseados em namespace, o que afeta privacidade, ordenação, previsibilidade e risco de colisão. A ferramenta serve para gerar e inspecionar UUIDs rapidamente, mas eles não substituem autorização nem material secreto.

Como Usar

Passos de Geração

  1. Selecione a versão do UUID (v1, v4 ou Nil)
  2. Defina a quantidade a gerar (1-100)
  3. Escolha o formato de caixa (maiúsculas ou minúsculas)
  4. Selecione o formato (com hífens, sem hífens ou com chaves)
  5. Clique no botão Gerar para criar os identificadores solicitados

Atalhos de Teclado

  • Ctrl + GGerar UUID
  • Ctrl + Shift + CCopiar Tudo

Observações sobre Identificadores

  • UUID v4 geralmente é a escolha certa para identificadores aleatórios no lado do cliente; não codifica informações de tempo nem de dispositivo.
  • Não use UUIDs como segredos. Eles identificam registros, mas não substituem tokens de autenticação ou chaves de acesso.

Casos de uso

Gerar lotes de UUID para dados de desenvolvimentoCrie 1, 5, 10, 20, 50 ou 100 UUIDs de uma vez, depois copie valores individuais, copie todos ou baixe como arquivo de texto. O UUID v4 usa crypto.getRandomValues quando disponível, e a semente aleatória é gerada localmente no navegador.
Escolher versão e formato de saídaGere UUIDs v4 aleatórios, UUIDs v1 simulados com estilo de timestamp ou o UUID nil, depois formate com hífens, sem hífens ou entre chaves e escolha saída em minúsculas ou maiúsculas.
Trabalhar rapidamente com atalhos de tecladoA página gera um UUID inicial ao carregar e suporta Ctrl+G para regenerar e Ctrl+Shift+C para copiar todos os valores atuais. Útil para IDs em fixtures, seeds de banco, rastreamento de requisições e exemplos de API.
Gerar identificadores ordenáveis no estilo v1Escolha UUID v1 para IDs que devem ser ordenados cronologicamente em um índice de banco de dados. Note que eles expõem informações de timestamp e endereço MAC, então não os exponha publicamente onde o horário de criação seja sensível.
Validar um UUID existente antes de inserçãoCole um valor candidato no campo de entrada; a página renderiza novamente a versão analisada e os bits de variante para que você identifique hífens malformados, comprimento incorreto ou caixa não canônica antes de gravar no banco de dados.

Princípio técnico

UUID é um identificador de 128 bits na forma padrão 8-4-4-4-12, 36 caracteres no total (incluindo 4 hífens). Os 128 bits são divididos em: time-low (32 bits), time-mid (16 bits), version-and-time-high (16 bits, os 4 bits superiores são a versão), variant-and-clock-seq (16 bits, os 2 a 3 bits superiores são a variante) e node (48 bits). A RFC 4122 define cinco versões, v1 a v5. O v1 é construído a partir de um timestamp de 60 bits (resolução de 100 nanossegundos, contado a partir de 15 de outubro de 1582) mais um endereço MAC de 48 bits mais uma sequência de clock de 14 bits. É teoricamente ordenável por tempo de geração, mas vaza a identidade da máquina e o tempo de geração. O v4 é a versão mais usada: 122 bits preenchidos com uma fonte criptograficamente segura de aleatoriedade, e bits fixos de versão (4) e variante (10). A probabilidade de colisão é uma preocupação central no design de UUID. O v4 tem 122 bits de espaço aleatório, e pelo paradoxo do aniversário são necessários um bilhão de UUIDs por segundo durante 85 anos consecutivos para atingir 50% de chance de uma única colisão, o que é mais do que suficiente na prática. O v7 emergente coloca o timestamp primeiro e os bits aleatórios por último, equilibrando unicidade e ordenação temporal, e é mais adequado para chaves primárias de bancos de dados.

  • UUID v4: 122 bits aleatórios com bit de versão fixo 4 e bit de variante 10; funciona para quase todos os cenários e não vaza privacidade
  • UUID v1: timestamp de 60 bits + MAC de 48 bits + sequência de clock de 14 bits; ordenável por tempo, mas expõe a impressão digital da máquina, use com cautela
  • UUID v7: timestamp primeiro, bits aleatórios por último; um padrão rascunho de 2024 projetado especificamente para chaves primárias de bancos de dados
  • Probabilidade de colisão: o espaço aleatório do v4 é 2^122, e são necessários um bilhão de UUIDs por segundo durante 85 anos consecutivos para 50% de chance de uma colisão
  • UUID Nil: todos zeros 00000000-0000-0000-0000-000000000000, comumente usado como placeholder ou valor padrão
  • Variantes de formato: além do padrão 8-4-4-4-12, existe a forma de 32 caracteres sem hífen, a forma {chaves} e a forma URN (urn:uuid:...)

Exemplos

UUID v4 (aleatório) em formato padrão

550e8400-e29b-41d4-a716-446655440000

Dígito de versão (13º char hex): 4 -> v4, aleatório
Bits de variante (17º char hex): 8/9/a/b -> variante RFC 4122
Uso: chaves primárias em bancos de dados, IDs de requisição, IDs de assets — escolha padrão quando a ordem não importa
RFC: RFC 4122 seção 4.4 define a geração de v4

Formato UUID v1 (timestamp + MAC)

c232ab00-9414-11ec-b909-0242ac120002

Dígito de versão: 1 -> v1, baseado em tempo
Nota: codifica o timestamp de geração em time_low; os últimos 12 chars hex são o node id (frequentemente um MAC)
Uso: quando você precisa de IDs ordenáveis ou uma origem determinística por host, mas atente que o MAC vaza a identidade do host
RFC: RFC 4122 seção 4.1 define o layout de v1

Gerar 5 IDs v4 em lote

a1b2c3d4-e5f6-4789-a012-3456789abcde
f7e8d9c0-b1a2-43f4-95e6-7d8c9b0a1e2f
3c4d5e6f-7a8b-49c0-9d1e-2f3a4b5c6d7e
8e9f0a1b-2c3d-44e5-bf6a-7b8c9d0e1f2a
5f6a7b8c-9d0e-45f1-a2b3-c4d5e6f7a8b9

Nota: cada ID é sorteado independentemente via crypto.getRandomValues; a probabilidade de colisão para 2^122 IDs é desprezível segundo o RFC 4122 Apêndice B

Perguntas frequentes

O que é um UUID?

Um Universally Unique Identifier é um valor de 128 bits (RFC 4122/9562) geralmente escrito como 32 dígitos hexadecimais no padrão 8-4-4-4-12, por exemplo, 550e8400-e29b-41d4-a716-446655440000. Versões diferentes codificam tempo, dados aleatórios ou hashes; o objetivo deles é serem únicos entre sistemas sem um coordenador central.

Qual a diferença entre UUID v1, v4 e v7?

v1 mistura o endereço MAC do host com um timestamp de 100 ns (boa ordenação, mas vaza informação do host). v4 é puramente aleatório (122 bits de entropia, sem ordenação). v7 (RFC 9562) coloca um timestamp Unix-ms de 48 bits nos bits mais altos com bits aleatórios mais baixos — ordenável como v1 mas sem vazamento de MAC. v7 é o padrão moderno para chaves de banco de dados.

Um UUID é realmente único?

Estatisticamente, sim. Gerar um bilhão de UUIDs v4 por segundo durante 100 anos ainda dá uma probabilidade de colisão de cerca de 50% (limite do paradoxo do aniversário). Para todos os sistemas práticos, você pode tratar UUIDs como únicos sem coordenação.

UUIDs são aleatórios e impossíveis de adivinhar?

UUIDs v4 são aleatórios e efetivamente impossíveis de adivinhar (122 bits de entropia). UUIDs v1 não são aleatórios de forma alguma — eles expõem o MAC do host e o timestamp, então não use v1 como token de segurança. O prefixo de timestamp do v7 também é previsível; apenas os bits aleatórios finais são imprevisíveis.

Devo usar UUID como chave primária do banco?

Funciona, mas tem trade-offs. UUIDs v4 aleatórios causam fragmentação da B-tree em bancos que clusterizam pela chave primária (MySQL InnoDB), prejudicando o desempenho de inserção em escala. UUIDs v7 ordenáveis evitam isso. Inteiros auto-incrementados ainda são menores e mais rápidos — use UUIDs quando geração distribuída for importante.

A geração de UUID é feita no meu navegador?

Sim. A página usa crypto.randomUUID (ou crypto.getRandomValues para navegadores mais antigos) que faz parte da Web Crypto API. Nada é enviado para um servidor, e atualizar a página gera um novo fluxo de entropia.

Por que alguns UUIDs parecem quase iguais no início?

UUIDs v1 e v7 codificam o tempo nos caracteres iniciais, então UUIDs gerados no mesmo milissegundo compartilham um prefixo e diferem apenas nos bytes finais. Essa propriedade é o que os torna naturalmente ordenáveis. UUIDs v4 são aleatórios e não exibem isso.