Pack Camo

Gerador de UUID (v4, v7, ULID, NanoID)

Gere UUID v4 e v7, ULID e NanoID em massa e inspecione qualquer UUID. Tudo roda localmente — nada é enviado para servidor nenhum.

Entrada
Count · format
Saída
UUID v4 · UUID v7 · ULID · NanoID
0 ID

Inspecionar

Válido
Sim
Tipo
UUID v7
Versão
7: ordenado por tempo Unix
Variante
RFC 9562 (padrão)
Forma canônica
0192be1c-a07b-7014-95a7-6e2daca81c16
Criado em
2024-10-24T10:40:00.123Z

Precisa de linhas inteiras de dados de teste com chaves UUID? Abrir o Gerador de Dados de Teste

Um gerador de UUID para todo tipo de ID

Este gerador de UUID cria valores UUID v4 aleatórios, UUID v7 ordenados por tempo, ULID e NanoID, de um a dez mil por vez, no formato exato que seu código ou banco de dados espera. Cole um ID existente no inspetor para conferir se é válido e ler sua versão, sua variante e o momento em que foi criado. Cada ID vem do gerador de números aleatórios criptográfico do seu navegador; nada é pedido a um servidor nem enviado a ele.

Como gerar UUIDs

  1. Escolha o tipo: UUID v4 para IDs aleatórios simples, UUID v7 ou ULID quando os IDs devem ficar em ordem de criação, NanoID para IDs curtos em URLs.
  2. Defina quantos precisa, até 10.000, pela caixa ou pelos botões rápidos.
  3. Escolha o formato: minúsculas ou MAIÚSCULAS, com ou sem hifens, entre {chaves} no estilo GUID, ou entre aspas com vírgulas para colar em uma lista SQL IN (…) ou em um array JSON.
  4. Copie a lista inteira ou baixe-a como .txt, .csv ou .json. Clique em Gerar novamente para um lote novo.
  5. Para conferir um ID que você já tem, cole-o no inspetor abaixo da lista.

UUID v4 ou UUID v7: qual usar?

Um UUID é um identificador de 128 bits escrito como 32 dígitos hexadecimais em cinco grupos, como 3f2c8a1e-5b7d-4e9f-a0c1-2d3e4f5a6b7c. Seis desses bits são fixos: quatro indicam a versão (o primeiro dígito do terceiro grupo) e dois indicam a variante (o primeiro dígito do quarto grupo é 8, 9, a ou b em UUIDs padrão).

A versão 4 preenche os outros 122 bits com dados aleatórios. É o padrão em quase todo lugar, não revela nada sobre quando ou onde foi criado, e a chance de dois colidirem é desprezível: você precisaria gerar cerca de um bilhão por segundo durante 85 anos para chegar a 50% de chance de uma única duplicata.

A versão 7, padronizada na RFC 9562 em 2024, coloca um timestamp Unix de 48 bits em milissegundos no início e preenche o resto com bits aleatórios. Novos IDs v7 ficam, portanto, em ordem de criação, o que mantém compactos os índices B-tree do banco: as inserções vão para o fim do índice em vez de páginas aleatórias, e esse é o principal motivo de usuários de Postgres, MySQL e SQL Server estarem trocando chaves primárias de v4 para v7. A contrapartida é que qualquer um com o ID pode ler quando ele foi criado. Este gerador mantém os IDs v7 estritamente crescentes mesmo dentro do mesmo milissegundo, usando o contador de 12 bits que a RFC descreve.

ULID e NanoID

Use ULID quando quiser ordenação por tempo em uma string mais curta e sem diferenciar maiúsculas; use NanoID para IDs públicos, como links curtos ou códigos de convite, em que o tamanho importa e a ordenação por tempo não.

