My Dev Tools
Geradores

Gerador de UUID v4 e v7

Escolha a versão e o formato: os UUIDs são sorteados no seu navegador com crypto.getRandomValues, e o v7 sai em ordem crescente dentro do lote.Roda no seu navegador: nada é enviado

Os UUIDs são sorteados no seu navegador quando a página abre.

    Gerando…

    Como usar

    1. Escolha a Versão: v4, aleatório, sem nada que revele quando foi gerado; ou v7, que sai em ordem pela hora. A linha embaixo do seletor explica cada uma.
    2. Escolha o Formato: Padrão, Sem hífen, Chaves ou URN. Se quiser, ligue Maiúsculas. Formato e Maiúsculas só mudam como os UUIDs aparecem: não sorteiam de novo.
    3. Em Quantidade, peça de 1 a 1.000 UUIDs de uma vez, para um seed de teste ou uma planilha de importação; Gerar outros sorteia de novo com as mesmas opções.
    4. Copie um UUID pela linha dele, copie todos (um por linha) ou baixe o uuids.txt. A cópia e o arquivo levam o formato que está na tela.
    5. Nada vai para servidor: as opções ficam lembradas neste navegador, os UUIDs nunca.

    Exemplos

    UUID v4 a partir dos bytes 00 a 0f

    opções
    Versão v4 · bytes aleatórios 00 a 0f
    resultado
    00010203-0405-4607-8809-0a0b0c0d0e0f (o 4 é a versão; o 8, a variante)

    UUID v7 de 19/10/2026 12:00:00 UTC

    opções
    Versão v7 · instante 1792411200000 ms, bytes aleatórios 00 a 09
    resultado
    01a15408-6a00-7001-8203-040506070809 (01a154086a00 = 1792411200000 ms; 001 = contador)

    GUID do .NET em maiúsculas

    opções
    Formato Chaves · Maiúsculas, o v4 de cima
    resultado
    {00010203-0405-4607-8809-0A0B0C0D0E0F}

    Os 128 bits

    Um UUID tem 128 bits, escritos como 32 dígitos hexadecimais em grupos de 8-4-4-4-12, separados por hífen. O 13º dígito é a versão (4 ou 7 aqui) e o 17º é a variante, que na RFC 9562 vale 8, 9, a ou b.

    No v4, 4 bits marcam a versão e 2 a variante, e os outros 122 são aleatórios: 128 - 4 - 2 = 122. No v7, 48 bits são o milissegundo da geração, 4 a versão, 12 um contador, 2 a variante e 62 são aleatórios: 48 + 4 + 12 + 2 + 62 = 128. Existem ainda o nil (só zeros) e o max (só f), valores especiais que esta ferramenta não gera.

    v4 ou v7 como chave primária

    O v7 cresce com o tempo, então cada UUID novo entra perto do fim do índice B-tree da chave primária, com menos divisão de página do que o v4, que cai em qualquer ponto do índice. O custo é que o v7 revela o milissegundo em que foi criado; o v4 não revela nada.

    A colisão do v4 se calcula pelo paradoxo do aniversário: o número de UUIDs para uma chance p de haver um par igual é √(2 · 2¹²² · ln(1/(1-p))). Para 50% de chance são 2,7 × 10¹⁸ UUIDs; para 1 chance em 1 bilhão, 103 trilhões.

    Como o lote v7 sai em ordem

    O lote segue o método 1 da RFC 9562: o contador de 12 bits começa num valor sorteado de até 2.047 (11 bits aleatórios, com o bit de cima em 0) e sobe 1 a cada UUID no mesmo milissegundo. Por isso 1.000 UUIDs no mesmo milissegundo não estouram: no pior caso o contador chega a 3.046. Se passar de 4.095, o milissegundo avança 1 e o contador recomeça. Se o relógio recuar, o lote mantém o último milissegundo em vez de voltar no tempo.

    Os 48 bits de milissegundos duram até o ano 10889. A ordem vale dentro de um lote: cada lote parte do relógio do seu navegador, então UUIDs de lotes ou de máquinas diferentes só se ordenam pelo milissegundo.

    Formatos e onde aparecem

    O mesmo UUID aparece de quatro formas. O padrão tem 36 caracteres: é o do crypto.randomUUID() e do uuid.uuid4() do Python, em minúsculas, do uuidgen do macOS, em maiúsculas, e do tipo uuid do PostgreSQL. Sem hífen são 32 dígitos, como o uuid.hex do Python e o Guid.ToString("N") do .NET. Entre chaves são 38 caracteres, como o Guid.ToString("B") do .NET e o registro do Windows. O URN tem 45 caracteres, com urn:uuid: na frente, como o uuid.urn do Python.

    A RFC 9562 pede minúsculas na saída e que a leitura não diferencie maiúsculas, então Maiúsculas só muda a exibição. O v1 fica de fora porque expõe a hora e o nó da máquina, e o v7 o substitui.

    Perguntas frequentes

    UUID e GUID são a mesma coisa?
    Na prática, sim: são os mesmos 128 bits. GUID é o nome que a Microsoft usa, em geral escrito entre chaves e em maiúsculas, como {00010203-0405-4607-8809-0A0B0C0D0E0F}. Para gerar um GUID aqui, escolha o formato Chaves e ligue Maiúsculas.
    v4 ou v7: qual escolher?
    Use v4 quando o ID não deve revelar nada. Use v7 para chave primária e para qualquer lista que precise sair em ordem de criação, sabendo que ele guarda o milissegundo da geração. Não há v1 aqui porque ele expõe a hora e o nó da máquina, e o v7 o substitui.
    Dois UUIDs podem ser iguais?
    Em teoria, sim, mas a chance é desprezível: no v4 são precisos 2,7 × 10¹⁸ UUIDs para chegar a 50% de chance de um par igual, e 103 trilhões para 1 chance em 1 bilhão. Na prática, só acontece com gerador ruim.
    UUID serve como token ou senha?
    Não. O v4 tem 122 bits aleatórios, mas o UUID não foi feito para ser segredo: costuma aparecer em URL, log e banco, e o v7 ainda revela a hora da criação. Para um segredo, use o Gerador de token. Aqui os UUIDs saem de crypto.getRandomValues, no seu navegador, e nada é enviado: o HTML da página também não traz UUID pronto.
    Como ver a data de um UUID v7?
    Os 12 primeiros dígitos hex são os milissegundos desde 1970, em UTC: 01a154086a00 vale 1792411200000, ou 19/10/2026 12:00:00 UTC. Em JavaScript: new Date(parseInt(u.replace(/-/g, "").slice(0, 12), 16)). O v4 não guarda data.
    Como gerar UUID no terminal ou no código?
    No macOS, uuidgen (sai em maiúsculas). No JavaScript, crypto.randomUUID(). No Python, python3 -c "import uuid; print(uuid.uuid4())". No PostgreSQL, gen_random_uuid(). No PowerShell, [guid]::NewGuid(). O v7 nativo existe a partir do PostgreSQL 18, com uuidv7(), e do Python 3.14, com uuid.uuid7(), mas esses dois ficam como não conferidos aqui.

    Ferramentas relacionadas

    • Escolha o formato e o tamanho em bytes: o token é sorteado no seu navegador, com a força em bits e o comando equivalente no terminal.

    • Digite um texto ou abra um arquivo: os sete hashes aparecem juntos, em hex ou Base64, e você confere com o hash esperado. Tudo no navegador.

    • Digite ou cole um número inteiro (255, 0xFF, 0b1010, -0x1F) e veja em binário, octal, decimal, hexadecimal e na base que escolher, de 2 a 36, sem limite de 64 bits.

    Atualizado em .