UUID v4 vs UUID v7: Qual Usar no Seu Projeto?
UUID v4 dominou por anos como padrão de identificadores únicos. Mas desde 2024, o UUID v7 ganhou suporte oficial na RFC 9562 e promete ser o novo padrão. Entenda as diferenças e saiba qual escolher.
Por Vitor Morais
Fundador do MochaLabz ·
Gere UUID v4 e v7 gratuitamente
Compare os formatos, gere em lote e copie com um clique.
Usar gerador de UUID →A Diferença Fundamental
UUID v4 gera 122 bits completamente aleatórios. UUID v7 combina um timestamp Unix de 48 bits (em milissegundos) com bits aleatórios. Essa diferença aparentemente pequena tem implicações enormes na prática.
UUID v4: O Padrão que Todo Mundo Conhece
UUID v4 é aleatório, simples e amplamente suportado:
- ✅ Suporte nativo em todas as linguagens modernas
- ✅ Imprevisível — ideal para tokens de segurança e IDs expostos
- ✅ Sem vazamento de metadados (timestamp, hardware)
- ❌ Não é ordenável — inserts aleatórios fragmentam índices B-tree
- ❌ Pior performance em banco de dados com alto volume de escrita
JavaScript — UUID v4
// Nativo em browsers modernos e Node 14.17+
const id = crypto.randomUUID();
// "550e8400-e29b-41d4-a716-446655440000"UUID v7: O Novo Padrão
UUID v7 foi padronizado na RFC 9562 em 2024 e resolve o principal problema do v4:
- ✅ Monotonicamente crescente — inserts sequenciais, índices eficientes
- ✅ Contém timestamp Unix — pode ser usado para ordenar por criação
- ✅ Mantém boa aleatoriedade nos 74 bits restantes
- ✅ Suporte crescente: Hibernate 6.2+, Laravel 10+, Postgres com extensão
- ❌ Ainda não nativo em todas as plataformas
JavaScript — UUID v7
import { v7 as uuidv7 } from 'uuid';
const id = uuidv7();
// "018f4e8e-3a2b-7000-8c5d-2a8f3b1c4e5f"
// Os primeiros 12 chars são o timestamp!Impacto Real no Banco de Dados
Com UUID v4, cada insert vai para uma posição aleatória no índice B-tree, causando page splits constantes. Com 10 mil registros por segundo, a diferença de throughput entre v4 e v7 pode chegar a 30-50% em favor do v7 no PostgreSQL.
Quando Usar Cada Um?
Use UUID v4 quando:
- O ID é exposto publicamente e não pode ter padrão temporal
- Você gera tokens de segurança ou sessões
- O volume de inserts é baixo (menos de mil por segundo)
Use UUID v7 quando:
- Vai usar como chave primária em banco de dados
- Precisa de ordenação natural por data de criação
- O sistema tem alto volume de escritas
Conclusão
Para novos projetos, prefira UUID v7 como chave primária no banco de dados. Mantenha UUID v4 para casos onde privacidade e imprevisibilidade são requisitos. A biblioteca uuid para JavaScript suporta ambas as versões com a mesma API.
Artigos relacionados
O que é UUID? Guia Completo com Exemplos
Entenda o que são UUIDs, os diferentes tipos (v1, v4, v7) e quando usar cada um em seus projetos.
UUID como Chave Primária: Vantagens, Problemas e Alternativas (2026)
Tudo sobre usar UUID como chave primária em PostgreSQL e MySQL: por que vale, problema de fragmentação do v4, como UUID v7 resolve, comparativo com BIGINT, ULID, NanoID, CUID2 e Snowflake.