Comprimir arquivos GLB online

Reduza modelos 3D para a web — texturas, geometria e tudo mais — e compare o antes e o depois sem enviar nada.

🔒 Fica no seu dispositivo🖼️ Texturas em WebP🔍 Prévia antes / depois

.glb · .gltf · até 200 MB · comprimido neste dispositivo, nunca enviado

🔒

Nada é enviado

O modelo é lido, comprimido e gravado dentro desta aba do navegador, em um worker em segundo plano. Produtos ainda não lançados e trabalhos de clientes nunca saem do seu dispositivo.

🔍

Veja o resultado antes de baixar

Alterne entre "Antes" e "Depois" com a mesma câmera, com o aramado ativado se quiser, e confira cada textura em uma tabela de antes e depois.

🧩

Predefinições que levam a compatibilidade em conta

A Web gera o menor arquivo para navegadores. A Compatível não adiciona extensões glTF, então o resultado abre em qualquer lugar onde o original abria.

♾️

Grátis e sem limite semanal

Sem conta, sem créditos e sem marca d'água. Arquivos de até 200 MB no computador e de até 50 MB no celular.

O que acontece quando você comprime um arquivo GLB?

Comprimir um GLB significa recodificar as texturas e a geometria para que o mesmo modelo ocupe menos bytes. A maior parte da economia vem das texturas: nos oito modelos de exemplo da Khronos que medimos, as imagens eram a maior parte de todos os arquivos que tinham alguma textura. Este compressor GLB reduz essas imagens, limpa a geometria e grava um novo .glb, tudo no seu navegador.

Um GLB menor carrega mais rápido em uma página de produto, cabe nos limites de upload de plataformas e marketplaces 3D e usa menos memória nos celulares. Para isso, nada na forma, nos materiais ou nas animações do modelo precisa mudar.

Para onde vão os bytes de um GLB

Um GLB guarda três tipos de dados: texturas (as imagens que envolvem o modelo), geometria (posições dos vértices, normais e listas de triângulos) e animação. As texturas ficam armazenadas como arquivos de imagem completos dentro do GLB, muitas vezes PNGs de 2048 × 2048, e é por isso que um modelo com só algumas centenas de triângulos ainda pode pesar 8 MB. Abra seu arquivo no visualizador GLB para ver a divisão dele antes de comprimi-lo.

Limpeza sem perdas x compressão com perdas

Algumas etapas não mudam nada que dê para ver: remover dados duplicados, descartar materiais e texturas que ninguém usa e mesclar vértices exatamente iguais. As maiores economias vêm de etapas com perdas: texturas menores, texturas recodificadas como WebP ou JPEG e posições de vértices armazenadas com menos bits. Com perdas não quer dizer visivelmente pior, mas é a parte que vale conferir, e é para isso que serve o seletor "Antes / Depois".

OriginalAvocado.glb · 7.73 MBComprimido0.09 MB−98.8%Removido: texturas WebP menores e geometria compactadaTexturasGeometria
Avocado antes e depois da predefinição Web: a faixa verde-azulada corresponde aos 98,8% que a compressão eliminou.

Como comprimir um arquivo GLB em 3 passos

1

Solte seu .glb ou .gltf

Clique em "Escolher arquivo 3D" ou solte um .glb na área de visualização. Para um .gltf, selecione-o junto com o .bin e os arquivos de textura, ou solte a pasta inteira; o resultado é sempre um único .glb. O painel lista cada textura com seu tamanho, formato e bytes.

2

Escolha Web, Compatível ou Personalizada

A Web gera o menor arquivo para navegadores, a Compatível mantém o arquivo livre de extensões novas e a Personalizada permite escolher o tamanho, o formato e a qualidade das texturas. A tabela de texturas mostra no que cada textura vai se transformar antes de você clicar em qualquer coisa.

3

Compare e baixe

