Skip to content

Gerador e Decodificador de UUID — v1, v4, v5, v7 em Lote

Gerador de UUID gratuito — crie UUIDs v1, v4, v5, v7 instantaneamente. Decodifique e valide qualquer UUID. Geração em lote de até 50. Sem cadastro, 100% no navegador.

Sem rastreamento Roda no navegador Grátis
Todos os UUIDs são gerados localmente no seu navegador. Nada é transmitido ou armazenado.
Revisado para conformidade com a RFC 9562 e correção estrutural — Go Tools Engineering Team · Mar 22, 2026

O Que É um UUID?

Um UUID (Universally Unique Identifier — Identificador Universalmente Único) é um identificador globalmente único de 128 bits padronizado pela RFC 9562 (IETF, maio de 2024), projetado para gerar IDs livres de colisão em sistemas distribuídos sem coordenação central. UUIDs são o formato de identificador mais amplamente adotado em software moderno — usados em chaves primárias de bancos de dados, rastreamento de requisições de API, gerenciamento de sessões e arquiteturas de microsserviços.

UUIDs são escritos como 32 dígitos hexadecimais no formato canônico 8-4-4-4-12, como `550e8400-e29b-41d4-a716-446655440000`. A especificação é mantida pela IETF; a RFC 9562 substitui a anterior RFC 4122 (2005) e introduz formalmente as versões 6, 7 e 8 do UUID.

Existem cinco versões amplamente utilizadas. A versão 1 (v1) codifica o timestamp atual e o endereço MAC da máquina geradora, tornando cada UUID único tanto em tempo quanto em espaço. As versões 3 (v3) e 5 (v5) são determinísticas — elas fazem hash de um namespace e um nome usando MD5 ou SHA-1, respectivamente, sempre produzindo o mesmo UUID para as mesmas entradas. A versão 4 (v4) é a mais comum: preenche 122 bits com dados aleatórios criptograficamente seguros, oferecendo mais de 5,3 × 10³⁶ valores possíveis (RFC 9562, Seção 5.4). A versão 7 (v7) é o padrão mais recente: conforme a RFC 9562 Seção 5.7 afirma, "UUID version 7 features a time-ordered value field derived from the widely implemented and well-known Unix Epoch timestamp source" — combinando um timestamp de 48 bits em milissegundos com dados aleatórios para produzir UUIDs que são únicos e naturalmente ordenáveis por hora de criação.

UUIDs são essenciais em sistemas distribuídos, bancos de dados, APIs e em qualquer lugar onde identificadores únicos são necessários sem coordenação centralizada. Eles eliminam o risco de colisão de IDs entre sistemas independentes, tornando-os ideais para microsserviços, event sourcing e arquiteturas multi-tenant.

Esta ferramenta gera todas as versões de UUID inteiramente no seu navegador usando a Web Crypto API — nenhum UUID é transmitido a qualquer servidor. Diferente de geradores baseados em servidor, não há uploads, logs ou retenção de dados. Seguro para uso com chaves de banco de dados de produção, identificadores de API e aplicações sensíveis à segurança. Você também pode decodificar e validar UUIDs existentes para inspecionar sua versão, variante e dados incorporados.

UUIDs estão intimamente conectados a outras primitivas de desenvolvimento. UUID v1 e v7 incorporam timestamps Unix diretamente, UUID v3 e v5 usam hashes MD5 e SHA-1 como base, e strings de UUID são frequentemente transportadas dentro de payloads JSON melhor inspecionados com um formatador JSON. Para uma introdução completa ao formato, versões e casos de uso do UUID, leia nosso guia completo de UUID. Se você está escolhendo entre UUID v4, v7, ULID e Snowflake IDs para uma chave primária de banco de dados, veja nossa comparação de seleção de IDs.

// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'

// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
  const bytes = new Uint8Array(16);
  crypto.getRandomValues(bytes);
  bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
  bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
  const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
  return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
}

