Gerador de UUID / ULID / NanoID

Gere UUID v4, UUID v7, ULID e NanoID instantaneamente, direto no seu navegador.

Formato

122 bits de pura aleatoriedade — sem ordenação, impossível de adivinhar.

IDs gerados
Pronto.

Seus IDs são gerados localmente com alta aleatoriedade no navegador. Nada é enviado para o BroBroGo.

FAQ

Qual é a diferença entre UUID v4, UUID v7, ULID e NanoID?

O UUID v4 possui 122 bits de pura aleatoriedade no formato clássico de 36 caracteres, mas sua ordem aleatória prejudica a localidade de indexação em bancos de dados. O UUID v7 mantém a mesma estrutura, mas começa com um timestamp em milissegundos, permitindo ordenação cronológica aproximada — ideal para chaves primárias. O ULID faz o mesmo em uma string mais curta de 26 caracteres, insensível a maiúsculas/minúsculas. Já o NanoID foca em IDs compactos e totalmente personalizáveis, onde você define o tamanho e o conjunto de caracteres.

Esses IDs são aleatórios o suficiente para serem imprevisíveis?

Sim — cada ID é gerado usando a API de criptografia do navegador, garantindo alta aleatoriedade. O UUID v4 e o NanoID padrão possuem mais de 100 bits de entropia. O UUID v7 e o ULID sacrificam cerca de 48 bits para incluir o timestamp inicial, portanto, trate formatos com timestamp como IDs ordenáveis, e não como segredos absolutos.

Posso alterar o tamanho e o conjunto de caracteres do NanoID?

Sim — ao selecionar o NanoID, a ferramenta exibe um controle deslizante de comprimento (padrão de 21 caracteres) e um campo editável para o alfabeto. Reduzir o tamanho ou o alfabeto diminui a resistência a colisões, portanto, mantenha um comprimento seguro se reduzir o conjunto de caracteres.

Estrutura e Diferenças entre UUID v4, UUID v7, ULID e NanoID

A escolha de um identificador único para sistemas de software envolve analisar o equilíbrio entre aleatoriedade, ordenação temporal, tamanho do texto e legibilidade. Esta ferramenta gera quatro dos formatos mais utilizados na engenharia de software moderna: UUID v4, UUID v7, ULID e NanoID.

O UUID v4 é o padrão tradicional de identificação aleatória. Ele armazena 122 bits de entropia pura dentro de uma estrutura formatada de 36 caracteres, que inclui hifens. Por ser completamente aleatório, ele não possui nenhuma relação com o momento em que foi criado, o que o torna ideal para identificadores que não devem revelar informações temporais.

O UUID v7 resolve o problema de ordenação do UUID v4. Ele mantém o mesmo formato visual de 36 caracteres, mas substitui os primeiros bits por um timestamp baseado em milissegundos. Isso significa que os IDs gerados sequencialmente são ordenáveis pelo tempo de criação, melhorando a eficiência de indexação em bancos de dados.

O ULID (Universally Unique Lexicographically Sortable Identifier) atua de forma semelhante ao UUID v7, pois também inicia com um timestamp em milissegundos para permitir a ordenação cronológica. No entanto, ele é codificado como uma string de 26 caracteres que não diferencia maiúsculas de minúsculas, resultando em uma representação mais compacta.

O NanoID é focado em compacidade e flexibilidade. Ele não possui ordenação temporal e, por padrão, utiliza um comprimento de 21 caracteres. A sua principal vantagem é permitir que o desenvolvedor personalize tanto o tamanho do identificador quanto o conjunto de caracteres utilizados na sua composição.


O Impacto da Ordenação Temporal em Bancos de Dados

A escolha entre identificadores puramente aleatórios e identificadores baseados em tempo afeta diretamente o desempenho de gravação em sistemas de armazenamento de dados.

  • Identificadores Aleatórios (UUID v4 e NanoID): Quando inseridos como chaves primárias em índices do tipo B-Tree (comuns em bancos de dados relacionais), a falta de ordenação causa inserções em posições aleatórias da árvore. Isso resulta em fragmentação de páginas de disco e constantes reorganizações de índices, reduzindo a velocidade de gravação à medida que a tabela cresce.
  • Identificadores Ordenáveis (UUID v7 e ULID): Como começam com um timestamp, as novas inserções ocorrem quase sempre no final do índice. Isso otimiza a localidade de indexação e mantém a eficiência das operações de escrita. Contudo, vale notar que o UUID v7 e o ULID não garantem uma ordenação estrita para IDs gerados exatamente dentro do mesmo milissegundo.