Clique em "Comprimir GLB". Quando terminar, a área de visualização passa para "Depois" com a câmera onde você a deixou; pressione B ou use o seletor "Antes / Depois" para comparar e, por fim, clique em "Baixar .glb comprimido".

.glbEscolher arquivo 3D
1

Escolha um .glb, ou um .gltf com os arquivos dele.

WebCompatívelPersonalizada
2

Escolha a predefinição de acordo com o destino do modelo.

AntesDepoisB
3

Compare "Antes" e "Depois" e baixe o resultado.

Texturas: para onde vai a maior parte dos bytes

Cada textura de um GLB é um arquivo de imagem completo, e a GPU o descompacta em pixels brutos assim que o modelo aparece na tela: uma textura de 2048 × 2048 ocupa cerca de 16 MB de memória de vídeo, sem contar os mipmaps, por menor que fosse o PNG. Por isso, quando você comprime um GLB, as configurações de textura decidem tanto o tamanho do download quanto o peso do modelo na hora de exibi-lo.

Redimensionar texturas: 4096, 2048, 1024 ou 512?

Reduzir pela metade a largura e a altura de uma textura deixa um quarto dos pixels. Em uma página web, onde o modelo costuma ocupar só parte da tela, 1024 px bastam para a maioria dos produtos; vale manter 2048 px em imagens de destaque e closes, e 512 px servem para objetos pequenos de cena. Este compressor GLB só reduz as texturas, nunca as amplia, e mantém as proporções delas. Para redimensionar uma única textura manualmente, use o redimensionador de imagens.

WebP x PNG x JPEG dentro de um GLB

PNG e JPEG fazem parte do próprio glTF, então todo app que abre arquivos GLB consegue lê-los. O WebP costuma gerar os menores arquivos, mas um GLB que o usa declara a extensão EXT_texture_webp, e o app que for abri-lo precisa ser compatível com ela. O JPEG não armazena transparência, então esta ferramenta mantém uma textura como PNG sempre que os pixels dela não são totalmente opacos. Para as vantagens e desvantagens de cada formato em geral, veja PNG para WebP.

Mapas de normais pedem uma compressão mais suave

Um mapa de normais guarda direções da superfície nas cores, e os artefatos em blocos deixados pela compressão com perdas aparecem como erros de iluminação, e não como ruído de cor. As duas predefinições dão aos mapas de normais um piso de qualidade mais alto (0,9). O WebP e o JPEG também armazenam a cor em resolução reduzida, o que custa um pouco de precisão nos mapas de normais e nas texturas que guardam rugosidade, metalicidade e oclusão em canais separados. Se essa precisão importa, escolha Personalizada e mantenha o formato original.

Texturas com transparência

Folhas, decalques e vidro costumam depender de um canal alfa. O WebP o preserva; o JPEG não consegue, então uma textura transparente que iria para JPEG é salva como PNG. Nas nossas medições, Lantern e ToyCar mantiveram, cada um, uma ou duas texturas em PNG por esse motivo.

4096 px64 MB2048 px16 MB1024 px4 MB512 px1 MBMemória de vídeo por textura após a decodificaçãoRGBA, 4 bytes por pixel, sem mipmaps; o arquivo em disco é bem menor, a memória não.
Cada vez que a textura é reduzida à metade, sobram um quarto dos pixels e um quarto da memória de vídeo.
Parte do glTFTransparênciaTamanho típico,textura fotográficaPNGSimSimJPEGSimNãoWebPrequer EXT_texture_webpSim
PNG e JPEG fazem parte do próprio glTF; o WebP precisa de uma extensão, mas costuma gerar o menor arquivo.

Compressão de geometria: meshopt, quantização e Draco

A geometria costuma ser a parte menor de um GLB, mas em malhas densas, escaneamentos e personagens animados ela pode ocupar a maior parte do arquivo. A predefinição Web a comprime com meshopt; as outras predefinições mantêm a codificação como está e só fazem a limpeza.

