Código

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.

Gerar UUID

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.

Escolha entre v1, v3, v4, v5, v6 e v7
ModoConstrução nesta ferramentaLimite útil
v4Aleatoriedade criptográficaID aleatório, não timestamp ou sistema automático de tokens secretos
v7Tempo Unix com contador/campos aleatórios da bibliotecaOrientado ao tempo; ordem limitada ao relógio e worker
v1Timestamp gregoriano, sequência de relógio e nó aleatórioExpõe tempo; não lê a MAC do dispositivo
v6Timestamp gregoriano reordenado, nó/sequência aleatóriosCampo temporal colocado mais cedo no identificador do que no v1; regras de armazenamento continuam importantes
v5Namespace e nome UTF-8 exato com SHA-1Determinístico, não autenticação com chave
v3Namespace e nome UTF-8 exato com MD5Construção determinística legada, não armazenamento de senhas
NilUUID fixo com todos os bits zeroConstante repetida, não atribuição única nova
MaxUUID fixo com todos os bits umConstante 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.

RFC 9562: UUIDs, estruturas, namespaces e exemplos

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.

Namespaces DNS, URL, OID, X.500 e personalizados
PredefiniçãoUUID do namespace
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-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.

Exemplos conhecidos com namespace DNS
VersãoNome exatoSaída padrão
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562: UUIDs, estruturas, namespaces e exemplos

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.

Saída padrão, compacta, entre chaves, URN e JSON
FormatoCaracteres por valorExemplo
Padrão362ed6657d-e927-568b-95e1-2665a8aea6a2
Compacto322ed6657de927568b95e12665a8aea6a2
Chaves · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn: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.

RFC 9562: UUIDs, estruturas, namespaces e exemplos

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.

Limites, capacidades do navegador e erros
SintomaPróxima verificação
Namespace inválidoUse UUID válido de 36 caracteres com hifens no campo personalizado
v3/v5 repetido inesperadamenteConfira duplicatas, nomes vazios e mesmo namespace/nome exato
Contagem de nomes incorretaCada linha é um nome; quebra final adiciona nome vazio
Erro de aleatoriedade ou relógioConfira capacidade exigida ou relógio real do dispositivo
Resultado inesperado após importarConfira 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

Coloque em prática.