DevToolPal
PT

Gerador de Nano ID

Gere Nano IDs: identificadores únicos curtos e seguros para URL, com aleatoriedade criptográfica, qualquer tamanho, alfabetos prontos ou personalizados e estimativa de colisão.

Roda localmente, nada é enviado

Opções

126 bits por ID · cerca de 1,3 × 10¹⁸ IDs para 1% de chance de colisão

Nano IDs

0 caracteres · 0 B

O que faz

Esta ferramenta gera Nano IDs: identificadores curtos, aleatórios e seguros para URL que você pode usar como chaves de banco de dados, nomes de arquivo, slugs de links curtos, códigos de convite ou dados de teste. Ela segue o mesmo método da biblioteca Nano ID, então os IDs têm a mesma aparência e o mesmo comportamento dos criados por nanoid() no seu código.

Você pode mudar o tamanho, escolher um dos alfabetos prontos ou digitar o seu, e gerar até 1000 IDs de uma vez. Abaixo das opções aparecem a entropia por ID e aproximadamente quantos IDs você pode criar antes de a chance de duplicata chegar a 1%.

Como usar

  1. Escolha o Tamanho. 21 é o padrão do Nano ID.
  2. Escolha um Alfabeto: seguro para URL, alfanumérico, minúsculas, hexadecimal, números, sem caracteres parecidos ou um personalizado.
  3. Escolha a Quantidade de IDs. Eles são gerados assim que você muda uma configuração.
  4. Clique em Gerar para um novo lote e copie ou baixe a lista, um ID por linha.

Exemplo

Os mesmos IDs em JavaScript, usando o pacote nanoid:

import { nanoid, customAlphabet } from 'nanoid'

nanoid() // "V1StGXR8_Z5jdHi6B-myT"
const orderId = customAlphabet('0123456789ABCDEFGHJKLMNPQRSTUVWXYZ', 12)
orderId() // "4KQ7ZB9XH2MD"

Como escolher o alfabeto

O alfabeto seguro para URL coloca a maior aleatoriedade em cada caractere e não precisa de escape em URLs, nomes de arquivo ou JSON. O alfanumérico remove _ e -, o que ajuda quando os IDs são selecionados com clique duplo. Hexadecimal e números são úteis quando um sistema só aceita esses caracteres, mas exigem IDs mais longos para a mesma força. O conjunto sem caracteres parecidos remove caracteres como 0 e O ou 1, l e I, para que os IDs sejam mais fáceis de ler e digitar.

Perguntas frequentes

› O que é um Nano ID?

Nano ID é um formato e uma biblioteca JavaScript popular para identificadores únicos aleatórios. O ID padrão tem 21 caracteres de um alfabeto seguro para URL com 64 caracteres (A–Z, a–z, 0–9, _ e -), o que dá 126 bits de aleatoriedade, perto dos 122 bits de um UUID v4 em uma string bem mais curta.

› Qual deve ser o tamanho dos meus IDs?

Depende de quantos IDs você vai criar. A estimativa abaixo das opções mostra aproximadamente quantos IDs dão 1% de chance de dois serem iguais. Os 21 caracteres padrão são seguros para praticamente qualquer sistema; para links curtos ou códigos de convite, 10 a 12 caracteres costumam bastar, junto com uma verificação de unicidade no banco de dados.

› Os IDs são aleatórios o suficiente para segurança?

Os caracteres vêm do gerador de números aleatórios criptográfico do navegador, e valores que não cabem no alfabeto são descartados em vez de reduzidos por módulo, então todos os caracteres têm a mesma chance. IDs longos servem como tokens impossíveis de adivinhar. Nada é enviado a um servidor.

› Posso usar meus próprios caracteres?

Sim. Escolha Personalizado e digite o alfabeto, por exemplo só letras maiúsculas para códigos lidos em voz alta. Ele precisa de 2 a 256 caracteres diferentes; caracteres repetidos são rejeitados porque deixariam alguns caracteres mais prováveis que outros.