ULID
26 caracteres em base32 de Crockford, como 01JAZ1S83VV6F35M4HSN97TA7X: um timestamp de 48 bits em milissegundos seguido de 80 bits aleatórios. Ordena lexicamente por tempo, evita as letras parecidas I, L, O e U e cabe nos mesmos 128 bits de um UUID, então pode ser guardado em uma coluna uuid. O modo monotônico incrementa a parte aleatória para IDs criados no mesmo milissegundo.
NanoID
Uma string aleatória compacta, por padrão 21 caracteres de A–Z, a–z, 0–9, _ e -, o que dá cerca de 126 bits de aleatoriedade: tão resistente a colisões quanto o UUID v4 em menos caracteres, e seguro em URLs e nomes de arquivo sem codificação.
Alfabetos personalizados
O NanoID pode usar só dígitos, só minúsculas, alfanuméricos, um alfabeto sem caracteres parecidos ou qualquer conjunto que você digitar. A ferramenta mostra os bits de aleatoriedade resultantes para você escolher um tamanho que continue seguro.

GUID, chaves e outros formatos

GUID é o nome que a Microsoft dá à mesma coisa que um UUID. O .NET, o registro do Windows e o COM costumam mostrá-lo em MAIÚSCULAS entre chaves, como {3F2C8A1E-5B7D-4E9F-A0C1-2D3E4F5A6B7C}, que é o que a opção de chaves produz. Alguns sistemas querem os 32 dígitos sem hifens; outros os guardam em uma coluna binary(16). Tudo isso são os mesmos 128 bits.

Os formatos entre aspas adicionam as vírgulas para você, então mil IDs podem ir direto para WHERE id IN (…) ou para um array JSON. Para linhas realistas em vez de IDs soltos, o Gerador de Dados de Teste monta tabelas inteiras com colunas UUID.

Lendo um UUID existente

O inspetor aceita um UUID com ou sem hifens, chaves, aspas ou o prefixo urn:uuid:, e um ULID em maiúsculas ou minúsculas. Ele diz se o valor está bem formado, que versão e variante declara e, para as versões baseadas em tempo 1, 6 e 7 e para ULIDs, o momento de criação embutido como data ISO 8601 no seu fuso horário e em UTC.

As versões 3 e 5 são hashes de um namespace e um nome (MD5 e SHA-1), então a mesma entrada sempre dá o mesmo UUID e não há tempo para ler. A versão 8 é reservada para layouts personalizados. O nil UUID (só zeros) e o max UUID (só uns) são valores especiais definidos pela RFC.

Perguntas frequentes

Qual a diferença entre UUID e GUID?
Na essência, nenhuma: GUID é o nome que a Microsoft dá a um UUID. Os dois são identificadores de 128 bits; as ferramentas da Microsoft costumam mostrá-los em maiúsculas e entre chaves.
Devo usar UUID v4 ou v7 como chave primária no banco de dados?
Prefira v7 para chaves primárias. O timestamp no início faz as novas chaves ficarem em ordem de inserção, o que mantém os índices B-tree compactos e as inserções rápidas. Use v4 quando o ID não puder revelar quando o registro foi criado.
Dois UUIDs gerados podem ser iguais?
Em teoria sim, na prática não. Um UUID v4 tem 122 bits aleatórios, então você precisaria criar cerca de 2,7 quintilhões deles antes de uma única duplicata se tornar provável.
Dá para tirar a data de criação de um UUID?
Só das versões baseadas em tempo: v1, v6 e v7 trazem um timestamp, assim como os ULIDs. Cole um no inspetor para ver a data no seu fuso horário. UUIDs v4 aleatórios e v3 e v5 baseados em hash não contêm tempo.
O que é um ULID e como ele difere de um UUID?
Um ULID é um ID de 128 bits escrito como 26 caracteres em base32 de Crockford, com um timestamp em milissegundos no início para ordenar por tempo de criação. Tem o mesmo tamanho de um UUID e serve ao mesmo propósito do UUID v7, em uma forma de texto mais curta.
Qual deve ser o tamanho de um NanoID?
Os 21 caracteres padrão do alfabeto de 64 caracteres seguro para URL dão cerca de 126 bits de aleatoriedade, comparável ao UUID v4. IDs mais curtos servem para conjuntos de dados pequenos, mas confira os bits mostrados na ferramenta: abaixo de uns 64 bits, colisões passam a ser plausíveis em escala.
Os UUIDs gerados aqui são seguros e privados?
Sim. Eles são gerados no seu navegador com o gerador de números aleatórios criptográfico da Web Crypto API e nunca são enviados a um servidor nem armazenados nele.