O que a compressão meshopt faz

O meshopt primeiro reordena vértices e triângulos para que dados vizinhos fiquem juntos, depois armazena posições, normais e coordenadas de textura como inteiros pequenos em vez de floats de 32 bits (a quantização, declarada como KHR_mesh_quantization) e, por fim, compacta o resultado com EXT_meshopt_compression. A decodificação no navegador é muito rápida, e three.js, model-viewer e Babylon.js leem esse formato.

Mesclagem de vértices e remoção de duplicatas

Os exportadores muitas vezes gravam o mesmo vértice várias vezes, duplicam accessors inteiros ou deixam para trás materiais e texturas que nada usa. Mesclar vértices idênticos e eliminar dados não usados é um processo sem perdas que roda em todas as predefinições; sozinho, ele economizou 32% no pequeno modelo Fox.

Por que modelos Draco mantêm a geometria

Draco é outra extensão de compressão de geometria, muitas vezes mais eficiente que o meshopt. Gravar Draco de novo exige o codificador dele, e decodificar a geometria e armazená-la sem Draco deixou uma malha de teste de 4 a 13 vezes maior. Por isso, quando um GLB já usa Draco, esta ferramenta recodifica só as texturas e deixa todos os outros bytes, incluindo a geometria Draco, exatamente como estavam. O cartão de resultado avisa quando isso acontece.

float32Posições de 32 bits0 1 2 → 2 0 1Reordenar vérticesint16Quantizar em inteirosmeshoptCompactarfloat32Decodificado no navegador
O meshopt reordena e quantiza a geometria antes de compactá-la; o navegador a descompacta durante o carregamento.

Qual predefinição escolher?

Antes de comprimir seu GLB, pense em para onde o modelo vai depois: a predefinição certa depende disso, porque as configurações mais enxutas usam extensões glTF que nem todo app lê. A nota abaixo das predefinições lista as extensões que as configurações atuais vão adicionar.

Para visualizadores web: three.js, model-viewer, Babylon.js

Escolha Web. Ela reduz as texturas para no máximo 1024 px, salva-as como WebP e comprime a geometria com meshopt. Visualizadores no navegador e motores baseados em three.js ou Babylon.js leem as três extensões que ela usa, e os arquivos são os menores que esta ferramenta gera: de 48% a 98,8% menores nos exemplos da Khronos.

Para Blender, Unity e visualizadores de desktop

Escolha Compatível. Ela mantém as texturas em até 2048 px, grava as opacas como JPEG e as transparentes como PNG, e não adiciona nenhuma extensão. Ferramentas de desktop e importadores de motores de jogos têm suporte irregular a WebP e meshopt, então um arquivo sem eles é a escolha segura quando você não controla o software do outro lado.

Quando usar a Personalizada

Use a Personalizada para manter as texturas no tamanho original, manter o formato original em mapas de dados que exigem precisão, aumentar ou diminuir a qualidade ou desativar o meshopt. A tabela de texturas é atualizada a cada configuração que você altera, para você ver o que vai acontecer antes de comprimir.

Para onde o modelo vai?Uma página web ouum visualizador no navegadorWebBlender, Unity ouum app de desktopCompatívelVocê precisa de controleexato das texturasPersonalizada
A predefinição depende do software que vai abrir o arquivo.

Resultados reais com modelos de exemplo da Khronos

Para mostrar quanto você pode esperar, usamos esta página para comprimir arquivos GLB do acervo Khronos glTF Sample Assets: oito originais, no Chrome, em um computador de mesa. Com a predefinição Web, os oito arquivos ficaram, em média, 86% menores e, na mediana, 96% menores; a maior economia foi a do Avocado, de 7,73 MB para 0,09 MB, porque as três texturas PNG de 2048 × 2048 dele eram quase o arquivo inteiro. Cada modelo levou cerca de um segundo.