Recursos Principais

Suporte a UUID v7 (RFC 9562)

Gere o formato mais recente UUID v7 com timestamps Unix incorporados para identificadores ordenados por tempo e compatíveis com bancos de dados. Uma das poucas ferramentas online com suporte ao padrão RFC 9562.

Decodificador e Validador de UUID

Analise qualquer UUID para revelar sua versão, variante, timestamp (v1/v7), sequência de relógio e informações do nó. Valide instantaneamente se uma string é um UUID formatado corretamente.

Suporte a Múltiplas Versões

Gere UUIDs em cinco versões — v1 (baseado em tempo), v3 (MD5), v4 (aleatório), v5 (SHA-1) e v7 (aleatório ordenado por tempo) — todos em conformidade com a RFC 9562.

Geração em Lote

Gere até 50 UUIDs únicos de uma vez. Cada UUID é gerado independentemente com aleatoriedade criptográfica completa ou codificação correta específica da versão.

Múltiplos Formatos de Saída

Saída de UUIDs em minúsculas padrão, MAIÚSCULAS, sem hífens ou com chaves {GUID} — correspondendo ao formato exato exigido pelo seu sistema ou framework.

Criptograficamente Seguro

Usa a Web Crypto API (crypto.getRandomValues()) para geração de números verdadeiramente aleatórios — o mesmo padrão usado por navegadores modernos e ferramentas de segurança.

100% no Navegador

Todos os UUIDs são gerados localmente no seu navegador. Nada é enviado a qualquer servidor — seus identificadores gerados permanecem completamente privados.

Comparação de Versões de UUID

Escolha a versão certa de UUID para o seu caso de uso.

Versão Base Ordenável Privacidade Ideal para
v1 Timestamp + endereço MAC Por hora de criação Expõe MAC e hora Sistemas legados que exigem ordenação baseada em tempo
v4 122 bits aleatórios criptográficos Não Totalmente anônimo Uso geral — versão mais amplamente utilizada
v5 Hash SHA-1 de namespace + nome Não Determinístico, reproduzível IDs consistentes a partir de entradas conhecidas (URLs, DNS)
v7 Timestamp Unix (ms) + aleatório Por hora de criação Expõe apenas a hora de criação Bancos de dados modernos — ordenável, otimizado para índices (RFC 9562)

UUID vs Outros Formatos de ID

ULID

26 caracteres, Crockford Base32

Ordenável lexicograficamente como UUID v7, mas usa codificação Crockford Base32 (26 caracteres vs 36). UUID v7 agora é a alternativa padronizada pela IETF com suporte mais amplo de ferramentas.

nanoid

21 caracteres, alfabeto seguro para URL

Mais curto e seguro para URL, ideal quando a compactação importa. Não é um padrão formal — não possui tipos nativos de banco de dados e bibliotecas multiplataforma que o UUID possui.

CUID2

Comprimento variável, alfanumérico

Projetado para escala horizontal com resistência a colisões. Menos adotado que o UUID; sem suporte nativo em bancos de dados. Considere UUID v7 para IDs ordenados por tempo padronizados.

Exemplos de Versões de UUID

UUID v4 (Aleatório)

550e8400-e29b-41d4-a716-446655440000

A versão mais comumente usada. 122 bits de aleatoriedade criptográfica fornecem mais de 5,3 x 10^36 valores possíveis — adequado para praticamente qualquer caso de uso onde unicidade é necessária sem coordenação.

UUID v7 (Ordenado por Tempo)

01906b5e-4a3e-7234-8f56-b8c12d4e5678

Combina um timestamp Unix de 48 bits em milissegundos com dados aleatórios. Os UUIDs são ordenados cronologicamente, tornando-os ideais para chaves primárias de banco de dados onde a localidade de índice é importante. Recomendado para novos projetos em vez de v1 e v4.

UUID v1 (Baseado em Tempo)

