Gerador de ULID

Crie IDs únicos ordenáveis por tempo, mais curtos que UUIDs e seguros em URLs.

Nível 0 · navegador · ilimitado
ULIDs
 

O que é um ULID

Um ULID (Universally Unique Lexicographically Sortable Identifier) guarda os mesmos 128 bits de um UUID em 26 caracteres, como 01ARYZ6S41TSV4RRFFQ69G5FAV. Os 10 primeiros caracteres são o momento de criação em milissegundos e os outros 16 são aleatórios. Como o tempo vem primeiro e o alfabeto é ordenado, ordenar ULIDs como texto os ordena pela criação, o que mantém os índices de banco organizados e facilita ler logs.

O alfabeto é o Base32 de Crockford: dígitos e letras maiúsculas sem I, L, O e U, então os IDs não diferenciam maiúsculas, evitam caracteres parecidos e não precisam de escape em URLs.

Exemplo resolvido

O horário de exemplo da especificação do ULID, 1469918176385 ms (30 de julho de 2016, 22:36:16,385 UTC), vira o prefixo 01ARYZ6S41. Todo ULID criado nesse milissegundo começa com esses dez caracteres; os dezesseis restantes são aleatórios.

ULID ou UUID v7?

Os dois são ordenados por tempo. O UUID v7 é um padrão do IETF (RFC 9562) e cabe em colunas uuid de banco; o ULID é mais curto como texto e amigável em URLs. Escolha pelo que sua stack suporta.

Como funciona

Para cada ID a página pega o horário Unix atual em milissegundos, escreve como 10 caracteres em Base32 de Crockford (5 bits cada, do mais significativo para o menos), tira 10 bytes do crypto.getRandomValues, a fonte aleatória segura do navegador, e escreve esses 80 bits como mais 16 caracteres. O resultado segue a especificação do ULID. Os IDs são gerados só no seu navegador, ao carregar a página e a cada clique em Gerar.

Perguntas frequentes

ULIDs são ordenáveis?

Sim. Ordená-los como texto os coloca na ordem de criação, até o milissegundo.

Um ULID tem o tamanho de um UUID?

Sim, os dois têm 128 bits. O ULID é escrito em 26 caracteres em vez de 36.

ULIDs diferenciam maiúsculas?

Não. O Base32 de Crockford não diferencia; a forma canônica é maiúscula.

ULIDs revelam quando foram criados?

Sim. Os 10 primeiros caracteres são o momento de criação, então não use onde isso for sensível.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/ulid-generator/