A Compatível economiza menos, já que mantém as texturas em 2048 px e evita o WebP, mas ainda assim reduziu quatro dos oito modelos em 83% a 93%. Os modelos que menos economizaram são os que têm mais geometria (o ToyCar tem cerca de 109.000 triângulos) ou texturas com transparência, que continuam em PNG.

Medições: original x Web x Compatível

ModeloOriginalPredefinição WebPredefinição Compatível
Avocado7,73 MB0,09 MB (−98,8%)0,57 MB (−92,6%)
WaterBottle8,55 MB0,12 MB (−98,6%)0,88 MB (−89,7%)
BoomBox10,12 MB0,22 MB (−97,8%)1,12 MB (−89,0%)
Corset12,87 MB0,51 MB (−96,0%)2,15 MB (−83,3%)
Lantern9,12 MB0,36 MB (−96,0%)5,49 MB (−39,8%)
SheenChair3,93 MB0,97 MB (−75,3%)1,72 MB (−56,3%)
ToyCar5,17 MB1,30 MB (−74,9%)3,92 MB (−24,2%)
Fox0,16 MB0,08 MB (−48,0%)0,11 MB (−31,9%)
Avocado7.73 MB0.09 MB0.57 MBWaterBottle8.55 MB0.12 MB0.88 MBBoomBox10.12 MB0.22 MB1.12 MBCorset12.87 MB0.51 MB2.15 MBLantern9.12 MB0.36 MB5.49 MBSheenChair3.93 MB0.97 MB1.72 MBToyCar5.17 MB1.30 MB3.92 MBFox0.16 MB0.08 MB0.11 MBOriginalPredefinição WebPredefinição Compatível
Oito modelos de exemplo da Khronos, medidos nesta página: tamanho original, predefinição Web e predefinição Compatível.

A compressão vai estragar meu modelo?

Comprimir um GLB muda a forma como os dados são armazenados, não o que o modelo é. Malhas, materiais, nomes de nós, animações e outros recursos do glTF são preservados; o que vale conferir são as extensões que o novo arquivo exige e a aparência das texturas de perto.

Extensões que o resultado pode exigir

A predefinição Web pode adicionar EXT_texture_webp, EXT_meshopt_compression e KHR_mesh_quantization, marcadas como obrigatórias para que um app que não consiga lê-las avise em vez de mostrar um modelo quebrado. A Compatível não adiciona nenhuma. Um GLB que já usava outras extensões as mantém; se esta ferramenta não reconhecer alguma delas, ela passa a recodificar apenas as texturas, para que nada que ela não entenda seja reescrito.

Animações, esqueletos e alvos de morph

Animações, personagens com esqueleto e alvos de morph passam pela compressão sem problemas. O meshopt também comprime os quadros-chave das animações, e a quantização mantém precisão suficiente para modelos de tamanho normal; em cenas muito grandes ou em modelos de engenharia medidos em milímetros, compare o resultado com o aramado ativado ou desative o meshopt na predefinição Personalizada.

Texturas KTX2 ficam como estão

Texturas já armazenadas como KTX2 (KHR_texture_basisu) são comprimidas para a GPU e ocupam pouca memória. Esta ferramenta as mantém inalteradas em vez de transformá-las de volta em imagens comuns.

WebCompatívelAbre sem nenhuma extensãoEXT_texture_webpEXT_meshopt_compressionKHR_mesh_quantizationGravada por esta predefiniçãoNão usadathree.js, model-viewer e Babylon.js leem as três
As extensões que cada predefinição pode adicionar ao arquivo comprimido.

Por que seu GLB continua grande depois da compressão

Se você comprime um GLB e a economia é pequena, o painel geralmente mostra o motivo. O arquivo pode já estar comprimido: texturas que já são imagens WebP ou JPEG pequenas raramente encolhem mais, e a ferramenta mantém a textura original sempre que recodificá-la não a deixa menor. Se o resultado não ficar nem um pouco menor, não há nada para baixar, e isso é proposital.

