Gere UUIDs v1, v3, v4, v5 e v7 para qualquer aplicação
O mesmo namespace + nome sempre gera o mesmo UUID
Selecione uma versão e clique em Gerar UUID
f47ac10b-58cc-4372-a567-0e02b2c3d479| Versão | Algoritmo | Caso de uso ideal | Característica |
|---|---|---|---|
| v1 | Timestamp + MAC | Sistemas que precisam de ordenação por tempo | Ordenável, mas expõe timestamp |
| v3 | MD5 (name-based) | IDs determinísticos para recursos nomeados | Mesmo input → mesmo UUID |
| v4 | Aleatório puro | Uso geral — o mais popular | 122 bits de entropia |
| v5 | SHA-1 (name-based) | Como v3, com hash mais seguro | Preferível ao v3 para novos sistemas |
| v7 | Unix timestamp | Chave primária em bancos de dados | Monotônico e ordenável |
O UUID v4 é o formato mais universal: 122 bits de aleatoriedade pura, sem nenhuma informação de tempo ou contexto. É adequado para a grande maioria dos casos — IDs de usuários, sessões, eventos — onde ordenação não é um requisito. Já o UUID v7 embute os 48 bits iniciais com o timestamp Unix em milissegundos, tornando os IDs lexicograficamente ordenáveis por tempo de criação. Isso elimina a fragmentação de índices B-tree que ocorre com v4 puro — um ganho real de performance em tabelas com alto volume de inserções. Para novas aplicações com banco de dados relacional (PostgreSQL, MySQL, SQLite), v7 é a escolha moderna recomendada.
Usar UUID como chave primária tem vantagens sobre auto-increment: geração no cliente sem round-trip ao banco, unicidade global facilitando replicação e sharding, ausência de IDs sequenciais previsíveis expostos em URLs. A desvantagem histórica era a fragmentação de índices B-tree com v4 puro — problema resolvido pelo v7, que mantém a unicidade global mas insere registros em ordem de tempo, comportando-se como um auto-increment distribuído. Bancos como PostgreSQL 17+ e MySQL 8.0+ têm suporte nativo para UUIDs. ORMs modernos como Prisma, TypeORM e Drizzle suportam UUID v7 como tipo de chave primária.
UUID (Universally Unique Identifier) é um identificador de 128 bits projetado para ser único em escala global sem necessidade de coordenação central. É amplamente utilizado como chave primária em bancos de dados relacionais e NoSQL, identificador de recursos em APIs REST, identificador de sessões e eventos em sistemas distribuídos e como base para geração determinística de IDs em sistemas de mensageria. Existem cinco versões principais: v1 (baseado em tempo e MAC), v3 (hash MD5 determinístico), v4 (aleatório — o mais utilizado), v5 (hash SHA-1 determinístico) e v7 (timestamp Unix moderno, ideal para índices de banco de dados por ser lexicograficamente ordenável). Esta ferramenta gera todas as versões usando exclusivamente a Web Crypto API do navegador — nenhum dado trafega pela rede.