Gerador de Nano ID

Gere em massa, diretamente no navegador, identificadores únicos, curtos e seguros para URL. Escolha livremente o conjunto de caracteres (padrão, alfanumérico, minúsculas, maiúsculas, dígitos ou hexadecimal) e o tamanho — ideal quando você precisa de algo mais curto que um UUID.

Comparação de formatos de ID

Formato Tamanho Tamanho do alfabeto Ordenável pela ordem de criação Descrição
Nano ID 21 caracteres por padrão (configurável de 1 a 64) 64 caracteres Não (totalmente aleatório) Um ID curto e aleatório composto apenas por caracteres seguros para URL. O alfabeto e o tamanho podem ser configurados livremente.
UUID v4 36 caracteres (incluindo 4 hifens) 16 caracteres (hexadecimal) Não (totalmente aleatório) Um identificador de 128 bits padronizado na RFC 9562. A notação hexadecimal separada por hifens é o formato padrão.
ULID 26 caracteres 32 caracteres (Base32) Sim (os primeiros 10 caracteres são um timestamp) Começa com um timestamp de precisão de milissegundos, permitindo ordenar os ID como strings pela ordem de criação.

Dicas

  • O Nano ID é gerado com aleatoriedade criptograficamente segura via Web Crypto API e processado inteiramente no seu navegador — nada é enviado aos servidores do toolbase.cc.
  • O alfabeto padrão de 64 caracteres (A-Za-z0-9_-) não contém símbolos nem espaços, por isso é seguro usá-lo diretamente em caminhos de URL ou nomes de arquivo.
  • Restringir o alfabeto a somente dígitos ou hexadecimal permite gerar ID compatíveis com formatos de sistemas existentes (por exemplo, números de pedido que são apenas dígitos).
  • Quanto mais curto o ID, maior a probabilidade de colisão. Sistemas que emitem muitos ID devem manter-se perto dos 21 caracteres padrão, enquanto pequenos conjuntos de teste podem ser suficientes com 8 a 10 caracteres.
  • Aumente a quantidade e use "Copiar tudo" para gerar rapidamente dados de teste ou dados iniciais (seed) em massa.

Perguntas frequentes

Se você quer um ID curto para usar diretamente em uma URL ou nome de arquivo, o Nano ID é uma boa escolha. Se precisa de um formato padronizado por uma RFC, ou de interoperabilidade com outros sistemas, o UUID (especialmente v4) é a opção mais segura.

Com os 21 caracteres padrão e um alfabeto de 64 símbolos, você obtém cerca de 126 bits de aleatoriedade, algo insignificante na prática. Usando a aproximação do problema do aniversário, seriam necessários cerca de 1,09×10¹⁹ ID gerados para que a probabilidade de colisão chegue a 50%.

Sim, mas assim como o UUID v4 é totalmente aleatório, tornando a inserção em um índice B-Tree menos eficiente do que com AUTO_INCREMENT. Se precisar de ID ordenáveis pela ordem de inserção, considere um formato com timestamp inicial, como o ULID.

Sim. Com o mesmo tamanho, um alfabeto menor (menos caracteres distintos) significa menos aleatoriedade e maior probabilidade de colisão. Para igualar a segurança do alfabeto de 64 caracteres usando apenas dígitos (10 caracteres), seria necessário um ID mais longo.
ツールくん

Curiosidade — Por que o Nano ID pode ser mais curto que um UUID

O Nano ID é uma biblioteca JavaScript de geração de ID lançada em 2017 por Andrey Sitnik, o desenvolvedor do PostCSS. Apesar de não ter dependências e ser minúscula (apenas algumas centenas de bytes de código), o uso de aleatoriedade criptograficamente segura lhe deu reconhecimento, e hoje acumula dezenas de milhões de downloads semanais no npm.

A brevidade de um ID depende de quantos caracteres distintos seu alfabeto possui. Um UUID usa apenas dígitos hexadecimais (16 símbolos) para codificar 128 bits, exigindo 36 caracteres. O Nano ID usa 64 símbolos, por isso consegue condensar uma quantidade comparável de aleatoriedade (126 bits por padrão) em apenas 21 caracteres. A razão é que cada caractere carrega mais informação (log₂64 = 6 bits contra log₂16 = 4 bits do hexadecimal).

A configuração padrão (21 caracteres, alfabeto de 64 símbolos) oferece cerca de 126 bits de aleatoriedade, praticamente equivalente aos 122 bits do UUID v4. Usando a aproximação do problema do aniversário, seria necessário gerar cerca de 1,09×10¹⁹ ID antes que a probabilidade de colisão chegue a 50%, então na prática há pouco a se preocupar.