Criado com IA avançada no seu dispositivo e aceleração de hardware para um desempenho profissional com privacidade total.IA no seu dispositivo — profissional e privado.
Ferramenta online de gerador UUID
UUID v4, v7 e mais seis, gerados no seu dispositivo.
- Funciona no seu dispositivo
- Oito tipos, de v1 a v7 mais Nil e Max
- Decodifica a hora dentro de v1, v6 e v7
- 100 grátis por clique, milhões com Pro
Gerados (0)
Ainda não gerou nada.
Puramente aleatória. A escolha segura quando não tem qualquer outro requisito.
Até 100 por clique no seu plano.
Os lotes maiores fazem parte do Pro. Tudo o resto nesta página é gratuito.
As chaves são a forma como o SQL Server escreve um GUID. A forma URN é a sintaxe URI do RFC.
Desative para a forma compacta de 32 caracteres que muitos bancos de dados guardam.
Envolvem cada linha. Útil para colar diretamente em SQL ou em código.
O CSV acrescenta um cabeçalho e, quando a versão a tem, uma coluna de nome ou de hora de criação.
Como gerar um UUID
- 1
Escolha a versão do UUID
A versão 4 é aleatória e a opção segura por padrão. A versão 7 é ordenada no tempo e é melhor para uma chave de banco de dados. As versões 3 e 5 transformam um nome num identificador que nunca muda. As versões 1 e 6 incorporam uma data, e Nil e Max são os dois valores especiais fixos.
- 2
Defina quantos precisa
Digite um número ou use uma predefinição. Cem por clique são gratuitos; lotes maiores, até um milhão de cada vez, são o campo do Pro. Nas versões 3 e 5 a quantidade vem da lista de nomes que colar.
- 3
Escolha o aspeto
Alterne entre minúsculas e maiúsculas, retire os hífenes para a forma compacta, envolva os valores em chaves ou no prefixo urn:uuid:, e acrescente um prefixo ou sufixo se for colar diretamente em código.
- 4
Gere
Pressione o botão de gerar. Cada valor é produzido no seu dispositivo a partir da respetiva fonte criptográfica de aleatoriedade, sem enviar nada para um servidor.
- 5
Copie ou exporte
Copie um valor com o botão ao lado, copie o lote inteiro de uma vez, ou transfira a lista como texto simples, JSON, CSV ou Base64.
- 6
Verifique identificadores que já tem
Mude para o modo Verificar e cole uma lista, ou solte um arquivo de texto, CSV, JSON ou de registro. Cada valor é apresentado com a sua versão, variante, hora de criação incorporada e nó, e os duplicados são contados.
As versões de UUID e para que serve cada uma
O RFC 9562 substituiu o RFC 4122 em maio de 2024 e acrescentou três versões novas e dois valores especiais. Esta página gera todas as que um navegador pode produzir honestamente. Cada entrada diz o que o valor contém e a situação de que é a resposta certa.
- Versão 4 — aleatória — 122 bits de aleatoriedade e mais nada. Imprevisível, não transporta informação sobre quando ou onde foi criada, e é a opção certa por padrão sempre que não tiver qualquer requisito para além da unicidade.
- Versão 7 — ordenada no tempo — Uma data de 48 bits em milissegundos seguida de aleatoriedade. Ordena-se por data de criação como simples string, o que a torna a recomendação moderna para chaves primárias. Nova no RFC 9562.
- Versão 1 — baseada no tempo — Uma data de 60 bits contada em intervalos de 100 nanossegundos desde 1582, mais uma sequência de relógio e um nó. Muito suportada e muito implantada, mas a ordem dos seus campos faz com que as strings não se ordenem no tempo.
- Versão 6 — baseada no tempo, reordenada — Os mesmos três campos da versão 1, guardados começando pelo mais significativo para que as strings se ordenem. Pensada como substituta direta da versão 1 em sistemas que não podem passar para a versão 7.
- Versão 3 — espaço de nomes com MD5 — Uma dispersão de um espaço de nomes e de um nome. Determinística: as mesmas entradas dão sempre o mesmo identificador. Mantida por compatibilidade com sistemas que já a usam.
- Versão 5 — espaço de nomes com SHA-1 — A mesma ideia da versão 3 com outra função de dispersão, e a que se deve escolher para novos identificadores determinísticos.
- Nil — Trinta e dois zeros. Um valor especial definido, não uma versão, e por convenção significa a ausência de identificador.
- Max — Trinta e dois caracteres f. O outro valor especial definido, e o maior que um UUID pode ser: útil como limite superior de um intervalo.
A versão 2 está definida mas não é gerada aqui, e isso é deliberado e não um esquecimento. Reserva os 32 bits baixos da data para um identificador de usuário ou grupo POSIX, que uma página web não pode conhecer, por isso todos os geradores de versão 2 online produzem algo estruturalmente correto e semanticamente vazio. A versão 8 está reservada para disposições experimentais e próprias de cada fabricante, e não tem um significado fixo contra o qual gerar.
Escolher uma versão para uma chave de banco de dados
É esta a decisão com que as pessoas realmente chegam, e tem uma resposta clara que mudou nos últimos dois anos.
- Use a versão 7 — para qualquer chave primária nova. Os seus valores crescem no tempo, por isso cada inserção cai no fim do índice e não num ponto aleatório do meio.
- O problema das chaves da versão 4 — não é a unicidade, é a localidade de escrita. Chaves aleatórias espalham as inserções por toda a árvore B, por isso as páginas escritas ficam repartidas pelo índice e as de que precisa têm menos probabilidade de estar em memória. Numa tabela grande e movimentada isso traduz-se em inserções mais lentas e num índice maior.
- Não use a versão 1 para isto — mesmo sendo baseada no tempo. O seu campo de data menos significativo vem primeiro, por isso as strings não se ordenam por criação e, para o índice, comporta-se como uma chave aleatória.
- Armazene-as de forma compacta se puder — Um UUID tem 16 bytes; escrito com hífenes tem 36. Os bancos de dados que oferecem uma coluna UUID nativa ou binary(16) usam um quarto do espaço de um char(36) e comparam mais depressa.
- Seja coerente com a caixa e os hífenes — Dois serviços que guardem o mesmo identificador em formas diferentes não coincidem numa comparação de strings. Escolha uma representação na fronteira e normalize à entrada.
O que faz cada controle
Todas as configurações desta página são gratuitas, e só o tamanho do lote tem uma fronteira de plano. Os controles dividem-se em dois grupos que se comportam de forma diferente: mudar uma definição de geração produz identificadores novos, enquanto mudar uma definição de formato apenas altera a forma como os já apresentados são escritos.
Versão
Escolhe que tipo de identificador é produzido. É uma definição de geração, por isso mudá-la substitui os valores na tela em vez de os reformatar. A dica sob o seletor muda com a sua escolha e diz numa linha para que serve essa versão.
Quantos
Digite um número ou clique em uma predefinição. A caixa não aceita um valor acima do limite do seu plano, por isso nunca pode pedir um lote que a ferramenta depois recuse — um controle que oferece um valor impossível é pior do que um que não o oferece. Nas versões 3 e 5 esta caixa é substituída pela lista de nomes, porque aí a quantidade é o número de nomes que fornecer.
Caixa, hífenes, chaves e URN
Puramente de apresentação, e aplicado sem regenerar nada. A forma compacta retira os quatro hífenes e é o que muitos bancos de dados guardam internamente. As chaves são a forma como o SQL Server e as APIs antigas do Windows escrevem um GUID. O prefixo urn:uuid: é a forma que o RFC 9562 define para uso como URI. As quatro opções combinam-se.
Prefixo e sufixo
Envolve cada linha com texto seu, que é a diferença entre uma lista que se copia e uma lista que se cola. Pôr INSERT INTO usuários (id) VALUES (' como prefixo e '); como sufixo transforma um lote em SQL executável. Os acréscimos entram em todos os formatos de exportação, e o CSV coloca-os corretamente entre aspas se contiverem uma vírgula.
Formato de exportação
Texto simples dá um valor por linha. Separado por vírgulas encaixa numa cláusula IN. JSON é um array pronto a usar. CSV traz uma linha de cabeçalho e, quando a versão a tem, uma coluna de nome ou de hora de criação ao lado de cada valor. Base64 codifica a lista inteira, para os lugares que querem um bloco opaco.
Ler um UUID que já tem
Mude para o modo Verificar e cole o que quiser: uma coluna de uma exportação de banco de dados, um arquivo de registro, um corpo JSON, um único valor de um relatório de erro. Cada token com forma de UUID é encontrado e descrito, em qualquer mistura de formatos e caixas, e também pode soltar um arquivo.
- Versão e variante — Ambas, e não são a mesma pergunta. A variante decide se o dígito de versão significa alguma coisa.
- Hora de criação — Nas versões 1, 6 e 7 a data incorporada é convertida numa data legível. Costuma ser a forma mais rápida de saber quando um registro foi criado se ninguém guardou um created_at.
- Sequência de relógio e nó — Nas versões 1 e 6, juntamente com a indicação de se o nó é um valor aleatório ou um endereço de rede real: o bit de multidifusão di-lo, e um valor com endereço real foi criado por algo com acesso a uma placa de rede.
- Formato — Com hífenes, compacto, entre chaves ou com prefixo urn:uuid:, indicado valor a valor, para que uma lista que mistura representações seja fácil de detectar.
- Duplicados — Contados em toda a lista. É a única estatística que vale a pena numa lista colada e a que nada significa numa saída acabada de gerar.
Por que alguns valores são não normalizados em vez de inválidos
O primeiro dígito do quarto grupo transporta os bits de variante. Só o padrão 10xx marca um identificador do RFC 9562; 110x é um GUID COM da Microsoft, 0xxx é um valor NCS herdado e 111x está reservado. Se a variante não for a do RFC, o dígito de versão é um dado vulgar e apresentá-lo como versão inventa informação que não existe. Um valor como 00000000-0000-9000-0000-000000000000 tem trinta e dois dígitos hexadecimais válidos e nenhuma versão: os verificadores que anunciam uma versão 9 estão lendo um dígito e a chamar-lhe fato.
Identificadores por espaço de nomes com as versões 3 e 5
Estas duas são as exceções: não são aleatórias e não têm que ver com o tempo. Transformam um espaço de nomes e um nome num identificador por dispersão, e o mesmo par produz sempre o mesmo resultado.
- Escolha um espaço de nomes — O RFC 9562 define quatro pelo nome: DNS para nomes de host, URL para endereços, OID para identificadores de objeto e X500 para nomes de diretório. Qualquer UUID pode servir de espaço de nomes, por isso um projeto pode definir o seu e obter um espaço de identificadores privado.
- Cole os nomes — Um por linha. Cada um produz um identificador, e a quantidade vem da lista e não da caixa do lote.
- A reprodutibilidade é o objetivo — Voltar a correr a mesma lista no próximo ano noutra máquina dá os mesmos identificadores, e é isso que os torna úteis para reconciliar registros entre sistemas que não compartilham banco de dados.
- Não é uma função de segurança — MD5 e SHA-1 estão ambos quebrados como funções de dispersão criptográficas. O RFC 9562 mantém-nos aqui porque a saída é um identificador e não um autenticador, e di-lo explicitamente. Nunca trate um valor da versão 3 ou 5 como impossível de adivinhar.
Quão improvável é realmente uma colisão
O número é suficientemente grande para que a intuição não ajude muito, por isso aqui fica em concreto.
- Um UUID tem 128 bits. A versão 4 fixa seis deles para a versão e a variante, deixando 122 bits de aleatoriedade: cerca de 5,3 sextiliões de valores possíveis.
- Para chegar a uma probabilidade de um em mil milhões de uma única colisão precisaria da ordem de cem mil milhões de identificadores. A um milhão por segundo são cerca de três anos de geração contínua.
- A falha realista nunca é a matemática, é uma fonte de aleatoriedade fraca. Esta página usa o gerador criptográfico do navegador, a mesma fonte usada para chaves de sessão, e nunca uma simples função pseudoaleatória.
- A versão 7 sacrifica alguma aleatoriedade a favor da ordem: 74 bits aleatórios por valor em vez de 122. Continua muito para lá de qualquer risco prático de colisão, e a troca é precisamente o sentido da versão.
- As versões 3 e 5 são determinísticas, por isso entradas idênticas devem colidir. Isso é a funcionalidade, não um defeito.
O que um UUID não é
A maior parte dos problemas que as pessoas têm com UUIDs vem de esperar que uma destas quatro coisas seja verdade.
- Não é um segredo — Os identificadores acabam em URLs, registros, relatórios de erro e análises. As versões 1, 6 e 7 declaram ainda quando foram criadas. Autorize cada pedido; possuir um id nunca deve ser a verificação.
- Não é ordenável, a menos que tenha escolhido uma versão que o seja — As versões 4, 3 e 5 não têm ordem nenhuma, e a versão 1 apenas aparenta ter. Se precisa da ordem de criação a partir da própria chave, isso significa versão 7 ou versão 6.
- Não é gratuito como chave — Dezasseis bytes contra quatro de um inteiro, e trinta e seis se for armazenado como string. Numa tabela com vários índices essa diferença é real, e é a razão para os guardar numa coluna nativa ou binária.
- Não substitui uma chave natural — Um UUID diz que dois registros são diferentes. Nunca diz que dois registros são a mesma coisa, que é o que faz uma verdadeira chave de negócio.
Geração em lote e onde fica a fronteira do plano
O tamanho do lote é a única definição desta página com um plano associado. Todas as versões, todas as opções de formato e todos os formatos de exportação funcionam igual nos dois planos.
O que o plano gratuito inclui
Os oito tipos de identificador, toda a formatação, os cinco formatos de exportação, o verificador completo com relatório CSV, e cem identificadores por clique. Chega para dados de teste, uma fixture, um punhado de chaves, ou para ver o que está dentro de um id que alguém lhe enviou.
O que o Pro acrescenta
Lotes maiores — mil, dez mil, cem mil ou um milhão de cada vez — e até vinte e cinco arquivos de lista ao mesmo tempo do lado da verificação. Um milhão de identificadores é o ponto em que o limite passa a ser o navegador e não o plano, e a partir daí é avisado em vez de recusado.
Medido em Chromium num computador de secretária: cem mil identificadores da versão 4 são produzidos em cerca de 20 milissegundos, cem mil valores colados são analisados em menos de um décimo de segundo, e exportar cem mil como CSV demora cerca de 4 milissegundos. Apenas os primeiros duzentos valores são desenhados na tela, e é por isso que um lote de um milhão continua aparecendo instantaneamente.
Por que isto roda no seu dispositivo
Um gerador de identificadores que chama um servidor exige confiar duas vezes: em que produz bons valores e em que não os guarda. Este elimina a segunda pergunta porque não envia nada.
- Nada é enviado — Nem os identificadores, nem os nomes que cola para as versões 3 e 5, nem a lista que larga para verificar. Abra o painel de rede do seu navegador enquanto usa a página e não há nada para ver.
- Funciona offline — Depois de a página carregar, gerar e verificar continuam funcionando sem nenhuma conexão — útil numa rede restrita ou num avião.
- A fonte de aleatoriedade é a do próprio navegador — O mesmo gerador criptográfico que o navegador usa para as suas chaves, obtido em blocos e formatado depois, que é o que torna rápido um lote grande sem o enfraquecer.
Limitações e compatibilidade
As versões 2 e 8 não são geradas, pelas razões dadas acima. As versões 3 e 5 dependem de MD5 e SHA-1, quebrados criptograficamente e usados aqui apenas pelo seu determinismo. O verificador lê quaisquer 32 dígitos hexadecimais em qualquer invólucro habitual, mas não lhe pode dizer se um identificador foi mesmo emitido pelo seu sistema: apenas o que contém. Tudo nesta página funciona nas versões atuais do Chrome, Edge, Firefox e Safari, em computador e em celular.
Perguntas frequentes
Como funciona o gerador de UUID?
Escolha uma versão, indique quantos quer e pressione gerar. Os valores são produzidos no seu dispositivo a partir da respetiva fonte criptográfica de aleatoriedade, sem qualquer ida ao servidor, e apenas os primeiros duzentos são desenhados na tela, por isso um lote de um milhão continua instantâneo. Copie um valor com o botão ao lado, copie o lote inteiro, ou transfira-o como texto, JSON, CSV ou Base64.
Que versão de UUID devo usar?
A versão 4 se apenas precisa de um identificador e não tem outro requisito. A versão 7 se o identificador for ser uma chave primária de banco de dados, porque os seus valores ordenam-se pela data de criação e por isso são acrescentados ao fim do índice em vez de se espalharem por ele. As versões 3 e 5 quando a mesma entrada tiver de produzir sempre o mesmo identificador, por exemplo para derivar um id estável de um URL. A versão 1 ou 6 quando precisar mesmo de recuperar a hora de criação a partir do próprio valor.
O que é o UUID v7 e por que é importante?
A versão 7 foi normalizada no RFC 9562 em 2024. Coloca no início do valor uma data Unix de 48 bits em milissegundos, por isso ordenar as strings as ordena por data de criação. É essa a propriedade que os índices de bancos de dados querem: as chaves da versão 4 chegam a posições aleatórias de uma árvore B e fragmentam-na, enquanto as da versão 7 são acrescentadas ao fim. É hoje a escolha recomendada para novas chaves primárias, e esta página gera-a com um contador no campo submilissegundo, para que um lote criado dentro do mesmo milissegundo continue estritamente ordenado.
Qual é a diferença entre UUID v1 e v6?
Transportam exatamente a mesma informação e diferem apenas na ordem dos campos da data. A versão 1 coloca primeiro a parte menos significativa, por isso as strings não se ordenam no tempo — a ordem quebra-se aproximadamente a cada 429 segundos, quando esse campo dá a volta. A versão 6 guarda os mesmos três campos começando pelo mais significativo, e por isso ordenam-se corretamente. Se quiser um identificador baseado no tempo num sistema novo, use a versão 6 em vez da 1, ou melhor ainda a versão 7.
O que são os UUID v3 e v5, e quando os usaria?
Ambos derivam um identificador de um espaço de nomes e de um nome aplicando uma função de dispersão — a versão 3 com MD5, a versão 5 com SHA-1. O mesmo espaço de nomes e o mesmo nome dão sempre o mesmo identificador, em qualquer máquina, para sempre. Isso torna-os a escolha certa quando um id tem de ser reproduzível em vez de aleatório: um id estável para um URL, um caminho de arquivo, um nome DNS, ou um registro que possa ter de voltar a derivar depois de uma migração. Prefira a versão 5 à 3 em trabalho novo. Nenhuma delas é uma função de segurança; a dispersão é usada pelo seu determinismo, não pela sua solidez.
Quão únicos são os UUIDs, e podem colidir?
Um UUID é um valor de 128 bits e a versão 4 fornece 122 bits de aleatoriedade. Para chegar sequer a uma probabilidade de colisão de um em mil milhões teria de gerar na ordem de cem mil milhões deles. É por isso que os sistemas distribuídos podem deixar cada serviço cunhar os seus próprios identificadores sem consultar um atribuidor central. Esta página verifica a sua própria saída: cada lote produzido é confirmado como único antes de o ver, e o modo Verificar conta os duplicados de qualquer lista que cole.
O que me diz o verificador sobre um UUID que já tenho?
Indica a versão, a variante e o formato em que estava escrito — com hífenes, compacto, entre chaves ou com o prefixo urn:uuid:. Nas versões 1, 6 e 7 converte também a data de criação incorporada numa data legível, e nas versões 1 e 6 mostra a sequência de relógio e o nó, incluindo se o nó é um valor aleatório ou um endereço de rede real. Aceita qualquer mistura de formatos e de maiúsculas numa única colagem, e pode baixar o relatório completo em CSV.
Por que é que o verificador chama a alguns valores não normalizados em vez de inválidos?
Um valor pode ter trinta e dois dígitos hexadecimais válidos e ainda assim não ser um identificador do RFC. Os dois bits no início do quarto grupo são a variante, e apenas o padrão 10xx significa que o valor segue o RFC 9562 — 110x é um GUID COM da Microsoft e 0xxx é um valor NCS antigo. Nesses casos o dígito de versão é apenas um dado, e lê-lo como versão é errado. Muitos verificadores online fazem exatamente isso e anunciam alegremente uma versão 9 inventada. Este nomeia a variante e recusa-se a inventar uma versão que não existe.
O que são os UUID Nil e Max?
O UUID Nil são trinta e dois zeros e o UUID Max são trinta e dois caracteres f. O RFC 9562 define ambos como valores especiais que ficam inteiramente fora do esquema de versões, e é por isso que o verificador os nomeia em vez de anunciar uma versão 0 e uma versão f. Nil é habitualmente um marcador que significa «sem identificador»; Max é o maior valor possível e é útil como limite superior numa consulta por intervalo.
Que formato usa um UUID, e as maiúsculas importam?
A forma canônica são trinta e dois dígitos hexadecimais num padrão 8-4-4-4-12 separados por hífenes, por exemplo 550e8400-e29b-41d4-a716-446655440000. As comparações devem ignorar as maiúsculas, por isso minúsculas e maiúsculas são equivalentes — mas dois sistemas que guardem o mesmo identificador em caixas diferentes não vão coincidir numa comparação simples de strings, um erro comum e evitável. Esta página permite mudar a caixa, retirar os hífenes, envolver o valor em chaves como faz o SQL Server, ou acrescentar o prefixo urn:uuid:.
Posso gerar UUIDs em lote e exportá-los?
Sim. Cem por clique são gratuitos, e o Pro eleva isso a um milhão de cada vez. Exporte um valor por linha, separados por vírgulas, como array JSON, como arquivo CSV, ou em Base64. O CSV inclui uma coluna de nome para as versões 3 e 5 e uma coluna de hora de criação para as versões baseadas no tempo, por isso carrega diretamente para uma tabela sem precisar de uma segunda passagem.
Estes UUIDs servem como segredos ou como tokens de segurança?
Não, e vale a pena dizê-lo sem rodeios. Os valores da versão 4 são imprevisíveis, mas as versões 1, 6 e 7 revelam a sua hora de criação por construção e as versões 3 e 5 são uma dispersão de uma entrada que alguém pode adivinhar. Até um identificador da versão 4 aparece em registros, URLs e relatórios de erro. Use um UUID como nome de uma coisa e aplique a autorização em separado — conhecer um identificador nunca deve ser o que dá acesso a ele.
O gerador de UUID é privado, gratuito e funciona offline?
Sim. Nada do que gerar, colar ou soltar aqui é enviado para lugar nenhum — a ferramenta inteira funciona no seu dispositivo, o que pode confirmar observando o painel de rede enquanto a usa. Todas as versões, todas as opções de formato e o verificador completo são gratuitos; só os lotes grandes são pagos. Funciona em celular e em computador, e depois de a página carregar continua funcionando sem nenhuma conexão à internet.
de 634 avaliações
Avalie esta ferramenta
Toque numa estrela — leva um segundo