Skip to content
Zoyku

Gerador ULID

Gere ULIDs — identificadores únicos de 26 caracteres, ordenáveis, com timestamp em milissegundos embutido — e decodifique qualquer ULID de volta à sua hora de criação.

ULIDsTimestamp (ms)

Gerado localmente com crypto.getRandomValues — timestamp de 48 bits + 80 bits aleatórios, Crockford Base32, 26 caracteres.

Esta ferramenta roda inteiramente no seu navegador. Seus dados nunca saem do seu dispositivo e não são enviados a nenhum servidor.

Como usar

  1. 1Clique em Gerar para criar um lote de ULIDs (ou cole um para decodificar).
  2. 2Cada ULID mostra seu timestamp embutido — a hora de criação, em formato ISO.
  3. 3Copie ULIDs individuais ou a lista inteira para fixtures, seeds de banco ou análise de logs.

Gerador ULID

UUIDv4 é aleatório, então registros que o carregam se ordenam no caos: índices se fragmentam e consultas por tempo precisam de uma coluna separada. ULID (identificador universalmente único lexicograficamente ordenável) resolve isso colocando primeiro um timestamp de 48 bits em milissegundos, seguido de 80 bits aleatórios — 26 caracteres em Crockford Base32 que se ordenam corretamente como strings simples.

O alfabeto Crockford (0-9 e A-Z sem I, L, O, U) evita os caracteres que a transcrição manual mais confunde: nada de I/1 ou O/0. Aqui a metade aleatória usa crypto.getRandomValues e a temporal usa o relógio, conforme a especificação ULID.

Além de gerar, cole qualquer ULID existente para decodificá-lo: o timestamp embutido é extraído e exibido como data ISO — cada ULID nos seus logs vira, de graça, um registro de hora de criação. O modo em lote gera até 50 de uma vez, todos no mesmo instante.

Perguntas frequentes

Por que ULID em vez de UUIDv4?

Pela ordenação. Os 10 primeiros caracteres de um ULID codificam o timestamp de criação, então a ordem lexicográfica é a cronológica — chaves primárias se agrupam nos índices, varreduras por faixa de tempo funcionam direto e logs se ordenam naturalmente. UUIDv4 não tem nenhuma dessas propriedades; ULID mantém 128 bits de resistência a colisões.

O que é Crockford Base32 e por que não hex ou base64?

Crockford Base32 usa 32 caracteres (dígitos mais A-Z sem I, L, O, U) escolhidos para sobreviver à transcrição humana: sem confusões letra/número, e não diferencia maiúsculas. É 25% mais denso que hex; ao contrário do base64, evita +, / e =, sendo seguro em URLs, nomes de arquivo e XML sem escaping.

Dois ULIDs gerados no mesmo milissegundo colidem?

Na prática não: os 80 bits aleatórios dão ~1,2 × 10²⁴ possibilidades por milissegundo. A especificação ULID também define geração monotônica (incrementar a parte aleatória dentro do mesmo milissegundo), que o modo em lote deste gerador respeita por construção — cada item do lote é distinto.

Is the output safe to paste into production code?

Yes. Formatting, escaping and conversion follow the relevant specs (RFCs, W3C, JSON Schema), and nothing is sent anywhere — you can verify the output locally before committing it.

Does it work on large inputs?

Yes — everything runs locally. A multi-megabyte JSON file or a long regex session is limited only by your machine, not by a request size cap.

Esta ferramenta é gratuita?

Sim, totalmente gratuita — sem cadastro, sem assinatura, sem limites diários e sem marcas d'água.

Incorporar esta ferramenta

Coloque esta ferramenta no seu site com uma linha — ela roda no navegador do visitante.

<iframe src="https://zoyku.com/pt/tools/ulid-generator?embed=1" width="100%" height="640" style="border:0;border-radius:16px" title="Zoyku — ulid-generator" loading="lazy"></iframe>
100% local processing