Gerador de UUID
Gere um ou até 100 UUIDs aleatórios da versão 4 instantaneamente no seu navegador. Escolha quantos precisa, alterne entre hexadecimal em maiúsculas ou minúsculas e copie os resultados com ou sem hífens.
Gerador de UUID (v4)
Fórmula do UUID v4
Onde:
- \(x\) — um dígito hexadecimal aleatório (0–9, a–f), 122 bits aleatórios no total
- \(4\) — o nibble fixo da versão, que indica a versão 4 do UUID
- \(y\) — o dígito da variante, restrito a 8, 9, a (A) ou b (B)
Um UUID da versão 4 é construído a partir de 128 bits aleatórios. Seis desses bits não são aleatórios: quatro bits codificam a versão (0100, ou seja, o dígito 4) e dois bits codificam a variante (10), razão pela qual o 13.º dígito hexadecimal é sempre 4 e o 17.º é sempre 8, 9, a ou b. Isso deixa \(122\) bits aleatórios, o que dá \(2^{122} \approx 5,3 \times 10^{36}\) valores possíveis.
Gerador de UUID – Exemplo de Cálculo
Exemplo: gere 5 UUIDs com as definições padrão (Versão: v4, Maiúsculas marcado, hífens mantidos). Um resultado típico é assim:
\[ \\text{9F86D081-884C-4D15-9CE2-A1B2C3D4E5F6} \]
Repare nas duas posições fixas: o primeiro dígito do terceiro grupo é 4 (a versão) e o primeiro dígito do quarto grupo é um de 8, 9, A, B (a variante). Todos os outros caracteres hexadecimais são aleatórios.
Resultado: uma lista de 5 UUIDs, um por linha, pronta a copiar — todos diferentes, mas todos em conformidade com o formato da versão 4 da RFC 4122.
Como usar a calculadora
- Introduza o Número de UUIDs de que precisa (qualquer valor de 1 a 100).
- Deixe a Versão em v4 (aleatório) — esta ferramenta gera identificadores aleatórios da versão 4.
- Marque ou desmarque Maiúsculas (A–F) conforme prefere a saída no estilo
4F2Aou4f2a. Ambas são válidas; o hexadecimal não distingue maiúsculas de minúsculas. - Marque Remover hífens se quiser cada UUID como uma simples cadeia de 32 caracteres (útil para colunas de bases de dados ou código que não aceita travessões).
- Prima o botão calcular. A Lista de UUIDs mostra um identificador por linha para os copiar facilmente, e o Número Gerado confirma quantos foram produzidos.
O que é um UUID?
Um UUID (Universally Unique Identifier, identificador universalmente único), também chamado GUID (Globally Unique Identifier, identificador globalmente único) nos sistemas Windows, é um identificador de 128 bits concebido para ser único sem qualquer coordenação central. Ao contrário dos IDs de base de dados com incremento automático, os UUIDs podem ser gerados de forma independente em diferentes servidores, dispositivos ou clientes offline, e as colisões são praticamente impossíveis: com 122 bits aleatórios por valor, seria preciso gerar milhares de milhões de UUIDs antes de a hipótese de existir um único duplicado se tornar percetível.
Os UUIDs são escritos como 32 dígitos hexadecimais agrupados no padrão 8-4-4-4-12 e separados por hífens, por exemplo 550e8400-e29b-41d4-a716-446655440000. Existem várias versões. A versão 1 incorpora um carimbo temporal (timestamp) e o endereço MAC da máquina; as versões 3 e 5 derivam o identificador de um nome usando o algoritmo de hash MD5 ou SHA-1; a versão 4, a que esta ferramenta produz, é construída inteiramente a partir de números aleatórios. A versão 4 é a mais usada hoje em dia precisamente porque não revela qualquer informação sobre quando ou onde foi criada.
O resultado interpreta-se da seguinte forma: qualquer cadeia que corresponda ao padrão 8-4-4-4-12, com um 4 na posição da versão e um 8, 9, a ou b na posição da variante, é um UUID v4 válido. Pode usá-lo diretamente como chave primária, componente de um token de API, nome de ficheiro, ID de pedido ou qualquer outro identificador que nunca se possa repetir.
Dicas práticas e limitações
- Qualidade da aleatoriedade: o gerador usa a API
crypto.getRandomValues()do seu navegador, uma fonte aleatória criptograficamente segura. Não depende do simplesMath.random(), exceto em navegadores muito antigos. - Tudo é local: os UUIDs são gerados no seu dispositivo e nunca enviados para um servidor, por isso são seguros para usos sensíveis.
- As maiúsculas não importam:
9F86...e9f86...são o mesmo UUID. Escolha a capitalização que corresponde ao estilo do seu projeto — muitos sistemas armazenam-nos em minúsculas. - Não é uma palavra-passe: um UUID é aleatório, mas os seus 122 bits estão estruturados para a unicidade, não para a força de uma palavra-passe. Para segredos, use antes um Gerador de Palavras-passe dedicado.
- Não é um hash: um UUID identifica; não verifica. Se precisa de uma impressão digital fixa de alguns dados, um hash SHA-256 ou um hash MD5 é a ferramenta certa — a mesma entrada produz sempre o mesmo hash, enquanto este gerador produz um novo valor de cada vez.
- Versões suportadas: apenas a versão 4 é atualmente suportada; UUIDs baseados no tempo (v1) e baseados em nome (v3, v5) não podem ser gerados aqui.
Campos de versão e variante do UUID num relance
| Posição no UUID | Valor | Significado |
|---|---|---|
| Dígito 13 (primeiro dígito do 3.º grupo) | 4 | Versão 4 — gerado aleatoriamente |
| Dígito 17 (primeiro dígito do 4.º grupo) | 8, 9, a, b | Variante 10xx — o formato padrão da RFC 4122 |
| Todos os outros dígitos | 0–9, a–f | Completamente aleatórios |
Se também precisa de codificar ou transmitir dados junto com os seus identificadores, o Codificador Base64 pode ajudá-lo a empacotá-los em segurança.
Perguntas frequentes
Como posso gerar um UUID v4 manualmente ou no meu próprio código?
Pegue em 16 bytes aleatórios (128 bits) e depois sobrescreva dois nibbles: defina o nibble alto do byte 7 (contando a partir de 1) como 0100 para a versão, e os dois bits de topo do byte 9 como 10 para a variante. Escreva os bytes em hexadecimal no agrupamento 8-4-4-4-12. Em código, a maioria das linguagens tem uma função incorporada, por exemplo crypto.randomUUID() em JavaScript ou uuid.uuid4() em Python — sem necessidade de trabalho manual com bits.
Qual é a probabilidade de dois UUIDs gerados colidirem?
Com 122 bits aleatórios por UUID, uma colisão é astronomicamente improvável para volumes realistas. Após gerar 1000 milhões de UUIDs, a probabilidade de existir algum duplicado ainda é de cerca de 1 em 100 mil milhões; com 103 biliões de UUIDs atinge aproximadamente 1 num mil milhões. Para o uso quotidiano — IDs de utilizador, números de encomenda, chaves de API — pode considerar os UUIDs da versão 4 como únicos sem qualquer verificação central.
UUID e GUID são a mesma coisa?
Na prática, sim. GUID (Globally Unique Identifier) é o termo da Microsoft, usado no Windows, no SQL Server e no .NET, enquanto UUID vem da norma RFC 4122. Um GUID produzido por NEWID() no SQL Server ou Guid.NewGuid() no .NET é um UUID da versão 4 com o mesmo formato 8-4-4-4-12, portanto os dois nomes referem-se ao mesmo identificador e podem ser usados de forma intercambiável.
Porque é que o 13.º dígito de todo o UUID é sempre 4, e o 17.º é sempre 8, 9, a ou b?
Essas posições não são aleatórias — transportam metadados. O 13.º dígito hexadecimal codifica a versão (0100 em binário = 4), informando os utilizadores de que o UUID foi construído a partir de números aleatórios. O 17.º dígito codifica a variante (binário 10xx), o que o restringe a 8, 9, a ou b e marca o formato como o padrão Leach–Salz da RFC 4122. Se qualquer uma das posições for diferente, a cadeia não é um UUID v4 válido.
Como verifico se uma cadeia é um UUID válido?
Compare-a com o padrão de 32 dígitos hexadecimais no agrupamento 8-4-4-4-12. Uma expressão regular comum é ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ (sem distinção de maiúsculas). Para verificar especificamente a versão 4, exija adicionalmente um 4 no início do terceiro grupo e um 8, 9, a ou b no início do quarto. Muitas linguagens incluem validadores, por exemplo uuid.UUID(value) em Python lança um erro em entradas malformadas.
É seguro usar um UUID como chave primária de base de dados?
Sim, e é popular em sistemas distribuídos porque as chaves podem ser criadas offline sem coordenação. Existem duas desvantagens: os UUIDs ocupam 16 bytes numa coluna binária (36 caracteres como texto) contra 4–8 bytes de um inteiro, e os valores aleatórios da v4 fragmentam os índices B-tree, causando mais divisões de páginas do que chaves sequenciais. Armazene-os numa coluna UUID/binária nativa sempre que possível e considere variantes de UUID ordenadas em tabelas com muitas escritas.
Porque é que alguns UUIDs aparecem entre chavetas ou com o prefixo urn:uuid:?
São apenas codificações textuais alternativas, não identificadores diferentes. As ferramentas da Microsoft frequentemente imprimem GUIDs como {550e8400-e29b-41d4-a716-446655440000}, e a RFC também define a forma URN urn:uuid:550e8400-e29b-41d4-a716-446655440000. As chavetas, o prefixo e os hífens são apenas apresentação — remova-os antes de armazenar ou comparar, já que os 128 bits subjacentes são idênticos em todos os formatos.