Customização de NanoID e Resistência a Colisões

Ao utilizar o formato NanoID, a ferramenta libera controles específicos para ajustar o comprimento e o alfabeto do identificador. O comprimento padrão é definido em 21 caracteres, mas pode ser ajustado através de um controle deslizante para qualquer valor entre 2 e 36.

O campo de alfabeto permite definir quais caracteres serão usados para construir o ID. Existe uma regra estrita de validação: o alfabeto precisa de pelo menos 2 caracteres diferentes. Se o usuário tentar configurar o alfabeto com apenas um caractere ou deixar o campo vazio, a ferramenta exibe a mensagem de erro "O alfabeto precisa de pelo menos 2 caracteres diferentes.". Quando essa condição de erro ocorre, os resultados anteriores são limpos, a contagem de IDs gerados é zerada para 0 e o botão de cópia global é desativado.

A redução do comprimento ou do tamanho do alfabeto diminui diretamente a entropia do identificador, aumentando a probabilidade matemática de colisão (geração de dois IDs idênticos). Portanto, reduções drásticas no tamanho do NanoID devem ser feitas apenas em cenários onde o volume de IDs gerados é baixo ou onde colisões não geram falhas críticas.


Funcionamento do Gerador e Parâmetros de Entrada

O gerador permite configurar a saída de dados de acordo com as necessidades do projeto através dos seguintes parâmetros:

  • Formato: Seleção entre UUID v4, UUID v7, ULID ou NanoID.
  • Contagem: Define a quantidade de identificadores gerados simultaneamente, aceitando valores de 1 a 100.
  • Letras maiúsculas: Um controle alternável exclusivo para UUIDs que exibe as letras do formato em caixa alta.
  • Incluir hifens: Um controle alternável para UUIDs que permite remover ou manter os hifens separadores na string final.
  • Comprimento e Alfabeto: Controles específicos ativados ao selecionar o formato NanoID.

Qualquer alteração em uma dessas opções aciona automaticamente a regeneração dos identificadores na tela. O usuário pode copiar um ID individual clicando diretamente sobre ele ou utilizar a função de cópia em lote.


Privacidade e Processamento Local

A segurança na geração de identificadores únicos depende da qualidade da aleatoriedade utilizada. Este gerador realiza todo o processamento localmente no navegador do usuário, utilizando a API de criptografia nativa do browser para garantir alta aleatoriedade.

Nenhum dado, parâmetro de configuração ou identificador gerado é enviado para os servidores do BroBroGo. Como o processo ocorre inteiramente dentro do ambiente de execução do cliente, os identificadores gerados permanecem privados e inacessíveis a terceiros.


Perguntas Frequentes

Qual é a diferença entre UUID v4, UUID v7, ULID e NanoID? O UUID v4 possui 122 bits de pura aleatoriedade no formato clássico de 36 caracteres, mas sua ordem aleatória prejudica a localidade de indexação em bancos de dados. O UUID v7 mantém a mesma estrutura, mas começa com um timestamp em milissegundos, permitindo ordenação cronológica aproximada — ideal para chaves primárias. O ULID faz o mesmo em uma string mais curta de 26 caracteres, insensível a maiúsculas/minúsculas. Já o NanoID foca em IDs compactos e totalmente personalizáveis, onde você define o tamanho e o conjunto de caracteres.

Esses IDs são aleatórios o suficiente para serem imprevisíveis? Sim — cada ID é gerado usando a API de criptografia do navegador, garantindo alta aleatoriedade. O UUID v4 e o NanoID padrão possuem mais de 100 bits de entropia. O UUID v7 e o ULID sacrificam cerca de 48 bits para incluir o timestamp inicial, portanto, trate formatos com timestamp como IDs ordenáveis, e não como segredos absolutos.

Posso alterar o tamanho e o conjunto de caracteres do NanoID? Sim — ao selecionar o NanoID, a ferramenta exibe um controle deslizante de comprimento (padrão de 21 caracteres) e um campo editável para o alfabeto. Reduzir o tamanho ou o alfabeto diminui a resistência a colisões, portanto, mantenha um comprimento seguro se reduzir o conjunto de caracteres.

O que acontece se eu definir um alfabeto inválido para o NanoID? O alfabeto do NanoID exige no mínimo 2 caracteres distintos. Se você inserir menos do que isso, a ferramenta exibirá o erro "O alfabeto precisa de pelo menos 2 caracteres diferentes.", limpará a lista de resultados, definirá a contagem de IDs como zero e desativará a opção de copiar os dados.