Programador

Gerador ULID e NanoID

Identificadores únicos ordenáveis no tempo, alternativa ao UUID.

  • Instantânea
  • Grátis
  • Privada (processada localmente)
  • Sem registo

Os ULID são ordenáveis por ordem de criação (prefixo temporal).

Identificadores únicos, mas melhores que o UUID

O UUID v4 é aleatório e ilegível, e quebra os índices quando usado como chave. Esta ferramenta gera duas alternativas modernas: o ULID (ordenável por data de criação) e o NanoID (curto e URL-safe), com aleatoriedade criptográfica.

  1. Escolha o tipo

    ULID (ordenável) ou NanoID (compacto, tamanho ajustável).

  2. Indique a quantidade

    De 1 a 100 identificadores de uma vez.

  3. Copie

    Todo o lote vai para a área de transferência.

ULID, NanoID ou UUID?

FormatoComprimentoPrincipal vantagem
ULID26 caracteresOrdenável por data de criação
NanoID21 caracteres (ajustável)Curto e URL-safe
UUID v436 caracteresPadrão universal, mas não ordenável

Aleatoriedade de crypto.getRandomValues, tudo local. O ULID é ideal como chave primária de base de dados; o NanoID, como identificador curto num URL público.

Perguntas frequentes

O que é um ULID e em que difere do UUID?

O ULID codifica a marca temporal de criação nos seus 10 primeiros caracteres, seguidos de 16 aleatórios. Resultado: dois ULID gerados em momentos diferentes ordenam-se naturalmente por ordem cronológica, o que um UUID v4 (totalmente aleatório) não permite.

Porque é útil a ordenação temporal?

Numa base de dados, chaves ordenáveis evitam a fragmentação dos índices: as novas linhas inserem-se no fim em vez de ao acaso. Pode também paginar ou ordenar por data sem uma coluna «created_at» dedicada, só com a chave primária.

O que é um NanoID?

É um identificador aleatório compacto (21 caracteres por defeito, contra 36 de um UUID) com um alfabeto URL-safe. Mais curto, mantém-se estatisticamente tão seguro contra colisões para volumes razoáveis, e cabe melhor num URL.

A geração é mesmo segura?

Sim: a aleatoriedade vem de crypto.getRandomValues, o gerador criptográfico do navegador, não de Math.random (previsível). Tudo é gerado localmente, nenhum identificador passa por um servidor.