6ba7b810-9dad-11d1-80b4-00c04fd430c8

Codifica um timestamp de 60 bits e o endereço MAC de 48 bits da máquina geradora. Garante unicidade no tempo e no espaço, mas pode vazar informações de identidade do hardware. Substituído por v6/v7 na RFC 9562.

UUID v5 (Baseado em Nome SHA-1)

886313e1-3b8a-5372-9b90-0c9aee199e5d

UUID determinístico gerado pelo hashing do namespace DNS com o nome 'python.org' usando SHA-1. O mesmo namespace e nome sempre produzem o mesmo UUID, tornando v5 ideal para identificadores reproduzíveis.

Como Usar

  1. 1

    Selecione a Versão do UUID

    Escolha entre v1 (baseado em tempo), v3 (baseado em nome MD5), v4 (aleatório), v5 (baseado em nome SHA-1) ou v7 (aleatório ordenado por tempo). Cada versão serve a um propósito diferente — v4 é a mais comum para uso geral.

  2. 2

    Configure as Opções

    Para v3 e v5, selecione um namespace (DNS, URL, OID, X.500 ou personalizado) e insira um nome para gerar o hash. Defina a quantidade de 1 a 50 e escolha um formato de saída: minúsculas padrão, MAIÚSCULAS, sem hífens ou com chaves {GUID}.

  3. 3

    Gere os UUIDs

    Clique no botão Gerar. Cada UUID é criado usando a Web Crypto API (crypto.getRandomValues()) para segurança criptográfica. Os campos específicos de cada versão, como timestamps (v1/v7) e hashes (v3/v5), são codificados corretamente.

  4. 4

    Copie e Use

    Clique no botão Copiar ao lado de qualquer UUID para copiá-lo para a área de transferência, ou use Copiar Tudo para pegar todos os UUIDs gerados de uma vez. Mude para a aba Decodificar para analisar a versão, variante, timestamp e outras informações incorporadas de um UUID existente.

Casos de Uso Comuns

Chaves Primárias de Banco de Dados
Use UUID v4 ou v7 como chaves primárias únicas sem coordenação entre nós do banco de dados. UUID v7 é especialmente adequado porque sua propriedade de ordenação temporal melhora o desempenho de índices B-tree.
Sistemas Distribuídos
Gere identificadores únicos de forma independente entre microsserviços, filas de mensagens e sistemas de event sourcing. UUIDs eliminam a necessidade de um serviço centralizado de geração de IDs.
Desenvolvimento de APIs
Crie IDs de requisição únicos, IDs de correlação e chaves de idempotência para APIs RESTful e GraphQL. UUIDs facilitam o rastreamento de requisições através de fronteiras de serviços distribuídos.
Gerenciamento de Sessões e Tokens
Gere identificadores de sessão e tokens temporários únicos para fluxos de autenticação. UUIDs fornecem unicidade suficiente para evitar colisões de sessão em grandes bases de usuários.
Testes e Desenvolvimento
Gere rapidamente dados de teste, identificadores mock e IDs únicos de fixtures para testes automatizados. A geração em lote facilita o preenchimento de bancos de dados de desenvolvimento e suítes de teste.

Detalhes Técnicos

