UUID

10 tools

As ferramentas UUID do ToolDeck cobrem todos os principais formatos de identificador único em um só lugar. A coleção inclui: Gerador UUID v4 para IDs aleatórios com entropia criptográfica forte; Gerador UUID v7 para chaves primárias ordenáveis por timestamp; Gerador UUID v1 para identificadores baseados em tempo e endereço MAC; Gerador UUID v2 para sistemas DCE legados; Gerador UUID v3 para IDs determinísticos baseados em MD5; Gerador ULID para strings compactas e ordenáveis; Gerador NanoID para tokens curtos e seguros para URL; Gerador CUID para o formato original resistente a colisões; Gerador CUID2 para seu sucessor moderno; e Decodificador UUID para inspecionar identificadores existentes. Todas as ferramentas funcionam inteiramente no seu navegador usando a Web Crypto API — nenhum dado é transmitido para nenhum servidor, sem necessidade de conta.

O que são ferramentas UUID e de ID único?

Um UUID (Identificador Universalmente Único) é um identificador de 128 bits padronizado no RFC 9562 (anteriormente RFC 4122). Escrito como 32 caracteres hexadecimais no formato 8-4-4-4-12, um UUID se parece com: 550e8400-e29b-41d4-a716-446655440000. O padrão define múltiplas versões, cada uma usando uma estratégia diferente para garantir a unicidade: números aleatórios, timestamps ou hashing determinístico.

Os UUIDs foram projetados para permitir que sistemas distribuídos gerem identificadores sem um coordenador central. Seja para atribuir uma chave primária no PostgreSQL, gerar um token de sessão em uma aplicação web, ou nomear um arquivo em armazenamento de objetos, os UUIDs permitem que cada nó do sistema crie um ID globalmente único de forma independente — com probabilidade de colisão tão baixa que é desprezível na prática.

Além do padrão UUID, vários formatos alternativos de ID único surgiram para resolver limitações específicas: ULID e UUID v7 adicionam ordenabilidade lexicográfica para eficiência em índices de banco de dados; NanoID reduz o tamanho para URLs e cookies; CUID2 prioriza a resistência a colisões baseada em fingerprint para geração de alto volume no lado do cliente.

Por que usar ferramentas UUID no ToolDeck?

As ferramentas UUID do ToolDeck funcionam inteiramente no seu navegador. Sem chamadas de API, sem processamento no servidor, sem dados registrados. Cada gerador usa a Web Crypto API (crypto.getRandomValues) para entropia criptograficamente forte — a mesma fonte que os navegadores usam para material de chave TLS.

🔐
Entropia criptograficamente forte
Todos os geradores baseados em aleatoriedade (UUID v4, NanoID, CUID2) usam crypto.getRandomValues, não Math.random. O resultado é adequado para casos de uso sensíveis à segurança, como tokens de sessão e chaves de API.
📦
Todos os principais formatos de ID em um só lugar
UUID v1 a v7, ULID, NanoID, CUID e CUID2 — todos os formatos que um desenvolvedor precisa, com opções para gerar em massa e copiar com um clique.
🔍
Decodifique e inspecione IDs existentes
O Decodificador UUID extrai a versão, variante, timestamp e campos de nó de qualquer UUID. Útil para depuração, auditoria e compreensão de IDs legados na sua base de código.
Sem configuração, funciona offline
Sem instalação, sem cadastro, sem dependências de tempo de execução. Abra a página e gere. Todas as ferramentas funcionam offline após o carregamento da página — útil em ambientes isolados ou redes restritas.

Casos de uso das ferramentas UUID

Identificadores únicos aparecem em todas as camadas do stack. Veja como diferentes perfis usam as ferramentas de geração de UUID:

