🌐 Idioma: 🇧🇷 Português

Gerador de UUID Online 2026

Gere UUIDs v4 aleatórios em lote. Copie um por um, em bloco ou exporte como CSV.

Configuração
máx. 1000
Validar UUID
UUIDs Gerados
🔑

Clique em Gerar UUIDs para começar

🆔 O que é um UUID (Identificador Único Universal)?

UUID (Universally Unique Identifier) é um número de 128 bits usado para identificar informações em sistemas computacionais de forma globalmente única. Quando gerado de acordo com os métodos padrão, a probabilidade de duplicação é tão baixa que é considerada praticamente impossível, mesmo gerando bilhões de UUIDs por segundo.

O formato canônico é uma string hexadecimal de 36 caracteres: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (ex: 550e8400-e29b-41d4-a716-446655440000). A versão mais comum é a v4 (aleatória).

📊

Formato do UUID v4: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
O dígito na posição 13 é sempre 4 (indica a versão). O dígito na posição 17 é 8, 9, A ou B (indica a variante RFC 4122).

📌 UUID v1 vs v4 vs NIL: Qual Usar?

VersãoMétodo de GeraçãoVantagensDesvantagens
UUID v1Baseado em Timestamp + Endereço MAC da máquina.Ordenável temporalmente (útil para índices de BD).Vaza informação da máquina (MAC) e horário. Não recomendado para privacidade.
UUID v4Aleatório (122 bits aleatórios).Seguro, não vaza informações, imprevisível.Não é ordenável, pode fragmentar índices clustered (PK).
NIL UUID00000000-0000-0000-0000-000000000000Representa a ausência de UUID (similar a NULL).Não deve ser usado como identificador real.
💡

Recomendação: Para aplicações web e APIs, use UUID v4. Se a ordenação por tempo de criação for crucial e você não quiser expor timestamp, considere usar ULID (Universally Unique Lexicographically Sortable Identifier), que é ordenável e seguro.

🗄️ UUID como Chave Primária (PK) em Bancos de Dados

Usar UUID como Primary Key é uma prática comum em sistemas distribuídos (microsserviços), pois permite gerar IDs únicos sem depender de um contador centralizado (SEQUENCE/AUTO_INCREMENT).

Banco de DadosTipo de Coluna RecomendadoFunção Nativa
PostgreSQLUUIDgen_random_uuid()
MySQL 8.0+BINARY(16) (mais performático que CHAR(36))UUID_TO_BIN(UUID())
SQL ServeruniqueidentifierNEWID() (v4) ou NEWSEQUENTIALID()
SQLiteTEXT ou BLOBNão tem nativa (use extensão ou aplicação).
⚠️

Problema de Performance (Fragmentação): Em bancos que usam índice Clustered (MySQL InnoDB), UUIDs aleatórios (v4) causam fragmentação severa, pois as inserções são fora de ordem. Solução: Use UUID v1 (ordenável) ou ULID, que resolve esse problema.

🎲 Qual a Chance de Gerar Dois UUIDs Iguais (Colisão)?

Matematicamente desprezível. Um UUID v4 tem 122 bits de entropia (2^122 combinações possíveis, ~5.3×10^36).

PROBABILIDADE DE COLISÃO (Paradoxo do Aniversário)
Para ter 50% de chance de colisão, você precisaria gerar aproximadamente 2,71 × 10^18 UUIDs.
Isso equivale a gerar 1 bilhão de UUIDs por segundo durante 85 anos. É por isso que desenvolvedores confiam cegamente no UUID v4 para chaves primárias distribuídas.

🆚 ULID: A Alternativa Moderna ao UUID v4

ULID (Universally Unique Lexicographically Sortable Identifier) resolve o principal problema do UUID v4: a falta de ordenação.

CaracterísticaUUID v4ULID
Ordenável?Não (aleatório).Sim (Timestamp + Aleatório).
Tamanho36 caracteres (string).26 caracteres (Base32).
LegívelHexadecimal com hífens.Crockford's Base32 (sem caracteres ambíguos como I, L, O, U).
Performance em PK (MySQL)Ruim (fragmentação).Ótima (inserção sequencial).
Exemplo550e8400-e29b-41d4-a716-44665544000001ARZ3NDEKTSV4RRFFQ69G5FAV

Quando usar ULID? Se você está projetando um novo sistema e precisa de um identificador único, ordenável por tempo e que funcione bem como Primary Key em MySQL, ULID é superior ao UUID v4.

Perguntas Frequentes sobre UUID

Método moderno (recomendado): crypto.randomUUID().
Exemplo: const id = crypto.randomUUID(); // "550e8400-e29b-41d4-a716-446655440000"
Essa função está disponível em todos os navegadores modernos e Node.js (v15.6.0+).
Primeiro, habilite a extensão: CREATE EXTENSION IF NOT EXISTS "pgcrypto";
Depois use: INSERT INTO tabela (id) VALUES (gen_random_uuid());
Para usar como valor padrão: ALTER TABLE tabela ALTER COLUMN id SET DEFAULT gen_random_uuid();
NIL UUID é o valor 00000000-0000-0000-0000-000000000000. É usado para representar a ausência de um UUID (equivalente a NULL, mas para sistemas que não aceitam NULL). Exemplo: um campo parent_id que referencia um registro raiz pode usar NIL UUID em vez de NULL.
Use o módulo uuid:
import uuid
u = uuid.UUID('550e8400-e29b-41d4-a716-446655440000')
binario = u.bytes # 16 bytes
hex_sem_hifen = u.hex # '550e8400e29b41d4a716446655440000'
Depende da versão:
- UUID v1: NÃO É SEGURO. Ele contém o MAC address da máquina que o gerou, o que pode ser usado para rastreamento.
- UUID v4: SEGURO. É totalmente aleatório e não revela nenhuma informação sobre o sistema.
Se você expõe UUIDs na URL (ex: /perfil/550e8400-e29b-41d4-a716-446655440000), use sempre UUID v4.
Use nosso validador acima! Cole a string e clique em "Validar". O regex para validação manual é:
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i
Em Python: uuid.UUID(string, version=4) lança exceção se inválido.

📌 Resumo: O que Você Precisa Saber

1️⃣
UUID v4 é o padrão para APIs e Web. Aleatório, seguro e imprevisível.
2️⃣
Em bancos de dados, use BINARY(16). É mais performático que CHAR(36).
3️⃣
Colisão? Esqueça. Matematicamente impossível na prática.
4️⃣
ULID é a evolução do UUID. Ordenável e otimizado para índices clustered.
5️⃣
crypto.randomUUID() no JavaScript. A maneira moderna e nativa de gerar UUID v4.

Veja também