Estrutura do UUID
Um UUID é de 128 bits (16 bytes) representado como 32 caracteres hexadecimais no formato 8-4-4-4-12. Os bits 48-51 (o 13° dígito hexadecimal) codificam o número da versão. Os bits 64-65 codificam o campo de variante, que identifica o layout do UUID. Os bits restantes carregam o payload específico da versão: timestamp, dados aleatórios ou saída de hash.
Bits de Versão
Os bits 48-51 (o nibble alto do 7° byte) codificam a versão do UUID: 0001 = v1 (baseado em tempo), 0011 = v3 (baseado em nome MD5), 0100 = v4 (aleatório), 0101 = v5 (baseado em nome SHA-1), 0110 = v6 (tempo reordenado), 0111 = v7 (tempo época Unix). Esses quatro bits são sempre definidos explicitamente durante a geração.
Campo de Variante
Os bits 64-65 (os dois bits mais significativos do 9° byte) definem a variante. O padrão 10x indica UUIDs RFC 4122/9562 (a grande maioria). O padrão 110 indica GUIDs Microsoft com ordem de bytes mixed-endian. O padrão 0xx indica UUIDs compatíveis com NCS (legado). O padrão 111 é reservado para uso futuro.
Padrão RFC 9562
A RFC 9562, publicada em maio de 2024, substitui a RFC 4122 como a especificação definitiva de UUID. Ela introduz formalmente as versões 6, 7 e 8 do UUID. A versão 6 reordena os campos do v1 para ordenabilidade. A versão 7 usa um timestamp Unix de 48 bits em milissegundos mais dados aleatórios, tornando-a a versão recomendada para novos UUIDs baseados em tempo. A versão 8 fornece um formato para UUIDs personalizados e específicos de implementação. A RFC 9562 também deprecia formalmente o v1 em favor do v6/v7.

Boas Práticas

Escolha a Versão Certa
Use v4 para identificadores únicos de uso geral onde não é necessária ordenação nem determinismo. Use v7 para chaves primárias de banco de dados — sua propriedade de ordenação temporal oferece desempenho de índice significativamente melhor. Use v5 quando precisar de IDs determinísticos derivados de nomes (prefira v5 ao v3 para hashing mais robusto).
Use UUID v7 para Chaves Primárias de Banco de Dados
A estrutura ordenada por tempo do UUID v7 mantém as inserções em B-tree sequenciais, reduzindo a fragmentação de índice em aproximadamente 90% comparado a UUIDs v4 aleatórios. Isso se traduz em escritas mais rápidas, índices menores e melhor utilização de cache. A maioria dos bancos de dados modernos (PostgreSQL 17+, MySQL 8.0+) tem suporte nativo a UUID otimizado para este padrão.
Nunca Use UUIDs como Tokens de Segurança
UUIDs são projetados para unicidade, não para sigilo. UUID v1 vaza o timestamp de geração e o endereço MAC. UUID v4 tem apenas 122 bits de entropia com uma estrutura previsível. Para tokens de segurança, chaves de API ou segredos de sessão, use um CSPRNG dedicado para gerar 128 ou 256 bits de dados puramente aleatórios sem a sobrecarga da estrutura UUID.
Valide Antes de Processar
Sempre valide o formato do UUID com uma expressão regular antes de processar ou armazenar. Rejeite entradas malformadas nas fronteiras do sistema — endpoints de API, envios de formulários e entradas de banco de dados. Isso previne ataques de injeção, corrupção de dados e erros difíceis de depurar causados por identificadores inválidos propagando pelo seu sistema.

Perguntas Frequentes

