Gerador UUID
Opções do Formato
Número gerado
Gerador UUID/GUID/ULID/NanoID online gratuito que suporta 5 formatos de ID único, geração em massa até 100, formatação personalizável e validação UUID. Pronto para usar instantaneamente — perfeito para chaves primárias de banco de dados e criação de dados de teste.
Sugestões Relacionadas
O que é um UUID?
UUID (Universally Unique Identifier) é um identificador de 128 bits padronizado pela Open Software Foundation (OSF), definido no RFC 4122. Seu objetivo é permitir que sistemas distribuídos identifiquem informações de forma única sem uma autoridade central para atribuição de IDs.
Um UUID padrão se parece com `550e8400-e29b-41d4-a716-446655440000`, composto por 32 dígitos hexadecimais divididos em 5 grupos (8-4-4-4-12) por hífens. Teoricamente, a probabilidade de colisão do UUID v4 é cerca de 1/10^36 — se você gerasse 1 bilhão de UUIDs por segundo por cerca de 800 anos, a probabilidade de uma única colisão seria aproximadamente 50%, o que é desprezível na prática.
UUIDs são amplamente usados para chaves primárias de banco de dados, IDs de rastreamento distribuído, IDs de requisição, IDs de rastreamento de log, nomenclatura única de arquivos, IDs de dados de teste e identificadores de sessão. Quase todas as linguagens de programação principais incluem bibliotecas de geração UUID integradas.
Casos de uso
- Gere UUID v4 como chaves primárias de registros de tabela durante o design de banco de dados para evitar vazamento de volume de dados de IDs autoincrementais
- Use ULID como IDs globais de requisição/rastreamento ordenáveis em sistemas distribuídos ou arquiteturas de microsserviços
- Gere UUIDs em massa como dados de teste e IDs simulados de pedido/usuário durante desenvolvimento de API e testes de integração
- Use NanoID em vez de UUID em links curtos de frontend ou URLs de compartilhamento — mais curto, mais limpo, sem necessidade de codificação URL
- Use UUID v5 para gerar IDs determinísticos a partir de namespaces fixos, garantindo que a mesma entrada sempre produza a mesma saída
- Use o recurso de validação para identificar tipo e versão de ID ao encontrar IDs de formato desconhecido em logs de depuração ou documentação de terceiros
Como Usar
- Selecione o tipo de ID desejado dos cartões acima: UUID v4 (recomendado), v1, v5, ULID ou NanoID
- Se escolher UUID v5, insira uma string de namespace; outros IDs podem definir opções de formato diretamente
- Alterne opções de maiúsculas e hífens conforme necessário, defina a quantidade de geração em massa (1-100) por meio de botões rápidos ou controle deslizante
- Clique no botão gerar para ver os resultados — copie individualmente, copie tudo de uma vez ou exporte como TXT/JSON
- Para validar um ID existente, vá para a aba "Validar" e cole a string do ID para obter informações de tipo e versão
Recursos
- Cinco tipos de ID em uma ferramenta: UUID v1 (timestamp), v4 (aleatório), v5 (namespace), ULID (ordenável) e NanoID (seguro para URL) — uma ferramenta cobre todas as necessidades da stack tecnológica
- Validação e reconhecimento de UUID: Vá para a aba Validar, cole qualquer ID para identificar sua versão UUID ou detectar formato ULID/NanoID — resolução rápida de problemas durante depuração
- Gerar em massa até 100: Gere qualquer quantidade de 1 a 100 IDs de uma vez — chega de copiar manualmente um por um para dados de teste
- Formatação flexível: Alterna maiúsculas e hífens para UUIDs para atender aos requisitos de formato de bancos de dados, URLs e arquivos de configuração
- Exportação e histórico local: Copie tudo com um clique, exporte arquivos TXT/JSON, histórico de geração salvo localmente para recuperação instantânea — operações em massa mais eficientes
- Aleatório seguro no lado do cliente: Usa a API crypto do navegador para números aleatórios criptograficamente seguros, IDs nunca saem do seu dispositivo, funciona offline
Exemplos de Código
Gerar UUID v4 em JavaScript
javascriptNavegadores modernos e Node.js 14.17+ têm a Web Crypto API integrada, permitindo geração direta de UUID v4 sem bibliotecas de terceiros.
// Navegadores modernos / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"
// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();Gerar UUIDs em Massa em Python
pythonUse o módulo uuid da biblioteca padrão do Python para gerar vários UUID v4 em massa, ideal para preparação de dados de teste.
import uuid
# Gerar um único UUID
uid = uuid.uuid4()
print(uid)
# Gerar 10 UUIDs em massa
for _ in range(10):
print(uuid.uuid4())
# Gerar UUID em maiúsculas sem hífens
print(uuid.uuid4().hex.upper())Gerar UUID a partir da Linha de Comando Shell
bashGere UUIDs rapidamente no terminal Linux/macOS, adequado para uso em scripts shell.
# Linux uuidgen # macOS uuidgen | tr 'A-Z' 'a-z' # Leitura direta do arquivo aleatório do sistema (método mais bruto) cat /proc/sys/kernel/random/uuid
Qual esquema de ID único você deve escolher?
UUID não é a única opção: IDs auto-incrementais de banco de dados e Snowflake também são esquemas de chave primária comuns. Decida primeiro com base em 'volume de dados, necessidade de unicidade global e necessidade de ordenação temporal' para evitar muitas voltas.
UUID v1 / v4 / v5 / ULID / NanoID: qual escolher?
Os 5 IDs têm trade-offs em volume de dados, ordenação e comprimento de caracteres. Decida com base em 'onde é usado + se precisa de ordenação + se é usado diretamente em URL', mais confiável do que se basear nos números em si.
| Esquema | Cenário recomendado | Ordenação | Comprimento | Recomendação |
|---|---|---|---|---|
UUID v1 | Sistemas internos que precisam de ordenação temporal e aceitam o vazamento de MAC e horário de geração | Ordenação temporal | 36 caracteres | ⚠ Geralmente não recomendado (vazamento de privacidade) |
UUID v4 | Chaves primárias de BD, identificadores gerais, a maioria dos cenários de negócio | Sem ordem (aleatório) | 36 caracteres | ✓ Primeira escolha universal |
UUID v5 | Cenários que exigem saída determinística (mesma entrada → mesmo UUID) | Sem ordem | 36 caracteres | ✓ Recomendado quando o namespace é fixo |
ULID | Chaves primárias de sistemas distribuídos, tracing de logs, índices que precisam de ordenação temporal | Ordenação temporal (os primeiros 48 bits são timestamp em milissegundos) | 26 caracteres | ✓ Primeira escolha para sistemas distribuídos |
NanoID | Links curtos de URL, identificadores de cookie, referências JS no frontend | Sem ordem (aleatório) | 21 caracteres (padrão) | ✓ Primeira escolha para cenários de ID curtos |
UUID vs ID auto-incremental de BD vs Snowflake ID: como escolher a chave primária?
Esses três são os esquemas de chave primária backend mais comuns e determinam a escalabilidade, segurança de concorrência e características de desempenho do sistema. Decidir com base em 'volume de dados / requisito de unicidade global / legibilidade' evita mudanças de arquitetura posteriores.
| Dimensão | UUID | ID auto-incremental BD | Snowflake |
|---|---|---|---|
Unicidade global | ✓ Sim (em teoria) | ✗ Não (duplicatas após sharding do BD) | ✓ Sim (garantido por data center + worker ID) |
Vazamento de volume | ✓ Sem vazamento | ✗ Direto (1, 2, 3 incremental revela o volume real) | ⚠ Bits de tempo revelam o horário de geração (não o volume total direto) |
Ordenação | ✗ Sem ordem (ULID é a exceção) | ✓ Monotonicamente crescente (amigável ao B-Tree) | ✓ Crescente por tendência (ordenado no mesmo milissegundo) |
Suporte a sharding | ✓ Suporte nativo | ✗ Requer gerador de ID ou refatoração | ✓ Distinguível via worker ID |
Custo de armazenamento | ⚠ Alto (BINARY(16) são 16 bytes) | ✓ Baixo (BIGINT são 8 bytes) | ✓ Baixo (BIGINT são 8 bytes) |
Cenários adequados | Chaves primárias multi-serviço/distribuídas, identificadores externos, negócios sensíveis a volume de dados | Apps monolíticos, backends administrativos, sem necessidade de unicidade global | IM de alta concorrência, números de pedido, IDs de mensagem (requer implementação própria) |
Best Practices
Para chaves primárias de banco em produção, prefira UUID v4 ou ULID, evite v1
Os últimos 48 bits do UUID v1 são o endereço MAC, e os primeiros 48 bits são um timestamp com precisão de 100 ns – **esses dois campos podem ser revertidos a uma impressão digital da máquina e ao horário de geração**. O RFC 4122 deixa claro que v1 deve ser usado 'somente quando a compatibilidade com versões anteriores for necessária'. Em produção, prefira v4 (aleatório) ou ULID (ordenável); use v1 apenas ocasionalmente em depuração ou quando precisar rastrear a máquina geradora. **Nunca** use v1 como IDs de usuário, IDs de dispositivo ou números de pedido expostos externamente.
Como escolher entre UUID v1, v4 e v5?Comprimento do UUID 128 bit ≠ entropia: v4 tem apenas 122 bit de aleatoriedade real
Embora o UUID v4 tenha 128 bits no total, **os primeiros 4 bits são o número de versão (fixo em 0100) e os últimos 2 bits são a variante (fixa em 10)** – apenas 122 bits são realmente aleatórios. Essa é uma restrição de formato imposta pelo RFC 4122 – **qualquer biblioteca de UUID v4 que afirme oferecer '128 bits totalmente aleatórios' está mal implementada**. Além disso, nos últimos 64 bits do v4, os 2 bits superiores do 7º byte também são campos de variante, então a entropia real é ainda menor. Ao projetar sistemas, calcule a segurança com base em 122 bits (e não 128) para não subestimar o risco de colisão.
RFC 4122 - Especificação do UUIDArmazene UUIDs como colunas BINARY(16), não VARCHAR(36)
A string UUID v4 `550e8400-e29b-41d4-a716-446655440000` pode parecer compacta, mas VARCHAR(36) na verdade armazena 36 bytes + 2 bytes de comprimento = 38 bytes, **2,4 vezes mais espaço que BINARY(16)**. MySQL/PostgreSQL/MSSQL têm funções UUID nativas que suportam gravação direta em BINARY(16), e o tamanho do índice também cai pela metade. Quando as tabelas passam de 100 milhões de linhas, índices de chave primária em VARCHAR(36) fazem a altura do B-Tree crescer 1-2 níveis, **degradando o desempenho das consultas em 30-50 %**. Converta para string apenas para exibição no frontend; na camada de negócio, transporte sempre como BINARY(16).
Tabela comparativa UUID / ULID / NanoIDEm cenários de URL, use NanoID ou UUID sem hifens para evitar codificação de URL
O conjunto de caracteres do UUID v4 é `[0-9a-f-]`, **e o hífen - em caminhos de URL exige codificação dupla de URL** (primeiro escapado para %2D, depois para %252D), o que fica feio. Duas soluções: **(1) em cenários de URL, use NanoID diretamente** (padrão de 21 caracteres URL-safe); **(2) UUID v4 com hifens desativados** produz 32 caracteres hex puros, que não precisam de codificação como segmento de caminho de URL. Para cenários de cookie, prefira também NanoID (A-Za-z0-9_-) ou UUID sem hifens, evitando os caracteres `+` `/` `=` (conjunto de caracteres Base64).
É possível remover hifens ou converter UUIDs para maiúsculas?Após geração em massa, sempre deduplique: bugs do gerador podem causar duplicatas
A probabilidade de colisão do UUID v4 é de cerca de 1/10^36, então em teoria não é preciso deduplicar – **mas em engenharia, não confie na teoria**. Incidentes reais como falhas de RNG no kernel do Linux, bugs na implementação de `crypto.randomUUID` em versões antigas do Node.js e entropia insuficiente na inicialização de VMs na nuvem já causaram duplicatas em UUIDs gerados em massa. **Em produção, após gerar 100k+ UUIDs em massa, é obrigatório executar `SELECT id, COUNT(*) FROM t GROUP BY id HAVING COUNT(*) > 1` para deduplicar e verificar** – se houver problemas, reverta imediatamente a versão do gerador. Esta é uma boa prática aprendida com lições dolorosas em cenários de migração de dados e importação em massa.
Posso gerar vários UUIDs de uma só vez?Perguntas frequentes
Qual é a diferença entre UUID e GUID?
UUID (Universally Unique Identifier) e GUID (Globally Unique Identifier) são essencialmente a mesma coisa com nomes diferentes: UUID é o nome formal do padrão IETF (RFC 4122), enquanto GUID é o termo preferido da Microsoft no ecossistema Windows. Ambos compartilham o formato idêntico de 128 bits como `550e8400-e29b-41d4-a716-446655440000`. Os UUIDs padrão gerados por esta ferramenta funcionam intercambiavelmente em qualquer cenário que exija GUIDs.
Como escolher entre UUID v1, v4 e v5?
UUID v1 é baseado em timestamp e endereço MAC — ordenado por tempo e rastreável, mas pode vazar informações do endereço MAC. UUID v4 é completamente aleatório, a escolha mais usada e segura, adequada para a maioria dos cenários de chave primária e identificador. UUID v5 é uma versão baseada em namespace com hash SHA-1 — o mesmo namespace + o mesmo nome sempre produz o mesmo UUID, ideal para cenários de saída determinística. Para desenvolvimento geral, UUID v4 é a escolha padrão.
Quais vantagens ULID e NanoID têm sobre UUID v4?
ULID (26 caracteres) é mais curto que UUID (36 caracteres com hífens) e pode ser ordenado lexicograficamente por tempo de criação, tornando-o ideal para índices de banco de dados e rastreamento de logs. NanoID (21 caracteres por padrão) é ainda mais curto e rápido, usa caracteres seguros para URL, então não precisa de escaping em URLs e cookies — é cerca de 30% menor que UUID. Todos os três têm probabilidade de colisão desprezível, mas a capacidade de ordenação do ULID brilha em sistemas distribuídos, enquanto NanoID é mais amigável para cenários de frontend/URL.
Posso gerar vários UUIDs de uma vez?
Sim. Esta ferramenta suporta geração em massa de 1 a 100 IDs. Defina a quantidade por meio de botões rápidos ou do controle deslizante e gere com um clique — perfeito para criação de dados de teste, importação em massa e preparação de IDs únicos para scripts. Após gerar, você pode copiar todos os resultados de uma vez ou exportar como arquivos TXT ou JSON.
Guia de geração em massaPosso validar se uma string é um UUID válido?
Sim. Vá para a aba "Validar" e cole qualquer string — a ferramenta identifica e valida automaticamente: UUIDs padrão (v1/v3/v4/v5) informarão seu número de versão específico, e também reconhece formatos ULID (Crockford Base32 de 26 caracteres) e NanoID (caracteres seguros para URL de 21 caracteres), tornando-a muito conveniente para resolver rapidamente problemas de formato de ID durante desenvolvimento e depuração.
Gerar UUID online é seguro? Meus IDs vazarão para um servidor?
Completamente seguro. Toda geração e validação de ID executa localmente no seu navegador por meio de JavaScript, usando crypto.getRandomValues() para números aleatórios criptograficamente seguros. Nenhum ID gerado é enviado a qualquer servidor, e nenhum histórico de geração é armazenado na nuvem. Funciona mesmo offline, tornando-o adequado para intranets empresariais e projetos sensíveis.
Posso remover hífens ou converter UUIDs para maiúsculas?
Sim. Para UUID v1/v4/v5, a ferramenta fornece duas alternâncias: "Maiúsculas" alterna a caixa da saída, e "Hífens" permite remover os traços (útil para URLs, arquivos de configuração ou bancos de dados que exigem formato sem hífens). ULID e NanoID não têm hífens por padrão e também suportam alternância de caixa.
Por que usar uma ferramenta online em vez da linha de comando para gerar UUIDs?
Ferramentas de linha de comando (como uuidgen do Linux, módulo uuid do Python) exigem um ambiente de desenvolvimento. Uma ferramenta online funciona instantaneamente no seu navegador sem necessidade de instalação. Além disso, esta ferramenta integra reconhecimento de versão UUID, exportação em massa e recursos de histórico local — mais conveniente ao trabalhar entre dispositivos (por exemplo, gerar IDs para colegas não técnicos) ou quando precisar de IDs rapidamente.
Glossário
- UUID
- Universally Unique Identifier, comprimento de 128 bits, padrão RFC 4122, versões comuns incluem v1 (timestamp+MAC), v4 (aleatório), v5 (hash SHA-1).
- GUID
- Globally Unique Identifier, termo da Microsoft para UUID — os dois são idênticos em formato e propósito.
- ULID
- Universally Unique Lexicographically Sortable Identifier, 26 caracteres usando codificação Crockford Base32, primeiros 48 bits são timestamp — ordenável por tempo de criação.
- NanoID
- Um gerador de ID único leve, 21 caracteres seguros para URL por padrão (A-Za-z0-9_-), mais curto e mais rápido que UUID, ideal para cenários de frontend e URL.
- UUID v1
- Versão UUID baseada em timestamp e endereço MAC, ordenável por tempo, mas pode vazar endereço MAC e tempo de geração — menos segura que v4.
- UUID v4
- Versão UUID completamente baseada em números aleatórios, mais usada, probabilidade de colisão desprezível, a escolha padrão no desenvolvimento.
- UUID v5
- Versão UUID de namespace baseada em hash SHA-1 — o mesmo namespace + a mesma entrada de nome produz saída UUID idêntica, adequada para cenários determinísticos.
- Probabilidade de Colisão
- A probabilidade de que dois IDs gerados aleatoriamente sejam idênticos. A probabilidade de colisão do UUID v4 é cerca de 1 em 17 bilhões de trilhões, desprezível na engenharia prática.
- Crockford Base32
- Uma codificação Base32 projetada por Douglas Crockford que usa letras maiúsculas e dígitos excluindo I/L/O/U para evitar caracteres ambíguos — usada pelo ULID.
Comparação UUID / ULID / NanoID
| Característica | UUID v4 | ULID | NanoID |
|---|---|---|---|
| Comprimento | 36 caracteres (com hífens) / 32 caracteres (sem hífens) | 26 caracteres | 21 caracteres (padrão) |
| Conjunto de Caracteres | Hexadecimal (0-9a-f) | Crockford Base32 (32 caracteres) | Seguro para URL (64 caracteres) |
| Capacidade de Ordenação | Não ordenado (aleatório) | Ordenado por tempo | Não ordenado (aleatório) |
| Seguro para URL | Precisa de escaping (hífens + alfanuméricos) | Principalmente seguro (maiúsculas + dígitos) | Totalmente seguro para URL |
| Velocidade de Geração | Rápido | Rápido | ~60% mais rápido que UUID |
| Probabilidade de Colisão | 1/10^36 | 1/10^36 | 1/10^34 (em 21 caracteres) |
| Casos de Uso Típicos | Chaves primárias de banco de dados, IDs gerais | Sistemas distribuídos, rastreamento de logs | URLs curtas, IDs de frontend, cookies |
Métodos de Geração UUID por Linguagem
| Linguagem | Código |
|---|---|
| JavaScript | crypto.randomUUID() // Navegadores modernos / Node.js 19+ |
| Python | import uuid; uuid.uuid4() |
| Java | UUID.randomUUID() |
| Go | github.com/google/uuid; uuid.New() |
| Bash/Linux | uuidgen ou cat /proc/sys/kernel/random/uuid |
Authoritative References
- Simulador de Daltonismo
- Conversor de cores
- Conversor de .htaccess para Nginx
- Conversor de SQL
- Parser de Cookies
- Gerador de Expressões Cron
- Validador de Expressões Cron
- Formatador de CSS
- Compressor de CSS
- CSV para Excel
- Conversor de Moedas
- Comparador de Diferenças
- Gerador de Favicon
- Formatador de XML
- Conversor Hexadecimal
- Formatador de HTML
- Compressor de HTML
- HTML para Markdown
- Markdown para HTML
- Formatar JavaScript
- Compressor de JS
- Formatador JSX
- Compressor de JSX
- Agrupamento de palavras-chave
- Gerador Lorem Ipsum
- Gerador de Tabela Markdown
- Gerador de Meta Tags
- Gerador de Senhas
- Verificador de Força de Senha
- Gerador de código QR/código de barras
- Testador de Expressões Regulares
- Gerador de Slug
- Gerador de SQL
- Formatador SQL
- Contador de Palavras
- Ferramenta de Tempo
- Formatador de TS
- Compressor de TS
- Formatador de TSX
- Compressão TSX
- Conversor Unix Timestamp
- Gerador UUID
- Formatador de YAML
- Conversor de caixa