Artigo Build·Desenvolvimento·7 min de leitura

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.

Vitor Morais

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-446655440000

A 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.

#uuid#banco de dados#backend#desenvolvimento

Artigos relacionados