NanoID Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Uses crypto.getRandomValues for cryptographically secure random generation.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand NanoID Generator

Gera identificadores aleatórios curtos e seguros para URL, com comprimento e alfabeto configuráveis.

How it works

Os bytes vêm de crypto.getRandomValues e são mascarados até o tamanho do alfabeto, com os valores fora da faixa descartados para que cada caractere continue igualmente provável. O padrão de 21 caracteres sobre um alfabeto de 64 símbolos (A-Z, a-z, 0-9, underscore, hífen) carrega 126 bits de aleatoriedade — mais que os 122 bits de um UUID v4 — em 21 caracteres em vez de 36. Encurtar o id ou estreitar o alfabeto reduz isso proporcionalmente: 21 caracteres em hexadecimal são só 84 bits.

When to use it

  • IDs públicos em URLs onde um UUID de 36 caracteres é desajeitado.
  • Links de compartilhamento, códigos de convite e ids de documentos que as pessoas podem colar por aí.
  • Nomes de arquivo e chaves de objeto que precisam ser seguros em uma URL e na linha de comando.
  • Um id em hexadecimal ou só numérico para um sistema a jusante que rejeita outros caracteres.
  • Reduzir o comprimento do id em um sistema em que armazenamento ou tamanho de URL realmente importam.

Watch out for

  • Encurtar não sai de graça. Cair de 21 caracteres do alfabeto padrão para 10 leva de 126 bits para 60, ponto em que colisões deixam de ser teóricas em escala. Dimensione o comprimento pelo seu volume de geração, não pelo que parece arrumado.
  • O alfabeto padrão contém hífen e underscore. Os dois são seguros em URL, mas um id começando com hífen é lido como uma flag por muitas ferramentas de linha de comando — use o conjunto alfanumérico para valores que serão passados como argumentos.
  • Impossível de adivinhar não é autorizado. Um NanoID em uma URL é uma capacidade: todo mundo que recebe o link tem o acesso que o link concede, a menos que as permissões sejam verificadas à parte.
  • Um id com alfabeto numérico é uma string, não um número. Interpretá-lo como inteiro descarta zeros à esquerda e perde precisão além de cerca de 16 dígitos.

Not the right tool for: Chaves primárias de banco de dados em que a ordem de inserção importa. NanoIDs são pura aleatoriedade, sem componente de tempo, então fragmentam índices exatamente como o UUID v4 — use ULID ou UUID v7 nesses casos.

Frequently Asked Questions

Como o NanoID se compara ao UUID?

O padrão de 21 caracteres do NanoID tem cerca de 126 bits de entropia, parecido com o UUID v4 (122 bits), mas usa só 21 caracteres contra 36 (UUID com hífens). Ele é seguro para URL, não tem hífens e evita a sobrecarga da formatação do UUID. Serve para IDs em URLs, nomes de arquivo e bancos de dados.

O que acontece se eu diminuir o comprimento do ID?

IDs mais curtos têm risco maior de colisão. Use a calculadora de colisões do NanoID: a 10 IDs por segundo, um ID de 21 caracteres leva cerca de 149 anos para chegar a 1% de probabilidade de colisão. Um ID de 13 caracteres leva só cerca de 12 anos no mesmo ritmo. Dimensione o comprimento conforme o seu volume de geração.

Posso usar um alfabeto personalizado?

Sim — substitua o alfabeto padrão (A-Za-z0-9_-) por quaisquer caracteres. Só numérico (0-9) para IDs com aparência numérica, hexadecimal (0-9a-f) para IDs em hex, ou o seu próprio conjunto. A ferramenta mostra a probabilidade de colisão para a sua configuração.

How to Use NanoID Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.