Escaneamentos densos e fotogrametria

Objetos escaneados e modelos de fotogrametria costumam ter centenas de milhares ou milhões de triângulos, e aí é a geometria, não as texturas, que ocupa o arquivo. O meshopt ajuda, mas a solução de verdade é ter menos triângulos: simplifique a malha em um editor 3D, por exemplo com o modificador Decimate do Blender, e depois comprima o resultado aqui.

Comprimir .gltf com arquivos externos

Um .gltf guarda a geometria e as texturas em arquivos separados. Selecione todos eles, ou solte a pasta, e a ferramenta junta tudo em um único .glb comprimido. Um .gltf que usa Draco precisa ser exportado como .glb antes, porque os dados Draco só são mantidos inalterados dentro de um GLB.

O equivalente em linha de comando

Esta página roda a biblioteca de código aberto glTF Transform no seu navegador. Se você quer comprimir muitos arquivos em um pipeline de build, a ferramenta de linha de comando dela faz um trabalho parecido, por exemplo gltf-transform optimize input.glb output.glb --compress meshopt --texture-compress webp --texture-size 1024.

Seu modelo nunca sai do seu dispositivo

Muitos compressores GLB online enviam o arquivo para um servidor, e alguns limitam quantos arquivos você pode comprimir por semana. Aqui, todo o trabalho roda em um worker em segundo plano dentro da aba do navegador: o modelo é lido do seu disco, comprimido na memória e salvo direto como download. Isso importa para produtos ainda não lançados, trabalhos de clientes e qualquer coisa sob acordo de confidencialidade (NDA). Feche a aba e nada fica para trás. Para outras ferramentas que funcionam do mesmo jeito, veja todas as nossas ferramentas gratuitas.

Comprimir GLB — perguntas frequentes

Sim, é gratuito, sem conta, sem créditos e sem limite semanal. Arquivos de até 200 MB funcionam em um computador e de até 50 MB em um celular, onde a memória acaba mais cedo.

As etapas de limpeza são sem perdas; texturas menores, WebP ou JPEG e vértices quantizados são com perdas. Na maioria dos modelos, a diferença é difícil de notar, e o seletor "Antes / Depois" mostra a mesma vista dos dois para você conferir antes de baixar.

Depende de quanto do arquivo são texturas. Abra-o no visualizador GLB para ver a divisão: modelos com muitas texturas costumam encolher 90% ou mais com a predefinição Web, enquanto escaneamentos com muita geometria economizam menos.

Use a predefinição Compatível: ela não adiciona extensões glTF, então o arquivo abre em qualquer lugar onde o original abria. A predefinição Web é pensada para visualizadores no navegador, como three.js, model-viewer e Babylon.js.

Os dois comprimem geometria. O Draco costuma gerar malhas menores; o meshopt decodifica mais rápido e também comprime animações. Esta ferramenta grava meshopt e mantém a geometria Draco exatamente como está quando um modelo já a usa.

Sim. Selecione o .gltf junto com o .bin e os arquivos de textura, ou solte a pasta, e você recebe de volta um único .glb comprimido.

Provavelmente ele já estava comprimido, ou a maior parte dele é geometria, e não texturas. Tente a predefinição Personalizada com um tamanho de textura menor ou, antes, reduza a contagem de triângulos em um editor 3D.

Não. O modelo é comprimido por um worker dentro da aba do navegador e salvo direto no seu dispositivo. Nada é enviado a um servidor.

T

Equipe de engenharia da TinyImagePro

Criamos ferramentas de arquivos no navegador que nunca fazem upload dos seus dados. Este compressor GLB lê a estrutura do arquivo por conta própria, e é assim que consegue mostrar no que cada textura vai se transformar antes de qualquer coisa ser comprimida.

Sobre a TinyImagePro →