Gerador de ULID

Gratuito DevTools

Gerador de ULID

Gere ULIDs (Universally Unique Lexicographically Sortable Identifier) online. Identificadores de 26 caracteres ordenados por tempo, criptograficamente seguros e compativeis com UUID.

2.8k usuarios Atualizado em Mar 2026 4.8/5
Avalie esta ferramenta:
4.8 (731 votos) Obrigado!
Gerar ULIDs

Estrutura do ULID

01ARZ3NDEKTSV4RRZZC9ZRCC
←— 10 chars (timestamp) —→←— 16 chars (aleatorio) —→
  • 26 caracteres no total (Crockford Base32)
  • 48 bits de timestamp (ms desde epoch)
  • 80 bits de aleatoriedade
  • Valido ate ano 10889

ULID vs UUID

  • Ordenavel: sort lexicografico = sort por tempo
  • Legivel: sem hifens, case-insensitive
  • Monotonico: ULIDs no mesmo ms sao incrementais
  • Compativel: pode ser representado como UUID
  • URL-safe: sem caracteres especiais

Como Usar

Gere ULIDs em segundos para usar em suas aplicacoes.

1
Escolha a quantidade
Selecione quantos ULIDs deseja gerar de uma vez (1 a 100).
2
Clique em Gerar
Os ULIDs sao gerados instantaneamente com timestamp do momento atual.
3
Copie individualmente
Clique em "Copiar" ao lado de cada ULID para copiá-lo.
4
Ou copie todos
Use "Copiar Todos" para copiar todos os ULIDs de uma vez separados por linha.

ULID: O Identificador Unico Ordenavel por Tempo que Substitui o UUID

Neste artigo
  1. O que e ULID
  2. Estrutura do identificador
  3. Crockford Base32
  4. ULID vs UUID: quando usar cada um
  5. ULID em bancos de dados
  6. Perguntas frequentes

1. O Que E ULID

ULID (Universally Unique Lexicographically Sortable Identifier) e um formato de identificador unico criado como alternativa ao UUID, com a propriedade adicional de ser ordenavel lexicograficamente por tempo de criacao. Isso significa que um simples sort alfabetico nos IDs resulta automaticamente na ordenacao por data de criacao.

Isso e extremamente util em bancos de dados, sistemas de eventos e filas de mensagens onde a ordenacao temporal e necessaria sem precisar de um campo de timestamp separado.

2. Estrutura do Identificador

Um ULID e composto por 26 caracteres em Crockford Base32, divididos em duas partes:

  • 10 caracteres de timestamp (48 bits): representam os milissegundos desde o epoch Unix. Isso garante ordenacao cronologica automatica e permite representar datas ate o ano 10889.
  • 16 caracteres aleatorios (80 bits): componente de aleatoriedade criptograficamente segura que garante unicidade global. Com 80 bits de entropia, a probabilidade de colisao e praticamente zero.

3. Crockford Base32

O ULID usa o alfabeto Crockford Base32, que exclui letras facilmente confundidas (I, L, O, U) para melhorar a legibilidade humana: 0123456789ABCDEFGHJKMNPQRSTVWXYZ

O encoding e case-insensitive, o que facilita copiar e colar sem preocupacao com capitalizacao.

"ULIDs sao especialmente valiosos em sistemas distribuidos onde multiplas instancias geram IDs simultaneamente — a ordenacao por tempo elimina a necessidade de um sequenciador central."

4. ULID vs UUID: Quando Usar Cada Um

Use ULID quando:

  • A ordenacao cronologica dos registros for importante para o negocio.
  • Voce quiser IDs mais curtos e legiveis que UUID (26 vs 36 caracteres).
  • Quiser melhorar a performance de indices em bancos de dados relacionais (ULIDs geram menos fragmentacao de B-tree que UUIDs aleatorios).

Use UUID v4 quando:

  • A compatibilidade com sistemas legados que esperam o formato UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) for obrigatoria.
  • Voce precisar ocultar informacao temporal dos IDs por razoes de privacidade.

5. ULID em Bancos de Dados

ULIDs podem ser armazenados como:

  • CHAR(26): armazenamento direto como string, simples e compativel com qualquer banco.
  • UUID (128 bits): convertendo o ULID para a representacao binaria UUID, economizando espaco e aproveitando tipos nativos.
  • BINARY(16): representacao binaria compacta para bancos que nao tem tipo UUID nativo.

Em bancos como PostgreSQL e MySQL, armazenar como string CHAR(26) com indice e geralmente suficiente. A ordenacao lexicografica do ULID funciona corretamente com ORDER BY na coluna.

6. Perguntas Frequentes

E possivel extrair o timestamp de um ULID?

Sim. Os primeiros 10 caracteres do ULID codificam o timestamp em milissegundos. Nossa ferramenta exibe o timestamp decodificado ao lado de cada ULID gerado.

O ULID e criptograficamente seguro?

O componente aleatorio usa crypto.getRandomValues(), que e criptograficamente seguro. No entanto, o timestamp e visivel no ID — se isso for um problema de privacidade, use UUID v4.

Dois ULIDs gerados no mesmo milissegundo podem colidir?

A probabilidade e extremamente baixa: com 80 bits de aleatoriedade, voce precisaria gerar ~1.2 x 10^12 IDs no mesmo milissegundo para ter 50% de chance de colisao. Na pratica, isso e impossivel.