🆔 Gerador de UUID
Gere UUIDs v4 (aleatórios) únicos na hora, em formato com ou sem hífens, em maiúsculas ou minúsculas. Perfeito para IDs de banco, testes e APIs.
O que é UUID
UUID (Universally Unique Identifier) — também chamado de GUID (Globally Unique Identifier) no mundo Microsoft — é um identificador de 128 bits que tem a garantia estatística de ser único entre todos os sistemas do mundo, sem necessidade de coordenação central. Especificado na RFC 4122 e padronizado pela ITU como X.667.
Formato do UUID
UUID é representado como 32 caracteres hexadecimais divididos em
5 grupos separados por hífens: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
(8-4-4-4-12). O caractere M indica a versão (1 a 5) e o primeiro
nibble do N indica a variante. O UUID v4 gerado aqui tem
M = 4 e N ∈ {8, 9, A, B}.
Versões do UUID
| Versão | Base | Uso |
|---|---|---|
| v1 | Timestamp + MAC | Histórica; vaza hardware do gerador |
| v3 | MD5 de namespace | Hash determinístico |
| v4 | Aleatório (122 bits) | Mais comum; usado aqui |
| v5 | SHA-1 de namespace | Hash determinístico moderno |
| v7 | Timestamp + aleatório | Novo padrão para chaves ordenáveis (RFC 9562/2024) |
Qual a chance de colisão de UUID v4
Com 122 bits de aleatoriedade, existem 2¹²² ≈ 5,3 × 10³⁶ combinações. Para ter 1% de chance de duas colisões em um universo de IDs, seriam necessários 2,71 × 10¹⁸ UUIDs gerados — aproximadamente 2,7 quintilhões. Na prática, pode-se considerar colisão impossível em qualquer sistema real.
Quando usar UUID em vez de auto-incremento
Vantagens do UUID: não expõe quantidade de registros (1, 2, 3 é
previsível; UUID não); pode gerar IDs em clientes offline sem coordenação; unifica
bases distribuídas sem conflito; evita enumeração maliciosa (/user/1,
/user/2).
Desvantagens: ocupa 16 bytes (vs 4-8 do INT), dificulta indexação em
bancos relacionais, não ordena cronologicamente (exceto v7). Para dados imutáveis
(eventos, logs) prefira v7.
UUID em diferentes linguagens
JavaScript (navegador moderno): crypto.randomUUID().
Python: import uuid; uuid.uuid4().
Java: java.util.UUID.randomUUID().
C#: Guid.NewGuid().
PostgreSQL: gen_random_uuid() (extensão pgcrypto).
MySQL 8+: UUID() ou UUID_TO_BIN() para
armazenar como BINARY(16).
Boas práticas para armazenar UUID
PostgreSQL: tipo nativo UUID — 16 bytes, rápido.
MySQL: usar BINARY(16) com UUID_TO_BIN/BIN_TO_UUID, trocando
bytes para melhor indexação.
MongoDB: tipo BSON UUID.
REST APIs: enviar sempre em string com hífens — padrão mais
compatível.
URLs públicas: UUID v4 serve bem — não vaza data de criação nem
sequência.
Perguntas Frequentes
-
Sim, por probabilidade. Com 122 bits aleatórios, a chance de duas colisões em um bilhão de UUIDs é praticamente zero. Para todos os fins práticos, é "único no universo".
-
Tecnicamente nenhuma — GUID é o nome que a Microsoft usa internamente para UUID. Mesma estrutura, mesma garantia. Em ambientes .NET você vê "GUID"; em Linux/open-source, "UUID".
-
Pode, e muitos sistemas modernos preferem. Tome cuidado com o impacto em índices (UUIDs aleatórios causam fragmentação). Para sistemas com alto volume de inserts, considere UUID v7 (ordenável cronologicamente).
-
Sim. Usamos
crypto.randomUUID()do navegador, que usa gerador criptograficamente seguro (CSPRNG). Nenhum UUID é armazenado ou enviado a servidores — tudo ocorre na sua máquina.
Buscas relacionadas
gerador de uuid online, uuid v4 generator, guid online, gerar identificador único, uuid javascript, uuid postgresql.