O que é um UUID?
Um UUID (Universally Unique Identifier — Identificador Universalmente Único) é um identificador de 128 bits padronizado pela RFC 9562. É escrito como 32 dígitos hexadecimais exibidos em cinco grupos separados por hífens, seguindo o formato 8-4-4-4-12 — por exemplo, 550e8400-e29b-41d4-a716-446655440000. UUIDs são projetados para serem globalmente únicos sem exigir uma autoridade de registro central. O termo GUID (Globally Unique Identifier) é o nome da Microsoft para o mesmo conceito e usa o formato idêntico. UUIDs são usados extensivamente em bancos de dados, sistemas distribuídos, APIs e desenvolvimento de software onde identificadores únicos são necessários. Com mais de 5,3 x 10^36 UUIDs v4 possíveis, a probabilidade de gerar um duplicado é astronomicamente pequena, tornando-os seguros para geração independente em sistemas não coordenados.
Quais são as diferenças entre as versões de UUID?
UUID v1 codifica um timestamp de 60 bits e o endereço MAC de 48 bits da máquina, garantindo unicidade no tempo e no espaço, mas potencialmente vazando identidade do hardware. UUID v3 faz hash de um namespace e nome com MD5 para produzir um UUID determinístico — as mesmas entradas sempre geram a mesma saída. UUID v4 preenche 122 de seus 128 bits com dados aleatórios criptograficamente seguros, sendo a versão mais usada para identificadores únicos de uso geral. UUID v5 é idêntico ao v3, mas usa SHA-1 em vez de MD5, oferecendo maior resistência a colisões de hash. UUID v7, introduzido na RFC 9562 (maio de 2024), incorpora um timestamp Unix de 48 bits em milissegundos seguido de bits aleatórios, produzindo UUIDs que são únicos e naturalmente ordenáveis por hora de criação. A escolha da versão depende dos seus requisitos: v4 para simplicidade, v5 para determinismo e v7 para chaves de banco de dados ordenáveis por tempo.
Quando devo usar UUID v4 vs v7?
UUID v4 é a versão mais popular e uma excelente escolha padrão. Gera 122 bits de pura aleatoriedade, não requer configuração e funciona em qualquer lugar. Use v4 quando você simplesmente precisa de um identificador único e não se importa com ordenação. UUID v7 é a melhor escolha quando os UUIDs serão usados como chaves primárias de banco de dados ou precisam ser ordenados por hora de criação. Como v7 incorpora um timestamp com precisão de milissegundos nos bits mais significativos, os UUIDs v7 naturalmente se ordenam em ordem cronológica. Essa propriedade melhora drasticamente o desempenho de índices B-tree — inserções sempre vão para o final do índice em vez de posições aleatórias, reduzindo divisões de página e fragmentação em até 90%. Para novos projetos em 2026, a recomendação geral é usar v7 para chaves de banco de dados e v4 para todo o resto. Ambas as versões são igualmente únicas e criptograficamente aleatórias em suas porções aleatórias.
Qual é a probabilidade de colisão de UUID?
UUID v4 tem 122 bits aleatórios, oferecendo 2^122 (aproximadamente 5,3 x 10^36) valores possíveis. Para ter uma probabilidade de 50% de pelo menos uma colisão, você precisaria gerar aproximadamente 2,71 x 10^18 UUIDs — ou seja, 2,71 quintilhões. Para contextualizar, se você gerasse um bilhão de UUIDs por segundo, levaria cerca de 86 anos para alcançar 50% de probabilidade de colisão. Em taxas de geração mais realistas, a probabilidade é infinitamente pequena. Por exemplo, gerar 10 milhões de UUIDs produz uma probabilidade de colisão de aproximadamente 1 em 10^22. Na prática, falhas de hardware, bugs de software e erros humanos são todos bilhões de vezes mais prováveis de causar IDs duplicados do que colisões de UUID v4. A matemática é baseada na fórmula do problema do aniversário: p(n) ≈ n^2 / (2 * 2^122).
Qual é a diferença entre UUID e GUID?
UUID (Universally Unique Identifier) e GUID (Globally Unique Identifier) são essencialmente a mesma coisa. GUID é o termo cunhado pela Microsoft e usado predominantemente em ambientes Windows, .NET, COM e SQL Server. UUID é o termo padrão definido pela RFC 9562 (e sua predecessora RFC 4122) e é usado na maioria dos outros contextos, incluindo Linux, Java, Python, PostgreSQL e desenvolvimento web. Ambos usam o formato idêntico de 128 bits exibido como 32 dígitos hexadecimais no padrão 8-4-4-4-12. A única diferença menor é que as ferramentas da Microsoft às vezes exibem GUIDs em maiúsculas com chaves, como {550E8400-E29B-41D4-A716-446655440000}, enquanto UUIDs são convencionalmente mostrados em minúsculas sem chaves. Esta ferramenta suporta ambos os formatos através do seletor de formato de saída — escolha o formato Chaves {GUID} para saída no estilo Microsoft.
UUID v4 é criptograficamente seguro?
Quando gerado usando crypto.getRandomValues() ou um CSPRNG (Gerador de Números Pseudoaleatórios Criptograficamente Seguro) equivalente, UUID v4 contém 122 bits de dados aleatórios criptograficamente seguros. Esta ferramenta usa a Web Crypto API, que obtém entropia da fonte segura de aleatoriedade do sistema operacional. No entanto, UUIDs não devem ser usados como tokens de segurança, senhas ou chaves de criptografia. Embora 122 bits de aleatoriedade tornem a previsão inviável, UUIDs têm uma estrutura previsível — o nibble de versão (4) e os bits de variante são fixos e publicamente conhecidos. Para tokens de segurança, use APIs dedicadas como crypto.getRandomValues() com 128 ou 256 bits completos de entropia, ou use formatos de token estabelecidos como JWT. Use UUIDs para identificação, não para segurança.
Como validar o formato de um UUID?
Um UUID válido corresponde ao padrão de expressão regular: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (case-insensitive). Este padrão impõe o formato hexadecimal 8-4-4-4-12, verifica que o dígito de versão (posição 15) está entre 1 e 7, e confirma que o nibble de variante (posição 20) começa com 8, 9, a ou b (indicando a variante RFC 4122/9562). Em JavaScript, você pode validar com: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid). A maioria das linguagens de programação também possui parsing nativo de UUID — por exemplo, uuid.UUID() do Python, UUID.fromString() do Java e uuid.Parse() do Go. Sempre valide UUIDs nas fronteiras do sistema antes de armazená-los ou processá-los para prevenir ataques de injeção e corrupção de dados.
UUIDs são boas chaves primárias de banco de dados? (Desempenho, segurança e melhor versão)
Sim, UUIDs são seguros e cada vez mais populares como chaves primárias de banco de dados, com UUID v7 sendo a versão recomendada. As principais vantagens: (1) UUIDs podem ser gerados em qualquer lugar — clientes, servidores ou edge functions — sem uma ida e volta ao banco de dados, habilitando arquiteturas offline-first e distribuídas. (2) UUIDs previnem ataques de enumeração, pois não são inteiros sequenciais. (3) UUIDs simplificam a mesclagem de dados entre sistemas, já que os IDs nunca colidem. UUID v7 é a melhor versão para chaves primárias porque sua estrutura ordenada por tempo mantém os índices B-tree sequenciais, reduzindo drasticamente divisões de página, amplificação de escrita e fragmentação de índice em até 90% comparado a UUIDs v4 aleatórios. As desvantagens: UUIDs usam 16 bytes versus 4-8 bytes para inteiros, aumentando o armazenamento e a memória para índices. No MySQL/InnoDB, onde a chave primária é o índice clusterizado, UUIDs v4 aleatórios podem causar degradação significativa de desempenho — v7 resolve isso garantindo que as inserções sempre sejam adicionadas ao final do índice, alcançando desempenho comparável a inteiros auto-incrementais. PostgreSQL armazena UUIDs nativamente em 16 bytes com o tipo uuid. Para a maioria das aplicações modernas, os benefícios da geração de IDs globalmente únicos e sem coordenação superam em muito o custo extra de armazenamento.
O que é um namespace UUID (v3/v5)?
Um namespace UUID é um UUID predefinido ou personalizado que serve como escopo para gerar UUIDs determinísticos v3 e v5. A RFC 4122 define quatro namespaces padrão: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) e X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8). Quando você combina um namespace UUID com uma string de nome, o algoritmo v3 ou v5 faz o hash deles juntos para produzir um UUID determinístico — o mesmo namespace mais o nome sempre produz o mesmo UUID. Isso é útil quando você precisa de identificadores reproduzíveis derivados de nomes significativos. Por exemplo, fazer hash do namespace DNS com 'example.com' sempre produz o mesmo UUID v5. Você também pode usar qualquer UUID válido como namespace personalizado para o esquema de ID determinístico da sua aplicação.
O que é o valor nil do UUID?
O UUID nil (também chamado de UUID zero) é 00000000-0000-0000-0000-000000000000 — todos os 128 bits definidos como zero. É definido na RFC 9562 Seção 5.9 como um UUID especial que pode representar a ausência de um valor, semelhante a null ou None em linguagens de programação. O UUID nil é útil como valor sentinela, um padrão em sistemas de configuração, ou um placeholder em registros de banco de dados onde um campo UUID não pode estar vazio, mas nenhum valor real existe ainda. A RFC 9562 também define o UUID max: ffffffff-ffff-ffff-ffff-ffffffffffff (todos os bits definidos como um), que pode servir como marcador de limite. Cuidados importantes: nunca use o UUID nil como um identificador real — ele não é único. Algumas bibliotecas de UUID e bancos de dados podem rejeitar ou tratar especialmente UUIDs nil, então garanta que seu sistema os trate de forma consistente. Sempre documente se UUIDs nil são aceitos nos seus contratos de API e schemas de banco de dados.
O que é UUID v7 e por que devo usá-lo?
UUID v7 é a versão mais recente de UUID definida na RFC 9562 (maio de 2024). Ele incorpora um timestamp Unix de 48 bits em milissegundos nos bits mais significativos, seguido de dados aleatórios criptograficamente seguros. Este design produz UUIDs que são globalmente únicos, cronologicamente ordenáveis e altamente eficientes como chaves primárias de banco de dados. Diferente do UUID v1, que também contém um timestamp, o v7 usa um formato de época Unix mais simples e não expõe seu endereço MAC. A estrutura ordenada por tempo reduz a fragmentação de índice B-tree em até 90% comparado ao UUID v4 aleatório, resultando em inserções mais rápidas, índices menores e melhores taxas de acerto de cache. Para novos projetos iniciando em 2026, UUID v7 é a escolha recomendada para qualquer cenário que exija ordenação baseada em tempo — especialmente chaves primárias de banco de dados, logs de eventos e filas de mensagens distribuídas.
Como decodificar um UUID?
Decodificar um UUID significa extrair as informações estruturais codificadas dentro de seus 128 bits. Todo UUID contém um campo de versão (bits 48-51) identificando como foi gerado, e um campo de variante (bits 64-65) identificando o padrão UUID ao qual está conforme. Além desses campos comuns, diferentes versões incorporam dados diferentes: UUID v1 e v6 contêm um timestamp de 60 bits e um nó de 48 bits (endereço MAC); UUID v7 contém um timestamp Unix de 48 bits em milissegundos; UUID v3 e v5 contêm um hash truncado de um namespace e nome. Para decodificar um UUID, cole-o na aba Decodificar desta ferramenta. Ela exibirá instantaneamente a versão, variante, timestamp (para versões baseadas em tempo) e status de validade. Programaticamente, você pode decodificar analisando os dígitos hexadecimais e aplicando operações bit a bit para extrair cada campo de acordo com a especificação RFC 9562.
UUID vs ULID vs nanoid — qual devo usar?
UUID, ULID e nanoid servem ao mesmo propósito fundamental — gerar identificadores únicos — mas diferem em formato, ordenabilidade e padronização. UUID é o padrão mais amplamente adotado (RFC 9562), suportado nativamente por praticamente todos os bancos de dados, linguagens e frameworks. UUID v7 fornece ordenação baseada em tempo no formato padrão de 128 bits e 36 caracteres. ULID (Universally Unique Lexicographically Sortable Identifier) antecede o UUID v7 e usa codificação Crockford Base32 para produzir uma string ordenável de 26 caracteres. Agora que UUID v7 existe como padrão IETF, a principal vantagem do ULID — ordenabilidade — está disponível no formato universal UUID. nanoid gera identificadores mais curtos (padrão de 21 caracteres) usando um alfabeto seguro para URL, sendo ideal quando o comprimento da string importa e você não precisa de interoperabilidade entre sistemas. Para a maioria das aplicações, UUID v4 (uso geral) ou UUID v7 (chaves de banco de dados) é a escolha recomendada devido ao suporte universal de ferramentas, tipos nativos de banco de dados e padronização formal.
Estou construindo um microsserviço e preciso escolher entre UUID v4 e v7 para minhas chaves primárias PostgreSQL — qual devo usar e por quê?
Use UUID v7 para chaves primárias PostgreSQL. UUID v7 incorpora um timestamp Unix com precisão de milissegundos nos bits mais significativos, então os IDs gerados são naturalmente ordenados cronologicamente. Isso mantém seus índices B-tree sequenciais — inserções sempre vão para o final em vez de posições aleatórias, reduzindo divisões de página e fragmentação de índice em até 90% comparado ao UUID v4 aleatório. PostgreSQL 17+ tem suporte nativo ao tipo uuid otimizado para este padrão. UUID v4 ainda é adequado para identificadores não indexados como IDs de correlação ou tokens de sessão onde a ordem de classificação não importa.
Minha equipe está debatendo se deve usar UUIDs ou inteiros auto-incrementais como IDs de banco de dados — quais são as vantagens e desvantagens reais?
Inteiros auto-incrementais são menores (4-8 bytes vs 16 bytes), mais rápidos de comparar e produzem índices naturalmente sequenciais. No entanto, eles exigem uma sequência centralizada (o banco de dados), tornando-os problemáticos em sistemas distribuídos, apps offline-first e migrações de dados. UUIDs podem ser gerados em qualquer lugar — clientes, edge functions, múltiplos bancos de dados — sem coordenação. Eles também previnem ataques de enumeração (usuários não podem adivinhar /users/124 para encontrar outros registros). O custo extra de armazenamento é real, mas geralmente aceitável: um índice UUID é aproximadamente 2x o tamanho de um índice inteiro. Para a maioria das aplicações modernas, UUID v7 oferece o melhor dos dois mundos — globalmente único, sem necessidade de coordenação e sequencialmente ordenável como auto-incrementais.

