Como usar
- Escolha o Tipo de identificador e quantos você precisa em Quantos.
- Para um nanoid, defina o seu Tamanho e os caracteres do seu Alfabeto.
- Copie um ID de IDs gerados. Cada linha dá a hora que o ID guarda, ou um traço para um nanoid.
- Cole um ULID ou um UUID versão 7 em Ler a hora de para ler a hora que ele guarda.
Três tipos de identificador
Um ULID (ulid/spec) tem 128 bits: 48 bits de tempo Unix em milissegundos, depois 80 bits aleatórios, escritos como 26 caracteres da base32 de Crockford. Um UUID versão 7 (RFC 9562, seção 5.7) também começa com um tempo de 48 bits em milissegundos, no formato 8-4-4-4-12 de um UUID. Um nanoid é uma string aleatória do tamanho e do alfabeto que você escolher, e não guarda hora.
- ULID: 26 caracteres, por exemplo 01ARZ3NDEKTSV4RRFFQ69G5FAV
- UUID versão 7: 36 caracteres, por exemplo 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
- Nanoid: qualquer tamanho e qualquer alfabeto, sem hora
Ordem quando os IDs são gerados juntos
IDs gerados de uma vez compartilham o mesmo milissegundo. Um ULID então soma uma unidade à sua parte aleatória a partir do ID anterior, e um UUID versão 7 conta um contador de 12 bits, então os IDs se ordenam na ordem em que foram gerados (ulid/spec, Monotonicity; RFC 9562, seção 6.2). Dentro de um mesmo milissegundo, um nanoid não é ordenado: cada um é sorteado de novo.
Os valores aleatórios vêm de crypto.getRandomValues, a fonte de bytes aleatórios do próprio navegador. Um nanoid sorteia cada caractere sem viés, pulando os valores de byte que favoreceriam alguns caracteres.
Exemplo resolvido: ler a hora de um ULID
Colando 01ARZ3NDEKTSV4RRFFQ69G5FAV, o ULID de exemplo da especificação, o resultado é este: A hora é 30 de julho de 2016, às 23:54:10 UTC, que são 1.469.922.850.259 milissegundos depois de 1 de janeiro de 1970.
Os primeiros dez caracteres, 01ARZ3NDEK, guardam a hora. Os últimos dezesseis guardam 80 bits aleatórios, então o ID se ordena pela hora como texto simples.
Perguntas frequentes
Um ULID é o mesmo que um UUID?
Ele tem 128 bits como um UUID, mas é escrito em 26 caracteres da base32 de Crockford e não tem o formato de UUID. O UUID versão 7 é a forma da RFC 9562 que também começa com uma hora, e esta página gera as duas.
Posso usar estes IDs como senhas ou tokens de sessão?
Não. Eles são feitos para ser únicos e ordenáveis, não secretos. IDs gerados juntos compartilham uma hora e contam para cima, então o próximo pode ser adivinhado. Use o gerador de senhas ou um token criptográfico para segredos.
O que é um ID no estilo nanoid?
Uma string aleatória sorteada do alfabeto que você escolher, com o tamanho que você escolher. Um ID de 21 caracteres dos 64 caracteres seguros para URL carrega cerca de 126 bits de aleatoriedade, que é o padrão desta página.
Por que uma linha mostra um traço em vez de uma hora?
Um nanoid é aleatório do início ao fim e não guarda hora, então não há o que ler. Só ULIDs e UUIDs da versão 7 carregam uma hora de criação.
Por que não dá para ler a hora de um UUID?
Só UUIDs da versão 7 guardam uma hora. A página informa a versão do UUID que você colou, e lê um UUID versão 7 que segue a RFC 9562.
Meus IDs ou o texto que eu colo são enviados para algum lugar?
Não. Os IDs são gerados no seu navegador com crypto.getRandomValues, e o texto que você cola é lido só aqui. Nada é enviado nem guardado.
Fontes
- Especificação ULID (em inglês): ulid/spec no GitHub
- RFC 9562 (em inglês): Universally Unique IDentifiers (UUIDs), version 7
- Codificação Base32 de Crockford (em inglês)
- W3C (em inglês): Web Cryptography API, getRandomValues
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.