Guia para gerar UUID: v4, v7, namespaces e formatos GUID
ToolMellow ·
Um UUID é um identificador de 128 bits com convenções definidas de versão e variante. O ToolMellow gera v1, v3, v4, v5, v6 e v7, além dos valores fixos Nil e Max. Escolha Versão do UUID e Formato do UUID, configure o lote ou os nomes e pressione Gerar UUIDs. A geração ocorre localmente em um worker do navegador.
As versões atendem a necessidades diferentes: identificadores aleatórios, orientados ao tempo ou reproduzíveis a partir de namespace e nome. Este guia explica as opções e seus limites. UUID não é automaticamente token de autorização, senha, valor único verificado globalmente ou prova da hora real de um evento. Os exemplos são ilustrações fixas, não novos identificadores atribuídos à produção.
Como gerar um UUID ou lote
Abra Gerar UUID, escolha Versão do UUID e Formato do UUID e ative UUIDs em maiúsculas ou Saída como array JSON se desejar. A versão padrão é v4. Nos modos aleatórios, temporais, Nil ou Max, escolha uma Quantidade inteira de 1 a 1000. Para v3 ou v5, informe nomes e um namespace; Quantidade não controla a saída baseada em nomes.
Pressione Gerar UUIDs e confira versão, representação e valores antes de copiar ou baixar. Alterar entrada ou opção invalida o resultado anterior. Quebrar linhas só afeta a apresentação. Este gerador não tem a ação Usar resultado como entrada; copie os valores manualmente para outra aplicação.
- Use a versão esperada pela aplicação, não mude só porque outra saída parece preferível.
- Documente namespace e representação dos nomes quando repetibilidade importa.
- Guarde condições de formato e relógio para IDs temporais; UUID não é decisão de autenticação.
Escolha entre v1, v3, v4, v5, v6 e v7
RFC 9562 é o padrão UUID atual e substitui a RFC 4122. O ToolMellow oferece as seis versões da tabela e duas constantes especiais. Não gera versão 2 nem estruturas personalizadas de versão 8. Mudar o formato textual não altera a versão ou os bits do identificador.
A versão identifica uma construção, não uma promessa de unicidade global, sigilo ou compatibilidade universal. Bancos de dados e protocolos podem exigir suas próprias versões e representações. Esta página gera identificadores; não consulta um registro, não se conecta a banco de dados e não mede desempenho de indexação.
| Modo | Construção nesta ferramenta | Limite útil |
|---|---|---|
| v4 | Aleatoriedade criptográfica | ID aleatório, não timestamp ou sistema automático de tokens secretos |
| v7 | Tempo Unix com contador/campos aleatórios da biblioteca | Orientado ao tempo; ordem limitada ao relógio e worker |
| v1 | Timestamp gregoriano, sequência de relógio e nó aleatório | Expõe tempo; não lê a MAC do dispositivo |
| v6 | Timestamp gregoriano reordenado, nó/sequência aleatórios | Campo temporal colocado mais cedo no identificador do que no v1; regras de armazenamento continuam importantes |
| v5 | Namespace e nome UTF-8 exato com SHA-1 | Determinístico, não autenticação com chave |
| v3 | Namespace e nome UTF-8 exato com MD5 | Construção determinística legada, não armazenamento de senhas |
| Nil | UUID fixo com todos os bits zero | Constante repetida, não atribuição única nova |
| Max | UUID fixo com todos os bits um | Constante repetida, não atribuição única nova |
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estado
Estrutura UUID, versão, variante e termo GUID
Um UUID textual padrão tem 32 caracteres hexadecimais e quatro hifens: grupos 8-4-4-4-12, totalizando 36 caracteres. Nas versões comuns geradas aqui, o primeiro caractere hexadecimal do terceiro grupo indica a versão. Os bits de variante afetam o início do quarto grupo, geralmente 8, 9, a ou b. Nil e Max são casos especiais, não pedidos de geração comum v0 ou v15.
GUID é um termo comum para identificadores do tipo UUID. A opção Chaves · GUID acrescenta chaves ao texto; não cria uma estrutura binária Windows nem muda a ordem dos bytes. Maiúsculas alteram apenas a apresentação das letras hexadecimais. Sintaxe plausível não comprova quem gerou o valor nem autoriza acesso.
UUID v4: IDs aleatórios e limites de colisão
UUID v4 comum reserva bits de versão e variante e usa aleatoriedade nos outros 122 bits. A ferramenta exige suporte a valores aleatórios criptográficos para os modos aleatórios e temporais. A biblioteca pode usar crypto.randomUUID nativo para v4 quando disponível ou sua implementação de valores aleatórios criptográficos caso contrário. Não há alternativa baseada em Math.random.
Geração aleatória torna colisões acidentais improváveis sob premissas adequadas, mas não garante que todo ID esteja sem uso no mundo. Não há verificação externa de duplicatas. Se unicidade é essencial, aplique as regras reais de atribuição e armazenamento da aplicação; um valor gerado no navegador não é reserva global.
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estadoAPI Web Cryptography do W3C: valores aleatórios criptográficos
Campos temporais, relógio do dispositivo e ordem dos lotes
v1 e v6 usam formatos de timestamp gregoriano em unidades de 100 nanossegundos; v6 reordena os campos. Esta implementação usa um relógio de dispositivo em milissegundos, então a unidade do formato não prova precisão de medição de 100 nanossegundos. v7 começa com milissegundos Unix e combina campos de sequência/contador e aleatórios da biblioteca; os bits restantes não são todos aleatórios independentes aqui.
A biblioteca gerencia relógio e contador dentro do trabalho do worker, incluindo valores repetidos ou recuos do relógio em v7. Cada geração usa um worker novo, sem estado compartilhado entre cliques, abas ou dispositivos. Um timestamp decodificado pode refletir o tratamento da biblioteca, não um relógio oficial. Não há garantia de ordem monotônica entre lotes ou distribuída, e valores de relógio fora do intervalo suportado são rejeitados.
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estadoWHATWG HTML: workers e ciclo de vida
O que UUIDs podem revelar sobre tempo e identidade
v1, v6 e v7 expõem informações temporais. Aqui v1 e v6 usam campos de nó aleatórios, sem ler o endereço MAC do adaptador de rede. Isso diferencia esta implementação de outras que podem escolher outra origem do nó. Não torna os valores temporais anônimos.
v4 não tem campo definido de hora de criação; v3 e v5 podem revelar relações por entradas repetidas de namespace/nome ou testes de candidatos. Nenhum valor comprova automaticamente identidade, sigilo ou propriedade. Evite nomes reais sensíveis em exemplos compartilhados e projete autorização separadamente do formato de identificador.
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estado
v3 e v5 por nomes: linhas literais e repetibilidade
Para v3 ou v5, cada linha separada por CRLF, CR ou LF é um nome. Linhas vazias, nomes vazios finais, espaços, maiúsculas e duplicatas são mantidos. Um editor vazio produz o UUID de um único nome vazio, não um lote sem itens. Quantidade não controla esses modos; o limite é 1000 linhas e 1000000 unidades UTF-16 de entrada.
A mesma versão, namespace e nome UTF-8 exato reproduzem o UUID. A ferramenta rejeita substitutos sem par e não normaliza Unicode nem remove espaços de um nome. Formas normalizadas visualmente iguais ou espaço final podem mudar os bytes. MD5 e SHA-1 implementam construções UUID padronizadas; não são hashes de senha, criptografia ou autenticação com chave.
RFC 9562: UUIDs, estruturas, namespaces e exemplosWHATWG Encoding: UTF-8 e decodificação de textoECMAScript: isWellFormed de Stringuuid.js 14.0.2: APIs de geração UUID e tratamento de estado
Namespaces DNS, URL, OID, X.500 e personalizados
Namespace escolhe o UUID usado com cada nome. DNS é o padrão; URL, OID e X.500 fornecem as outras constantes da tabela. O rótulo não resolve DNS, não busca URL, não normaliza domínio, não valida OID e não analisa um nome distinto X.500. A ferramenta passa texto UTF-8 literal à construção escolhida; siga regras adicionais de representação da aplicação.
UUID personalizado exige um UUID de namespace válido, padrão e com hifens. Hexadecimal em maiúsculas é aceito, e a biblioteca também aceita Nil e Max como namespaces. O campo não aceita formatos compacto, entre chaves ou URN. Limpar retorna o namespace personalizado à seleção DNS; não altera valores já baixados.
| Predefinição | UUID do namespace |
|---|---|
| DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
| URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 |
| OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 |
| X.500 | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 |
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estado
Exemplos conhecidos com namespace DNS
Com DNS e o nome exato www.example.com, os valores padrão em minúsculas da tabela reproduzem os exemplos por nomes da RFC. Selecionar DNS não consulta a rede. Um domínio em maiúsculas não é silenciosamente convertido em minúsculas: é outro nome literal.
Use estes exemplos fixos para conferir versão e namespace antes de investigar sua convenção real. Linhas repetidas produzem valores repetidos em v3/v5. O resultado determinístico é útil com a convenção acordada, mas não comprova resistência a colisões em todo uso nem certifica propriedade do nome.
| Versão | Nome exato | Saída padrão |
|---|---|---|
| v3 | www.example.com | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v5 | www.example.com | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
Saída padrão, compacta, entre chaves, URN e JSON
O seletor altera representação, não bits UUID. A tabela mostra um valor v5 fixo em quatro formatos. UUIDs em maiúsculas altera suas letras hexadecimais; o prefixo URN permanece urn:uuid:. Verifique se o receptor aceita a escrita escolhida; o formatador não serializa GUID binário nem converte banco de dados.
Saída como array JSON cria um array indentado de strings no formato escolhido; caso contrário, os valores são separados por quebras de linha. Baixar salva toolmellow-result.json quando JSON é selecionado ou toolmellow-result.txt caso contrário. Ambos são downloads de texto UTF-8. Alterar opções invalida o resultado anterior: gere outro depois de selecionar o formato.
| Formato | Caracteres por valor | Exemplo |
|---|---|---|
| Padrão | 36 | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| Compacto | 32 | 2ed6657de927568b95e12665a8aea6a2 |
| Chaves · GUID | 38 | {2ed6657d-e927-568b-95e1-2665a8aea6a2} |
| URN | 45 | urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2 |
RFC 9562: UUIDs, estruturas, namespaces e exemplosuuid.js 14.0.2: APIs de geração UUID e tratamento de estado
Nil, Max e o que a validação não comprova
Nil é 00000000-0000-0000-0000-000000000000; Max é ffffffff-ffff-ffff-ffff-ffffffffffff. São valores especiais fixos. Quantidade dois gera a mesma constante duas vezes, não dois IDs novos únicos. Não os confunda com um valor aleatório ou uma versão comum gerada.
Sintaxe UUID válida ou padrão de versão/variante correto não comprova que o valor esteja livre, seja secreto, tenha sido emitido por parte autorizada ou seja seguro como permissão de conta. Valores por nomes são previsíveis com suas entradas; valores temporais revelam tempo. Não há registro de unicidade, ciclo de tokens de login, assinatura digital nem serviço de autenticação UUID.
Limites, capacidades do navegador e erros
Nos modos aleatórios/temporais/Nil/Max, Quantidade deve ser inteiro de 1 a 1000. Modos de nomes limitam linhas separadamente e usam teto total de um milhão de unidades UTF-16. A leitura local rejeita arquivos com 4000000 bytes ou mais e texto acima do teto. File.text() remove BOM UTF-8 inicial e substitui UTF-8 malformado; edição pode afetar quebras de linha. O texto importado não preserva os bytes brutos como fonte de nomes.
Modos aleatórios/temporais precisam de crypto.getRandomValues. randomUUID nativo exige contexto seguro, mas a biblioteca pode usar valores aleatórios criptográficos sem ele; modos de nomes e fixos não precisam de aleatoriedade nem crypto.subtle. Não estenda a condição geral do hash SHA a todo UUID. Disponibilidade do worker, navegador e restrições da plataforma ainda podem impedir geração.
| Sintoma | Próxima verificação |
|---|---|
| Namespace inválido | Use UUID válido de 36 caracteres com hifens no campo personalizado |
| v3/v5 repetido inesperadamente | Confira duplicatas, nomes vazios e mesmo namespace/nome exato |
| Contagem de nomes incorreta | Cada linha é um nome; quebra final adiciona nome vazio |
| Erro de aleatoriedade ou relógio | Confira capacidade exigida ou relógio real do dispositivo |
| Resultado inesperado após importar | Confira BOM removido, substituição UTF-8, separadores e bytes dos nomes |
API Web Cryptography do W3C: valores aleatórios criptográficosuuid.js 14.0.2: APIs de geração UUID e tratamento de estadoAPI File do W3C: leitura de Blob como textoWHATWG Encoding: UTF-8 e decodificação de textoWHATWG HTML: workers e ciclo de vida
Limpar, gerar localmente e requisições do site
Limpar remove nomes/entrada, resultado, erros e histórico e retorna o namespace personalizado a DNS. Versão do UUID, Quantidade, Formato do UUID, maiúsculas, JSON e Quebrar linhas são mantidos. Atualizar ou fechar descarta entradas/resultados em memória. Arquivos baixados permanecem no dispositivo; Limpar não promete apagamento forense da memória do navegador ou sistema.
Geração não envia nomes, conteúdo dos arquivos selecionados ou UUIDs a servidor de geração ou registro de atribuição. Carregar o site ainda envia metadados comuns à hospedagem; o site público usa Google Analytics para visitas com cookies e informações do navegador/dispositivo. Geração local não significa anonimato, zero requisições de rede nem ausência de registros da infraestrutura.
Incorpore Gerar UUID com seu backlink
Escolha o idioma e use a integração abaixo do espaço de trabalho para copiar ou baixar o HTML fornecido. Cole numa plataforma que permita iframe externo e script de ajuste de tamanho. O trecho contém backlink visível para a página UUID do ToolMellow no mesmo idioma; mantenha a atribuição.
Pré-visualize em tela estreita e confira área de transferência e worker para o modo escolhido. A incorporação mantém versões, limites e estado local; não vira API remota de identificadores nem serviço de unicidade compartilhada. O link usa nofollow e noopener, e sua presença não garante posições melhores na busca.
Perguntas frequentes
Como gerar um UUID?
Escolha Versão do UUID e Formato do UUID, defina Quantidade para modos aleatórios/temporais/fixos ou namespace e nomes para v3/v5 e pressione Gerar UUIDs. Copie ou baixe texto ou JSON. O padrão é v4.
Qual é a diferença entre UUID v4 e v7?
v4 usa aleatoriedade criptográfica com bits de versão/variante. v7 inclui milissegundos Unix com contador/campos aleatórios da biblioteca. É orientado ao tempo, sem prometer hora oficial ou ordem entre execuções, abas ou dispositivos.
UUIDs são sempre únicos?
Não há garantia global ou verificação externa de atribuição. Colisões aleatórias são improváveis sob premissas adequadas. Nomes duplicados repetem valores e Nil/Max são fixos. Aplique as regras de unicidade reais da aplicação.
Por que UUID v5 repete o mesmo valor?
Mesma versão, namespace e nome UTF-8 exato reproduzem o UUID. Nomes vazios ou duplicados permanecem linhas separadas e podem repetir valores. A operação não escolhe ID aleatório novo para cada nome repetido.
Quantidade controla lotes UUID v3 ou v5?
Não. Cada linha separada por CRLF, CR ou LF é um nome, incluindo linhas vazias e nome vazio final. Lotes por nomes permitem até 1000 linhas e um milhão de unidades UTF-16.
O que fazem as opções DNS e URL?
Selecionam namespaces predefinidos para bytes literais dos nomes. Não consultam DNS, não buscam URL, não normalizam maiúsculas de domínio e não validam endereço completo. Siga a convenção da aplicação.
UUID v1 revela meu endereço MAC aqui?
Esta implementação usa nós aleatórios em v1/v6, nunca a MAC do dispositivo. Ainda expõe informação temporal. Outras implementações podem usar outras origens; não é garantia de anonimato.
UUIDs v7 têm ordem temporal garantida?
A biblioteca trata tempo/contador dentro do worker de geração. Cada execução usa worker novo, sem garantia distribuída ou entre lotes. Erros ou tratamento de recuos do relógio podem afetar a informação temporal.
Qual é a diferença entre formatos UUID e GUID?
GUID é termo comum relacionado a UUID. A opção de chaves apenas envolve o UUID textual. Padrão, compacto, chaves e URN representam os mesmos bits; não convertem a estrutura binária Windows.
Nil e Max são valores novos únicos?
Não. Nil tem todos os bits zero e Max todos os bits um. São constantes que repetem ao gerar mais de uma. Não são modos aleatórios comuns v0/v15.
Gerar UUID sempre exige HTTPS e hashing Web Crypto?
Não. Modos aleatórios/temporais precisam de valores aleatórios criptográficos; v4 pode usar a biblioteca se randomUUID nativo faltar. v3/v5 usam seu hashing de nomes e Nil/Max são constantes. Nem todos precisam de crypto.subtle ou da mesma capacidade.
UUID pode ser senha ou token secreto automaticamente?
Sintaxe não comprova sigilo, autorização ou ciclo completo de token. Modos nomes/tempo/fixos têm estrutura previsível ou exposta. Projete autenticação e armazenamento para a aplicação, não trate todo UUID como segredo.
O que Limpar redefine?
Apaga entrada, saída, erros e histórico e retorna namespace personalizado a DNS. Mantém versão, Quantidade, formato, maiúsculas, JSON e Quebrar linhas. Arquivos baixados permanecem no dispositivo.
Posso incorporar o gerador UUID ao meu site?
Use o HTML localizado abaixo do espaço de trabalho, mantenha backlink visível para o ToolMellow e confira iframe/script/área de transferência/worker. A incorporação tem os mesmos modos e limites; não é API remota de atribuição ou unicidade.
Fontes e leituras complementares
- RFC 9562: UUIDs, estruturas, namespaces e exemplos
- uuid.js 14.0.2: APIs de geração UUID e tratamento de estado
- API Web Cryptography do W3C: valores aleatórios criptográficos
- WHATWG Encoding: UTF-8 e decodificação de texto
- ECMAScript: isWellFormed de String
- API File do W3C: leitura de Blob como texto
- WHATWG HTML: workers e ciclo de vida