Ir para o conteúdo
ToolsMinify logo
Todos os artigos

UUID vs GUID - são a mesma coisa? Quando usar cada um (2026)

UUID e GUID são o mesmo identificador de 128 bits - GUID é só o nome que a Microsoft usa. Conheça as versões de UUID, quando usar a v4 e como aplicar IDs em bancos de dados, APIs e testes.

Atualizado em 1 de julho de 20266 min de leitura

Use o Gerador de UUID - de graça

Abra a ferramenta e aplique o que você aprendeu neste guia.

Abrir Gerador de UUID

Se você já viu "UUID" e "GUID" na documentação e ficou na dúvida se são duas coisas diferentes, aqui vai a versão curta: são o mesmo identificador de 128 bits. GUID é o nome que a Microsoft usa; UUID é o termo adotado pelo padrão oficial e por praticamente todo o resto. Este guia explica o que eles são, percorre as versões de UUID com foco na v4 aleatória, que é a que você mais vai usar, e mostra exatamente onde elas se encaixam em bancos de dados, APIs e testes.

Resposta rápida

UUID e GUID são a mesma coisa - um identificador único de 128 bits escrito como 32 dígitos hexadecimais no padrão 8-4-4-4-12. "GUID" é a terminologia da Microsoft; "UUID" é o termo usado no padrão RFC. Para a maioria das aplicações, o que você quer é o UUID versão 4 (aleatório).

UUID vs GUID: são a mesma coisa?

Sim. UUID (Universally Unique Identifier) e GUID (Globally Unique Identifier) se referem ao mesmo valor de 128 bits. O nome GUID vem do mundo Microsoft - .NET, SQL Server, COM e o registro do Windows chamam tudo de GUID - enquanto UUID é o nome usado na especificação formal (originalmente a RFC 4122, atualizada pela RFC 9562 em 2024) e em ecossistemas como PostgreSQL, Java, Python e JavaScript.

No dia a dia, você pode tratar as duas palavras como intercambiáveis. Um GUID gerado em C# e um UUID gerado em Python têm formato idêntico e podem conviver na mesma coluna do banco de dados. As únicas diferenças que você pode encontrar são cosméticas: as ferramentas da Microsoft às vezes envolvem o valor em chaves, como {xxxxxxxx-...}, e, historicamente, algumas APIs da Microsoft guardavam partes do valor em outra ordem de bytes. A forma canônica em texto é a mesma em todo lugar.

Como é um UUID/GUID

Um UUID tem 128 bits, normalmente exibidos como 32 dígitos hexadecimais divididos em cinco grupos separados por hífens - o famoso layout 8-4-4-4-12:

Exemplo de UUID (v4)

3f2504e0-4f89-41d3-9a0c-0305e82c3301

Duas posições dessa string não são aleatórias: o primeiro dígito do terceiro grupo codifica a versão (o 4 acima) e o primeiro dígito do quarto grupo codifica a variante (normalmente 8, 9, a ou b). Todo o resto em um UUID v4 é aleatório.

Panorama das versões de UUID

O padrão define várias versões, cada uma gerada de um jeito diferente. Você raramente precisa de mais de uma delas, mas vale saber o que existe:

  • v1 - baseada em tempo: montada a partir do timestamp atual mais o endereço MAC da máquina. Dá para ordenar por data de criação, mas ela pode vazar o endereço MAC e o momento exato em que foi criada.
  • v3 - baseada em nome (MD5): um hash MD5 determinístico de um namespace mais um nome, então a mesma entrada sempre produz o mesmo UUID.
  • v4 - aleatória: 122 bits aleatórios. É o padrão da maioria das aplicações e a versão que o gerador deste site produz.
  • v5 - baseada em nome (SHA-1): igual à v3, mas usa SHA-1; é preferível à v3 quando você precisa de IDs determinísticos.
  • v6 / v7 / v8 - mais recentes (RFC 9562, 2024): a v7 é ordenada por tempo e amigável a bancos de dados, e vem se tornando rapidamente a escolha recomendada para novas chaves primárias.

A versão 4 é o burro de carga. Seus 122 bits de aleatoriedade tornam as colisões acidentais praticamente impossíveis para qualquer volume realista de IDs - você poderia gerar bilhões por segundo durante anos e ainda assim não esperaria uma duplicata. Como ela não precisa de um coordenador central, qualquer serviço, dispositivo ou execução de teste pode criar os próprios IDs offline.

Quando usar UUIDs (e quando não usar)

Os UUIDs brilham sempre que você precisa de um identificador único que possa ser criado em qualquer lugar sem consultar uma autoridade central.

Chaves primárias em bancos de dados