Chaves primárias de banco de dados
Engenheiros backend atribuem UUID v4 ou UUID v7 como chaves primárias no PostgreSQL, MySQL e MongoDB. O prefixo de timestamp do UUID v7 mantém as linhas ordenadas fisicamente no disco, evitando divisões de página em cargas de trabalho com muitas inserções.
Estado frontend e IDs de componentes
Desenvolvedores frontend usam NanoID ou UUID v4 para gerar chaves React estáveis para itens de lista criados dinamicamente, IDs de diálogo para atributos de acessibilidade ARIA e tokens de idempotência para envios de formulários.
Streams de eventos distribuídos
Em sistemas orientados a eventos, cada evento precisa de um ID globalmente único e ordenável. Engenheiros de DevOps e plataforma usam ULID ou UUID v7 para que consumidores Kafka, agregadores de log e trilhas de auditoria possam ser ordenados por tempo de criação sem um campo de timestamp secundário.
Geração de dados de teste
Engenheiros de QA geram lotes de UUID em massa para popular bancos de dados de teste com IDs realistas e não sequenciais. UUID v3 ou v5 determinísticos permitem regenerar o mesmo ID a partir de uma entrada conhecida — útil para fixtures de teste reproduzíveis.
IDs de correlação em microsserviços
Anexar um UUID a cada requisição HTTP recebida e propagá-lo entre chamadas de serviço (cabeçalho X-Request-ID) permite que sistemas de rastreamento distribuído correlacionem logs entre serviços. UUID v4 é o padrão de fato para correlação de requisições.
Nomenclatura de ativos e recursos
Chaves de armazenamento de objetos (S3, GCS, Cloudflare R2) e nomes de arquivo de ativos CDN frequentemente incorporam um UUID para evitar colisões de cache e adivinhação de URLs. O formato compacto de 21 caracteres do NanoID reduz o comprimento da URL em comparação com UUIDs completos de 36 caracteres.

Referência de versões e formatos UUID

A tabela abaixo compara todas as versões de UUID junto com as alternativas mais utilizadas. Use-a para identificar rapidamente qual formato atende aos seus requisitos.

IdentificadorAlgoritmoOrdenávelDeterminísticoIdeal para
UUID v4Aleatório (CSPRNG)IDs de uso geral, tokens de sessão, chaves primárias
UUID v7Timestamp Unix ms + aleatórioChaves primárias ordenáveis, IDs de eventos distribuídos (RFC 9562)
UUID v1Timestamp + endereço MACIDs ordenados por tempo, sistemas de nó único, compatibilidade legada
UUID v3Namespace + nome + MD5IDs reproduzíveis a partir de entradas conhecidas (DNS, URLs)
UUID v5Namespace + nome + SHA-1Igual ao v3 com hash mais forte; prefira v5 ao v3
UUID v2Timestamp + UID/GID DCEAmbientes POSIX/DCE legados; evite para novos projetos
ULIDPrefixo de timestamp + aleatórioIDs ordenáveis, seguros para URL, sem hífens (26 caracteres)
NanoIDAleatório (CSPRNG), alfabeto seguro para URLIDs curtos para URLs, cookies, atributos HTML (21 caracteres)
CUID2Fingerprint + timestamp + aleatórioGeração de alto volume no cliente, resistente a colisões

UUID v3 e v5 são determinísticos: o mesmo namespace + nome sempre produz o mesmo UUID. Todos os outros formatos geram um novo valor a cada chamada.

Como escolher a ferramenta UUID certa

O identificador certo depende dos seus requisitos de ordenabilidade, tamanho e determinismo. Use este guia de decisão:

  1. 1
    Se você precisa de um ID único de uso geral sem requisitos especiaisGerador UUID v4
  2. 2
    Se você precisa de IDs que se ordenem cronologicamente e sejam compatíveis com o padrão UUIDGerador UUID v7
  3. 3
    Se você precisa de IDs ordenados por tempo com timestamp embutido para sistemas de nó único ou baixa concorrênciaGerador UUID v1
  4. 4
    Se você precisa de IDs ordenáveis que sejam seguros para URL e sem hífensGerador ULID
  5. 5
    Se você precisa de IDs compactos e seguros para URL mais curtos que um UUID completoGerador NanoID
  6. 6
    Se você está gerando muitos IDs no cliente e precisa de forte resistência a colisõesGerador CUID2
  7. 7
    Se você precisa do formato CUID v1 por compatibilidade com sistemas existentes baseados na especificação originalGerador CUID
  8. 8
    Se você precisa reproduzir o mesmo ID de forma determinística a partir de um namespace e nomeGerador UUID v3
  9. 9
    Se você está trabalhando com sistemas DCE ou POSIX legados que requerem identificadores v2Gerador UUID v2
  10. 10
    Se você tem um UUID existente e quer inspecionar sua versão, variante ou timestampDecodificador UUID

Tanto UUID v7 quanto ULID fornecem prefixos de timestamp com precisão de milissegundos e ordenabilidade lexicográfica. A diferença principal: UUID v7 usa o formato padrão UUID (8-4-4-4-12, 36 caracteres) para máxima compatibilidade com o ecossistema, enquanto ULID usa uma codificação Base32 personalizada (26 caracteres, seguro para URL, sem hífens). Se seu banco de dados, ORM ou framework suporta nativamente colunas UUID, prefira UUID v7. Se você precisa de IDs mais curtos sem restrições de framework, ULID é mais compacto.

