Gerador de UUID

Gere identificadores únicos universais nas versões 4 e 7.

Versão

UUID v4: totalmente aleatório.

    Como funciona o gerador de UUID

    Um UUID (Universally Unique Identifier, ou Identificador Único Universal) é um número de 128 bits normalmente exibido como 32 dígitos hexadecimais divididos em 5 grupos, separados por hífen — por exemplo 550e8400-e29b-41d4-a716-446655440000. Ele foi criado para identificar informações de forma única sem exigir um servidor central controlando uma sequência, o que o torna ideal para sistemas distribuídos, bancos de dados, APIs e arquivos.

    Este gerador cria UUIDs em duas versões, definidas pela RFC 9562 (que atualizou a RFC 4122 original). A versão 4 (v4) é a mais comum: praticamente todos os seus 122 bits variáveis são sorteados aleatoriamente, o que garante uma probabilidade de colisão desprezível, mas não guarda nenhuma relação de ordem entre UUIDs gerados em momentos diferentes.

    Já a versão 7 (v7) é mais recente e foi desenhada especificamente para uso em bancos de dados. Seus primeiros 48 bits armazenam o timestamp Unix em milissegundos do momento da geração, e o restante é preenchido com bits aleatórios. Isso significa que UUIDs v7 gerados em sequência ficam naturalmente ordenados como strings — igual a um ID autoincrementável — mas continuam sendo gerados de forma independente, sem precisar consultar o banco antes de inserir o registro. Na prática, isso evita a fragmentação de índices que UUIDs v4 causam quando usados como chave primária, melhorando a performance de escrita em tabelas grandes.

    Em ambos os casos, 4 bits fixos identificam a versão do UUID (o dígito logo após o segundo hífen) e 2 bits fixos identificam a variante (o primeiro dígito após o terceiro hífen), exatamente como define a especificação — por isso um UUID v4 sempre tem um "4" nessa posição, e um UUID v7 sempre tem um "7".

    Geração 100% no navegador

    Todo o processo acontece localmente, no seu navegador: os UUIDs v4 usam a função nativacrypto.randomUUID(), e os UUIDs v7 são montados combinando o relógio do seu dispositivo com o gerador de números aleatórios criptográfico do navegador (crypto.getRandomValues). Nenhum dado é enviado a um servidor, e você pode gerar quantos identificadores precisar, de um em um ou em lotes, para popular bancos de teste, preencher mocks de API ou nomear arquivos sem risco de colisão.

    Perguntas frequentes

    O que é um UUID?

    UUID (Universally Unique Identifier) é um identificador de 128 bits, representado como 32 dígitos hexadecimais em 5 grupos separados por hífen (ex: 550e8400-e29b-41d4-a716-446655440000). Ele é usado para identificar registros, sessões e recursos de forma praticamente única, sem depender de um contador central.

    Qual a diferença entre UUID v4 e v7?

    O UUID v4 é totalmente aleatório: todos os bits (exceto os de versão e variante) são sorteados, o que o torna imprevisível, mas sem nenhuma ordem lógica. Já o UUID v7 começa com um timestamp Unix em milissegundos, seguido de bits aleatórios — por isso ele é ordenável cronologicamente, mesmo sendo um identificador único.

    Por que usar UUID v7 como chave primária de banco de dados?

    Como o UUID v7 cresce junto com o tempo, novos registros são inseridos sempre "no final" do índice, o que reduz a fragmentação de páginas e melhora a performance de inserção em bancos como PostgreSQL e MySQL, mantendo a vantagem de um ID único gerado sem consultar o banco (diferente de um autoincremento).

    Os UUIDs gerados aqui são únicos de verdade?

    Sim, na prática. Um UUID v4 tem 122 bits aleatórios, o que torna a chance de colisão desprezível mesmo gerando bilhões de identificadores. O UUID v7 soma o timestamp com 74 bits aleatórios, mantendo a mesma garantia prática de unicidade.

    Meus dados saem do meu computador ao gerar um UUID aqui?

    Não. Toda a geração acontece no seu navegador, usando a função nativa crypto.randomUUID() (para v4) ou o gerador de números aleatórios criptográfico do navegador (para v7). Nenhum UUID gerado é enviado a qualquer servidor.