Ferramentas

Gerador UUID / ULID / NanoID Online Gratuito

Gere UUID v4, UUID v1, ULID e NanoID instantaneamente no seu browser — até 100 IDs de uma vez. 100% client-side, nenhum dado enviado.

Toda a geração ocorre localmente no seu browser via Web Crypto API. Nenhum ID ou texto é enviado aos nossos servidores.

O que é um UUID?

Um UUID (Universally Unique Identifier) é um rótulo de 128 bits definido no RFC 4122. Com mais de 5 × 10³⁶ valores v4 possíveis, a probabilidade de gerar o mesmo UUID duas vezes é astronomicamente pequena. Os UUIDs permitem que sistemas distribuídos criem identificadores únicos — para linhas de banco de dados, recursos de API, tokens de sessão — sem contador ou coordenador central.

UUID v4 vs UUID v1 vs ULID vs NanoID

Escolha o identificador certo para o seu caso de uso:

UUID v4 (128 bits aleatório)

Completamente aleatório. O formato mais usado, suportado nativamente por todos os bancos de dados e linguagens modernas. Sem informação temporal. Gerado com crypto.randomUUID().

UUID v1 (baseado em carimbo de tempo) Legado

Codifica um carimbo de tempo para ordenação temporal. Obsoleto para novos sistemas — a especificação original expõe o endereço MAC, levantando preocupações de privacidade. Use ULID se precisar de ordenabilidade.

ULID (ordenável lexicograficamente)

Ordenável lexicograficamente por tempo de criação — ideal como chave primária com Prisma, Drizzle ou qualquer ORM. 26 caracteres Crockford Base32, URL-safe, insensível a maiúsculas.

NanoID (ID compacto URL-safe)

Apenas 21 caracteres (vs 36 para UUID), alfabeto URL-safe (A-Za-z0-9_-). Comprimento configurável. Perfeito para slugs URL, tokens curtos e identificadores gerados.

Quando Usar Cada Identificador

Guia prático para escolher o formato de ID correto:

UUID v4 → Chaves Primárias de Banco de Dados

Use UUID v4 como chaves primárias no PostgreSQL (tipo uuid), MySQL (CHAR(36)) ou qualquer banco de dados com suporte nativo a UUID. Compatível com todos os principais ORMs.

UUID v1 → Arquivos de Log Ordenados por Tempo

Sistemas legados que precisam de IDs com carimbo de tempo integrado para nomear arquivos de log ou ordenar eventos. Prefira ULID para novos projetos.

ULID → Chaves Primárias Ordenáveis com ORM

Use ULID quando precisar de chaves primárias que se ordenem por tempo de criação sem coluna de timestamp separada. Funciona nativamente com Prisma, Drizzle ORM e TypeORM.

NanoID → Encurtadores de URL e Tokens Compactos

Use NanoID para slugs URL, tokens de curta duração e qualquer contexto onde compacidade e segurança de URL importem. Ajuste o comprimento para equilibrar probabilidade de colisão e legibilidade.

Perguntas Frequentes

UUID é um identificador de 128 bits codificado como 36 caracteres hexadecimais com hifens. ULID também tem 128 bits, mas é codificado como 26 caracteres Crockford Base32 e é ordenável lexicograficamente por tempo de criação. ULID é uma alternativa moderna ao UUID v1 que evita a exposição do endereço MAC.

Em teoria sim, mas a probabilidade é negligenciável. UUID v4 tem 122 bits de aleatoriedade, produzindo cerca de 5,3 × 10³⁶ valores possíveis. Para ter 50% de chance de colisão seria necessário gerar aproximadamente 2,7 × 10¹⁸ UUIDs — muito além de qualquer sistema real.

Sim. UUID v4 é amplamente usado como chave primária em sistemas distribuídos. A principal desvantagem em relação a inteiros sequenciais é a fragmentação de índices B-tree. Se inserções ordenadas forem importantes, considere ULID, que ordena cronologicamente e reduz a fragmentação.

NanoID gera IDs mais curtos (21 caracteres por padrão vs 36 para UUID) usando um alfabeto URL-safe. O comprimento é configurável: IDs mais curtos têm maior probabilidade de colisão, IDs mais longos são mais seguros. NanoID é ideal para URLs, slugs e tokens compactos onde o formato de 36 caracteres do UUID é muito longo.