Perguntas frequentes

O que é um UUID?
Um UUID (Identificador Universalmente Único) é um valor de 128 bits padronizado no RFC 9562. É escrito como 32 dígitos hexadecimais em cinco grupos separados por hífens: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. O padrão define múltiplas versões com diferentes estratégias de unicidade — aleatório (v4), baseado em timestamp (v1, v7), ou determinístico baseado em nome (v3, v5).
Qual é a diferença entre UUID v4 e UUID v7?
UUID v4 preenche todos os 122 bits não fixos com dados aleatórios de uma fonte criptograficamente segura. UUID v7 codifica um timestamp Unix de 48 bits em milissegundos nos primeiros 48 bits, seguido de bits aleatórios. O resultado: UUIDs v7 se ordenam cronologicamente como strings simples, o que mantém os índices B-tree do banco de dados ordenados na inserção. UUID v7 foi adicionado no RFC 9562 (abril de 2024) e é a escolha preferida para novas chaves primárias de banco de dados.
Os valores UUID v4 são criptograficamente seguros?
Os valores UUID v4 são gerados usando um gerador de números pseudoaleatórios criptograficamente seguro (CSPRNG). São adequados como tokens não adivinháveis — IDs de sessão, links de redefinição de senha e similares. No entanto, um UUID não é um segredo por si só: não tem HMAC, sem validade, e sem vínculo a um usuário específico. Trate UUIDs como identificadores opacos, não como credenciais de autenticação.
Dois sistemas diferentes podem gerar o mesmo UUID?
A probabilidade de colisão para UUID v4 é aproximadamente 1 em 2^122 por par. Para ter 50% de chance de qualquer colisão, você precisaria gerar aproximadamente 2,7 × 10^18 UUIDs — muito além do que qualquer sistema real produz. UUID v1 e v7 adicionalmente incorporam um timestamp e/ou bits aleatórios, tornando a colisão acidental ainda menos provável. Para todos os propósitos práticos, UUIDs de sistemas separados não colidirão.
Por que os UUIDs têm 36 caracteres?
Um UUID tem 128 bits = 16 bytes. Codificado como hexadecimal, são 32 caracteres. O formato UUID adiciona 4 hífens em posições fixas (após grupos de 8, 4, 4 e 4 dígitos hexadecimais) para melhorar a legibilidade e tornar os bits de versão e variante fáceis de identificar visualmente, produzindo 36 caracteres no total. Os hífens não carregam dados.
O que é ULID e como ele difere do UUID?
ULID (Identificador Ordenável Lexicograficamente Único Universal) é um identificador de 128 bits codificado em Crockford Base32 (26 caracteres, sem distinção de maiúsculas/minúsculas, sem hífens). Os primeiros 48 bits codificam o tempo Unix em milissegundos; os 80 bits restantes são aleatórios. ULIDs se ordenam corretamente como strings simples e são mais compactos que UUIDs. Não fazem parte do RFC UUID — usam uma codificação diferente e carecem dos campos de versão/variante dos UUIDs.
Devo usar UUIDs ou inteiros auto-incrementais como chaves primárias?
Inteiros auto-incrementais são sequenciais, compactos e eficientes para índices, mas requerem um coordenador central (o banco de dados) para atribuí-los — o que falha em sistemas distribuídos e vaza contagens de linhas. UUIDs (especialmente v7 ou ULID) podem ser gerados no lado do cliente sem uma viagem ao banco de dados, possibilitando inserções otimistas e escritas distribuídas. A troca é armazenamento (16 bytes vs. 4–8 bytes) e localidade de índice ligeiramente menor para UUIDs aleatórios (v4). UUID v7 e ULID eliminam o problema de localidade de índice usando prefixos de timestamp.
Qual é a diferença entre UUID v3 e UUID v5?
Tanto UUID v3 quanto v5 são determinísticos: sempre produzem o mesmo UUID para o mesmo par namespace + nome, tornando-os úteis para gerar IDs reproduzíveis para coisas como entradas DNS, URLs ou identificadores de objetos. A única diferença é o algoritmo de hash: v3 usa MD5 (128 bits, legado), v5 usa SHA-1 (160 bits, truncado para 128 bits). Prefira UUID v5 para novos projetos — SHA-1 é mais forte que MD5, mesmo que nenhuma versão seja usada como hash criptográfico.