Ferramentas de desenvolvimento

Gerador de UUID

Gere as oito versões de UUID lado a lado. Use as configurações para IDs MAC ou de nó, identificadores locais DCE, nomes de namespace e cargas UUIDv8 personalizadas.

8 versões RFC local no navegador Ler a RFC 9562

Gerador

Gerar UUIDs

UUIDs recriados ao atualizar a página ou clicar no botão

Configurações da versão

Os navegadores não podem ler seu endereço MAC. Informe um para reproduzir um campo de nó ou deixe em branco para um ID aleatório e seguro.

Um UID, GID ou outro identificador de 32 bits significativo no domínio DCE selecionado.

UUIDv2 é um formato de compatibilidade DCE Security e é incomum em aplicações novas.

O nome é codificado em UTF-8 antes do hash. O mesmo namespace mais o mesmo nome produzem o mesmo UUID.

UUIDv8 padroniza apenas seus bits de versão e variante. Este valor é uma carga experimental específica da aplicação, não um esquema de unicidade garantida.

Geração, hash e configurações permanecem nesta aba do navegador. Nada que você informe é enviado ao servidor ou salvo.

Resultados

Pronto para gerar.

v1

Baseado em tempo

Tempo gregoriano + sequência de relógio + nó

Clique para gerar
timestamp MAC / nó legado

Útil para interoperabilidade legada. Um MAC real pode identificar o host, por isso esta página usa um nó local aleatório, a menos que você forneça um.

v2

DCE Security

ID local + domínio DCE + tempo + nó

Clique para gerar
timestamp ID local MAC / nó legado

A RFC 9562 relaciona UUIDv2 às especificações DCE. Este gerador fornece o layout comum de UID / GID / organização para compatibilidade.

v3

Baseado em nome · MD5

UUID de namespace + nome com hash MD5

Clique para gerar
baseado em nome determinístico MD5

Determinístico e interoperável com sistemas antigos. Prefira v5 para novos projetos baseados em nome, salvo quando a compatibilidade com v3 for necessária.

v4

Aleatório

122 bits criptograficamente aleatórios

Clique para gerar
aleatório sem MAC uso geral

O padrão conhecido em muitas plataformas. Não contém timestamp, endereço MAC, nome ou sinal de ordenação.

v5

Baseado em nome · SHA-1

UUID de namespace + nome com hash SHA-1

Clique para gerar
baseado em nome determinístico SHA-1

Use quando um nome estável deve apontar para o mesmo UUID em vários sistemas. O hash é para namespace, não para segurança de senhas.

v6

Baseado em tempo reordenado

Campos v1 com bytes do timestamp movidos para o início

Clique para gerar
ordenado por tempo MAC / nó amigável para ordenação

Projetado para melhorar a localidade em cargas no estilo v1. Escolha v7 para um sistema novo que não precise de compatibilidade com v1.

v7

Ordenado pelo tempo Unix

Milissegundos da época Unix + bits aleatórios

Clique para gerar
ordenado por tempo aleatório amigável para ordenação

A opção moderna ordenada por tempo: os bytes do timestamp são ordenados primeiro e os bits restantes fornecem unicidade sem um endereço MAC.

v8

Personalizado / experimental

122 bits definidos pela aplicação

Clique para gerar
carga personalizada experimental aleatório

Apenas a versão e a variante são padronizadas. Defina o layout e as regras de colisão antes de usar v8 em um formato de intercâmbio.

Guia de compatibilidade

O que sua linguagem costuma gerar

APIs integradas e funções de banco de dados geralmente cobrem apenas as versões mais usadas em seu ecossistema. Verifique sempre a versão e o contrato de ordem de bytes na fronteira.

.NET / ASP.NET

v4v7 · .NET 9+

Guid.NewGuid() produz v4. O .NET moderno também oferece Guid.CreateVersion7() para v7; as outras versões normalmente exigem uma biblioteca ou código da aplicação.

Java SE

v3v4

UUID.randomUUID() produz v4 e UUID.nameUUIDFromBytes() produz v3. As outras versões geralmente precisam de uma biblioteca ou código da aplicação.

Python

v1 · v3 · v4 · v5v6 · v7 · v8 · Python 3.14+

O módulo uuid padrão cobre v1, v3, v4 e v5; o Python 3.14 adiciona v6, v7 e v8.

Node.js / JavaScript

core · v4uuid · v1/v3/v4/v5/v6/v7

crypto.randomUUID() do Node é v4 e versões recentes também expõem v7. O pacote uuid popular fornece v1, v3, v4, v5, v6 e v7.

O que os bancos geram nativamente

O que os bancos geram nativamente

O suporte nativo varia conforme o mecanismo e a versão. Um auxiliar de UUID sequencial ou binário não é automaticamente UUIDv6 ou UUIDv7.

v4 · v7 · PostgreSQL 18+

Geração nativa de v4 e v7: gen_random_uuid() para v4 e uuidv7() para v7 ordenado por tempo.

v1 · binary(16)

UUID() retorna v1. UUID_TO_BIN(..., 1) pode reordenar campos de tempo de v1 para armazenamento, mas não produz UUIDv6 ou UUIDv7.

v4 · GUID sequencial

NEWID() produz um GUID aleatório compatível com RFC. NEWSEQUENTIALID() é sequencial para localidade de índice, mas não é UUIDv6 nem UUIDv7.

v4 · Oracle 23ai+

UUID() produz v4 no Oracle Database 23ai e mais recente. SYS_GUID() continua sendo um gerador RAW de 16 bytes, não uma versão RFC de UUID.

sem UUID nativo · randomblob(16)

O SQLite não tem tipo UUID nem gerador versionado. randomblob(16) e hex() podem formar texto aleatório de 128 bits, mas a aplicação deve definir os bits de UUIDv4.

v4 · mongosh UUID() · ObjectId ≠ UUID

UUID() no mongosh gera UUID BSON v4 aleatório. O ObjectId padrão é um identificador separado de 12 bytes, não um UUID.

Ordenação

v6 e v7 colocam o tempo primeiro, então a ordenação por bytes ou texto acompanha a criação. São úteis para localidade de banco; a ordem legada de v1 não é naturalmente lexicográfica.

Privacidade do MAC / nó

v1, v2 e v6 têm um campo de nó. Ele pode ser um endereço MAC ou valor aleatório. Esta página nunca descobre o MAC do navegador e usa um nó multicast aleatório quando o campo está vazio.

UUIDv8 não é um hash mágico

v8 reserva 122 bits para seu formato; não promete unicidade global. Documente a carga, o versionamento e a estratégia de colisão junto da aplicação.