Uma chave primária UUID permite gerar o ID no código da aplicação antes de inserir a linha, mesclar dados de vários bancos sem colisão de chaves e evitar expor uma contagem sequencial e adivinhável dos seus registros. As contrapartidas são o tamanho (16 bytes contra 4-8 de um inteiro) e, no caso da v4 aleatória, a fragmentação de índices em tabelas grandes. Se o desempenho de escrita importa, prefira uma v7 ordenada por tempo e guarde o valor em uma coluna nativa uuid ou binária, em vez de uma string de 36 caracteres.

IDs de recursos e de requisições em APIs

IDs públicos em APIs REST e GraphQL combinam muito bem com UUIDs. Eles não são sequenciais, então o cliente não consegue adivinhar /users/2 a partir de /users/1, e cada cliente ou serviço pode gerar localmente os próprios IDs de requisição e chaves de idempotência, sem uma ida e volta ao servidor.

Testes e fixtures

Em testes automatizados, dados de seed e scripts de carga, os UUIDs entregam identificadores sem colisão e sem que você precise manter contadores. Gere um lote novo a cada execução para que os registros nunca se choquem entre suítes de teste rodando em paralelo.

Dispense os UUIDs quando um simples inteiro autoincremental já resolver - tabelas internas pequenas de consulta, ou qualquer situação em que um ID curto e amigável seja mais útil que a unicidade global. E nunca trate um UUID como segredo: um UUID v4 é impossível de adivinhar, mas é um identificador, não um substituto para um token assinado ou uma chave criptográfica.

UUIDs no MongoDB, no Java e no Python

Toda stack relevante consegue gerar e armazenar UUIDs de forma nativa - aqui vai a referência rápida:

  • MongoDB: o _id padrão é um ObjectId, não um UUID, mas você pode guardar um UUID em _id ou em qualquer campo usando o BSON UUID (Binary subtype 4). Os drivers oferecem helpers como UUID() para que o valor continue com 16 bytes em vez de virar uma string de 36 caracteres.
  • Java: java.util.UUID.randomUUID() devolve um UUID v4 e UUID.fromString() faz o parse de um; Hibernate/JPA mapeiam o valor para uma coluna nativa uuid ou binary(16).
  • Python: o módulo uuid embutido oferece uuid.uuid4() para IDs aleatórios (além de uuid1 e uuid5); chame str() para a forma em texto ou .bytes para o valor de 16 bytes.
  • .NET / C#: Guid.NewGuid() cria um e a coluna uniqueidentifier do SQL Server armazena o valor - este é o clássico "GUID".
  • JavaScript: crypto.randomUUID() gera um UUID v4 em conformidade com o padrão nos navegadores modernos e no Node.js, sem precisar de biblioteca.

Perguntas frequentes

Um GUID é a mesma coisa que um UUID?

Sim. Os dois descrevem o mesmo identificador de 128 bits. GUID é o nome que a Microsoft usa no .NET, no SQL Server e no Windows; UUID é o termo do padrão RFC oficial e da maioria dos outros ecossistemas. O formato é idêntico, então um GUID e um UUID podem ser armazenados e comparados de forma intercambiável.

Qual versão de UUID eu devo usar?

Use a versão 4 (aleatória) para IDs únicos de uso geral - é a mais comum e não exige nenhuma coordenação. Se você está escolhendo chaves primárias para um banco grande e com muita escrita, considere a versão 7, que é ordenada por tempo e indexa com mais eficiência. Use a v5 quando precisar que a mesma entrada produza sempre o mesmo ID.

Dois UUIDs podem colidir algum dia?

Na teoria sim, na prática não. Um UUID v4 tem 122 bits aleatórios, então a chance de gerar uma duplicata é astronomicamente pequena - você precisaria criar bilhões de UUIDs por segundo durante muitos anos para que uma colisão se tornasse provável. Para todos os efeitos práticos, eles são únicos.

UUIDs são seguros ou secretos?

Um UUID v4 aleatório é praticamente impossível de adivinhar, mas ele é um identificador, não uma credencial. Não use um UUID como senha, segredo de sessão ou única proteção de um recurso. Combine-o com autenticação adequada e tokens assinados sempre que a segurança importar.

Por que meu GUID tem chaves?

As ferramentas da Microsoft costumam exibir ou armazenar GUIDs envolvidos em chaves, como {3F2504E0-4F89-41D3-9A0C-0305E82C3301}, e às vezes em maiúsculas. As chaves e as maiúsculas são só formatação - remova as chaves e passe o valor para minúsculas para chegar à forma canônica de UUID usada em todo o resto.

Gere um UUID v4 na hora

Use o Gerador de UUID gratuito para criar um ou muitos valores UUID v4 (GUID) em conformidade com o padrão direto no navegador - sem cadastro, e nada sai do seu dispositivo.

Use o Gerador de UUID - de graça

Abra a ferramenta e aplique o que você aprendeu neste guia.

Abrir Gerador de UUID

Artigos relacionados