O que é UUID? Guia Completo com Exemplos
UUID é o padrão de identificação único mais utilizado em sistemas distribuídos. Neste guia, você vai entender os tipos (v1, v4, v7), quando usar cada um e como gerar nas principais linguagens.
Por Vitor Morais
Fundador do MochaLabz ·
Gere UUIDs direto no navegador
Sem instalar nada. Versões v1, v4 e v7, com geração em lote e cópia com um clique.
Usar gerador de UUID →O que é UUID?
UUID (Universally Unique Identifier), também chamado de GUID em contextos Microsoft, é um identificador de 128 bits padronizado pela RFC 4122. Ele é representado como uma string de 32 dígitos hexadecimais no formato:
550e8400-e29b-41d4-a716-446655440000A estrutura é: 8-4-4-4-12 dígitos separados por hífens. O objetivo principal é gerar identificadores únicos sem necessidade de coordenação centralentre sistemas — perfeito para ambientes distribuídos.
Versões de UUID: v1, v4 e v7
UUID v1 — Baseado em Timestamp
UUID v1 combina o timestamp atual (em unidades de 100 nanossegundos desde 15 de outubro de 1582) com o endereço MAC da máquina.
- ✅ Ordenável temporalmente
- ✅ Garantia de unicidade mesmo com múltiplas gerações no mesmo milissegundo
- ❌ Expõe o MAC address da máquina (problema de privacidade)
- ❌ Previsível — não deve ser usado como token de segurança
UUID v4 — Aleatório
UUID v4 é gerado com 122 bits de aleatoriedade criptograficamente segura. É o mais amplamente usado.
- ✅ Totalmente aleatório e imprevisível
- ✅ Sem exposição de informações da máquina
- ✅ Probabilidade de colisão praticamente zero
- ❌ Não é ordenável — ruim para índices de banco de dados
UUID v7 — O Futuro dos UUIDs
UUID v7 (RFC 9562, 2024) combina timestamp Unix de alta precisão (milissegundos) com aleatoriedade criptográfica. É o melhor dos dois mundos.
- ✅ Ordenável temporalmente (como v1, mas com timestamp moderno)
- ✅ Sem exposição de hardware
- ✅ Ótimo para índices B-tree em bancos de dados
- ✅ Suporte crescente em ORMs como Hibernate e GORM
Quando usar cada versão?
Use UUID v4 para a maioria dos casos gerais: IDs de usuário, IDs de recursos em APIs, tokens de sessão. Use UUID v7 quando precisar de ordenação temporal e performance de índice no banco de dados. Evite UUID v1 em novos projetos por questões de privacidade.
Como gerar UUID nas principais linguagens
JavaScript / Node.js
// Nativo (Node 14.17+, todos browsers modernos)
const uuid = crypto.randomUUID(); // UUID v4
// Biblioteca uuid
import { v4 as uuidv4, v7 as uuidv7 } from 'uuid';
const id = uuidv7();Python
import uuid
id_v4 = str(uuid.uuid4())
# Python 3.11+ tem uuid.uuid7()
id_v7 = str(uuid.uuid7())SQL — PostgreSQL
-- UUID v4 nativo
SELECT gen_random_uuid();
-- Como chave primária com UUID v7
CREATE TABLE users (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
name TEXT NOT NULL
);UUID em banco de dados: boas práticas
UUID v4 como chave primária pode causar fragmentação de índice em bancos relacionais, pois os valores são inseridos em ordem aleatória. Isso degrada a performance de índices B-tree.
Soluções: use UUID v7 (ordenável), ou armazene UUIDs como BINARY(16)no MySQL em vez de VARCHAR(36) para economizar espaço e melhorar performance.
Artigos relacionados
Guia SEO para Iniciantes (2026): Do Zero ao Primeiro Tráfego Orgânico
Guia completo para quem está começando em SEO: como o Google funciona, intenção de busca, on-page, técnico, conteúdo, links e roteiro dos primeiros 90 dias.
Introdução ao Machine Learning (2026): Guia Prático para Quem Está Começando
Guia prático de machine learning para iniciantes: conceitos, tipos de aprendizado, algoritmos, pipeline de projeto, métricas e caminhos de carreira.