Ferramentas relacionadas

Ver todas as ferramentas →

Gerador de Hash MD5 e Ferramenta de Checksum

Ferramentas de Segurança

Gere hashes MD5, SHA-256, SHA-1 e SHA-512 online gratuitamente. Faça hash de texto ou arquivos no navegador, verifique checksums e copie resultados. Sem cadastro necessário.

Gerador de Senhas Aleatórias — Forte e Seguro

Ferramentas de Segurança

Gere senhas aleatórias fortes instantaneamente — grátis, sem cadastro, 100% no navegador. Personalize comprimento e tipos de caracteres, gere em lote até 50. Medidor de força com análise de entropia.

Conversor de Base Numérica — Binário, Hex, Decimal e Octal

Ferramentas de Conversão

Converta números entre binário, hexadecimal, decimal, octal e qualquer base personalizada (2-36) instantaneamente. Gratuito, privado, sem cadastro — todo o processamento acontece no seu navegador.

Decodificador e Codificador Base64

Codificação e Formatação

Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.

Comprimir Imagens Online — JPEG, PNG e WebP

Ferramentas de Conversão

Reduza o tamanho de imagens em até 80% — comprima JPEG, PNG e WebP no navegador, sem upload. Lote de 20 imagens, ajuste de qualidade, compare antes e depois. Gratuito e privado.

Formatador e Validador JSON

Codificação e Formatação

Formate, valide e embeleze JSON instantaneamente no seu navegador. Ferramenta online gratuita com validação de sintaxe, detecção de erros, minificação e cópia com um clique. 100% privado — seus dados nunca saem do seu dispositivo.