PK Systems
Geradores

Gerador de UUID

Gere identificadores UUID v4 (aleatório) ou v7 (ordenado por tempo) direto no seu navegador.

Gerador de UUID

UUIDs gerados

    O que é um UUID?

    Um UUID (Universally Unique Identifier, às vezes chamado de GUID) é um número de 128 bits escrito como 32 dígitos hexadecimais no formato canônico 8-4-4-4-12 — por exemplo a1b2c3d4-e5f6-4a7b-9c0d-1e2f3a4b5c6d. A ideia é que qualquer sistema possa cunhar um sem coordenar com ninguém e a chance de colisão seja desprezível. v4 é totalmente aleatório; v7 embute um timestamp em milissegundos no começo, então UUIDs v7 ordenam cronologicamente e se dão muito melhor com índices B-tree de banco do que v4.

    Como usar a ferramenta

    Escolha a versão (v4 para IDs aleatórios e opacos, v7 quando você quer ordenação por tempo nas chaves primárias), defina a quantidade (1-100), escolha entre minúsculas e MAIÚSCULAS, e clique em Gerar de novo. Use Copiar ao lado de uma linha para pegar um só, ou Copiar todos para mandar todos de uma vez para a área de transferência, um por linha. v4 usa o crypto.randomUUID() do navegador; v7 é montado localmente com 48 bits de timestamp e 74 bits aleatórios.

    v4 vs v7 — qual usar?

    Use v4 para tokens, IDs de request, identificadores públicos opacos, qualquer lugar onde você não quer vazar ordem ou tempo. Use v7 para chave primária em bancos modernos — você ganha IDs globalmente únicos sem o efeito de inserção aleatória estragar o índice, e as linhas já ficam ordenadas por criação. Evite v1 (vaza MAC address) e v3/v5 (baseados em nome, nicho). Nunca trunque UUIDs para "economizar espaço" — colisões disparam rápido.

    Versões de UUID em resumo

    Todos os UUIDs têm 128 bits e parecem iguais por fora; o número da versão (primeiro dígito do terceiro grupo) revela como foi gerado.

    Versão Construído a partir de Uso típico
    v1Timestamp + MAC addressLegacy. Leaks host info — avoid.
    v3 / v5Hash of namespace + name (MD5 / SHA-1)Deterministic IDs from a name. Niche.
    v4122 random bitsTokens, opaque IDs, request IDs.
    v6Reordered v1 (sortable)v1 replacement when you can't move to v7.
    v748-bit ms timestamp + 74 random bitsModern default for DB primary keys.
    v8Custom (RFC-defined slot)Bring-your-own scheme.

    Perguntas frequentes

    Esses UUIDs são realmente únicos?
    Na prática, sim. Um v4 tem 122 bits aleatórios (~5×10³⁶ valores); a chance de dois UUIDs aleatórios colidirem é tão pequena que seria preciso gerar bilhões por segundo durante séculos para esperar uma colisão. v7 compartilham o prefixo de timestamp entre UUIDs gerados no mesmo milissegundo, mas ainda têm 74 bits aleatórios — colisões continuam astronomicamente improváveis.
    v7 é um padrão oficial?
    É. UUID v7 está definido na RFC 9562 (maio de 2024), que substituiu a RFC 4122 e introduziu as versões v6/v7/v8. Postgres, MySQL, SQL Server e a maioria das linguagens modernas já têm helpers nativos.
    Por que usar v7 no lugar de v4 em chave primária?
    v4 é inserido em posições aleatórias num índice B-tree, o que fragmenta o índice e prejudica a vazão de escrita em tabelas grandes. v7 começa com timestamp em milissegundos, então linhas novas entram sempre no fim do índice — mesmo padrão de inserção de um auto-incremento, mas globalmente único. De brinde, você ainda tem o "created at" embutido.
    Posso ordenar UUIDs v7 por tempo?
    Pode. Os primeiros 48 bits são um timestamp Unix em milissegundos, big-endian, então uma ordenação por string ou por bytes em v7 já dá ordem cronológica. UUIDs gerados no mesmo milissegundo desempatam pela cauda aleatória, mas as linhas continuam agrupadas por momento de criação.
    Qual a diferença entre UUID e GUID?
    Nenhuma significativa. "GUID" é o termo que a Microsoft historicamente prefere; "UUID" vem da tradição original do DCE/RFC. É o mesmo identificador de 128 bits no mesmo formato canônico. Pode tratar como sinônimos.
    Eles são gerados num servidor?
    Não. v4 chama crypto.randomUUID(), embutido no navegador. v7 é montado localmente a partir de Date.now() e crypto.getRandomValues. Não há ida-e-volta de rede nem log — dá para conferir no DevTools > Network que nenhuma requisição é disparada ao clicar em Gerar.