Compresser un fichier GLB en ligne

Allégez vos modèles 3D pour le web, textures et géométrie comprises, et comparez avant et après sans rien envoyer.

🔒 Reste sur votre appareil🖼️ Textures en WebP🔍 Aperçu avant / après

.glb · .gltf · jusqu'à 200 Mo · compressé sur cet appareil, jamais envoyé

🔒

Rien n'est envoyé

Le modèle est lu, compressé et réécrit dans cet onglet du navigateur, par un processus en arrière-plan. Les produits pas encore lancés et les travaux pour vos clients ne quittent jamais votre appareil.

🔍

Voyez le résultat avant de télécharger

Basculez entre Avant et Après avec la même caméra, en mode filaire si vous le souhaitez, et vérifiez chaque texture dans un tableau avant / après.

🧩

Des préréglages qui pensent à la compatibilité

Web donne le fichier le plus léger pour les navigateurs. Compatible n'ajoute aucune extension glTF : le résultat s'ouvre partout où l'original s'ouvrait.

♾️

Gratuit, sans limite hebdomadaire

Ni compte, ni crédits, ni filigrane. Fichiers jusqu'à 200 Mo sur ordinateur et 50 Mo sur téléphone.

Que fait réellement la compression d'un fichier GLB ?

Compresser un GLB, c'est réencoder ses textures et sa géométrie pour que le même modèle occupe moins d'octets. L'essentiel du gain vient des textures : dans les huit modèles d'exemple Khronos que nous avons mesurés, les images représentaient la plus grande partie de chaque fichier doté de textures. Ce compresseur GLB réduit ces images, nettoie la géométrie et écrit un nouveau .glb, le tout dans votre navigateur.

Réduire la taille d'un GLB, c'est le charger plus vite sur une page produit, passer sous les limites d'envoi des plateformes 3D et des places de marché, et consommer moins de mémoire sur les téléphones. Pour cela, ni la forme du modèle, ni ses matériaux, ni ses animations n'ont besoin de changer.

Où partent les octets d'un GLB

Un GLB contient trois types de données : les textures (les images plaquées sur le modèle), la géométrie (positions des sommets, normales et listes de triangles) et l'animation. Les textures sont stockées dans le GLB sous forme de fichiers image complets, souvent des PNG de 2048 × 2048 : voilà pourquoi un modèle de quelques centaines de triangles peut tout de même peser 8 Mo. Ouvrez votre fichier dans la visionneuse GLB pour voir sa propre répartition avant de le compresser.

Nettoyage sans perte ou compression avec perte

Certaines étapes ne changent rien de visible : supprimer les données en double, retirer les matériaux et les textures que rien n'utilise, et fusionner les sommets strictement identiques. Les gains les plus importants viennent d'étapes avec perte : textures plus petites, textures réencodées en WebP ou en JPEG, et positions des sommets stockées sur moins de bits. Avec perte ne veut pas dire visiblement moins bien, mais c'est la partie à vérifier, et c'est à cela que sert le sélecteur Avant / Après.

OriginalAvocado.glb · 7.73 MBCompressé0.09 MB−98.8%Retiré : textures WebP allégées, géométrie compactéeTexturesGéométrie
Avocado avant et après le préréglage Web : la bande bleu-vert représente les 98,8 % retirés par la compression.

Comment compresser un fichier GLB en 3 étapes

1

Déposez votre .glb ou .gltf

Cliquez sur « Choisir un fichier 3D » ou déposez un .glb dans la zone d'aperçu. Pour un .gltf, sélectionnez-le avec son fichier .bin et ses textures, ou déposez le dossier entier ; le résultat est toujours un seul .glb. Le panneau liste chaque texture avec ses dimensions, son format et son poids en octets.

2

Choisissez Web, Compatible ou Personnalisé

Web produit le fichier le plus léger pour les navigateurs, Compatible n'ajoute aucune nouvelle extension au fichier, et Personnalisé vous laisse choisir la taille, le format et la qualité des textures. Le tableau des textures montre ce que deviendra chacune d'elles avant même que vous appuyiez sur quoi que ce soit.

3

Comparez, puis téléchargez

Appuyez sur « Compresser le GLB ». Une fois l'opération terminée, l'aperçu passe sur Après, la caméra restant là où vous l'aviez laissée ; appuyez sur B ou utilisez le sélecteur Avant / Après pour comparer, puis cliquez sur « Télécharger le .glb compressé ».

.glbChoisir un fichier 3D
1

Choisissez un .glb, ou un .gltf avec ses fichiers.

WebCompatiblePersonnalisé
2

Choisissez le préréglage adapté à la destination du modèle.

AvantAprèsB
3

Comparez Avant et Après, puis téléchargez.

Textures : là où partent la plupart des octets

Chaque texture d'un GLB est un fichier image complet, que le GPU décompresse en pixels bruts dès que le modèle s'affiche : une texture de 2048 × 2048 occupe environ 16 Mo de mémoire graphique hors mipmaps, aussi léger que soit son PNG. Quand vous compressez un GLB, les réglages des textures déterminent donc à la fois le poids du téléchargement et le coût d'affichage du modèle.

Redimensionner les textures : 4096, 2048, 1024 ou 512 ?

Diviser par deux la largeur et la hauteur d'une texture laisse un quart des pixels. Sur une page web, où un modèle n'occupe généralement qu'une partie de l'écran, 1024 px suffisent pour la plupart des produits ; 2048 px valent la peine pour les visuels phares et les gros plans, et 512 px conviennent aux petits accessoires. Ce compresseur GLB ne fait que réduire les textures, jamais les agrandir, et conserve leurs proportions. Pour redimensionner une seule texture à la main, utilisez l'outil de redimensionnement d'images.

WebP, PNG ou JPEG dans un GLB

PNG et JPEG font partie de glTF lui-même : toutes les applications qui ouvrent des fichiers GLB les lisent. WebP produit généralement les fichiers les plus légers, mais un GLB qui l'utilise déclare l'extension EXT_texture_webp, et l'application qui l'ouvre doit la prendre en charge. JPEG ne peut pas stocker la transparence : cet outil garde donc une texture en PNG dès que ses pixels ne sont pas tous entièrement opaques. Pour les compromis entre ces formats en général, consultez PNG vers WebP.

Les cartes de normales demandent une compression plus douce

Une carte de normales stocke des orientations de surface dans ses couleurs, et les artefacts en blocs que laisse la compression avec perte y apparaissent comme des erreurs d'éclairage plutôt que comme du bruit de couleur. Les deux préréglages appliquent aux cartes de normales une qualité minimale plus élevée (0,9). WebP et JPEG stockent aussi la couleur à résolution réduite, ce qui fait perdre un peu de précision aux cartes de normales et aux textures qui regroupent rugosité, métallicité et occlusion dans des canaux distincts. Si cette précision compte, choisissez Personnalisé et conservez le format d'origine.

Textures avec transparence

Feuillages, décalques et verre reposent souvent sur un canal alpha. WebP le conserve ; JPEG en est incapable, si bien qu'une texture transparente destinée au JPEG est enregistrée en PNG à la place. Dans nos mesures, Lantern et ToyCar ont chacun gardé une ou deux textures en PNG pour cette raison.

4096 px64 MB2048 px16 MB1024 px4 MB512 px1 MBMémoire graphique par texture une fois décodéeRGBA, 4 octets par pixel, hors mipmaps ; le fichier sur disque est bien plus léger, la mémoire non.
Chaque division par deux d'une texture laisse un quart des pixels et un quart de la mémoire graphique.
Inclus dans glTFTransparenceTaille typique,texture photoPNGOuiOuiJPEGOuiNonWebPexige EXT_texture_webpOui
PNG et JPEG font partie de glTF lui-même ; WebP exige une extension, mais donne généralement le fichier le plus léger.

Compression de la géométrie : meshopt, quantification et Draco

La géométrie est généralement la plus petite part d'un GLB, mais dans les maillages denses, les scans et les personnages animés, elle peut occuper l'essentiel du fichier. Le préréglage Web la compresse avec meshopt ; les autres préréglages laissent son encodage tel quel et se contentent de la nettoyer.

Ce que fait la compression meshopt

meshopt commence par réordonner les sommets et les triangles pour regrouper les données voisines, puis stocke les positions, les normales et les coordonnées de texture sous forme de petits entiers au lieu de flottants 32 bits (la quantification, déclarée par KHR_mesh_quantization), et compacte enfin le résultat avec EXT_meshopt_compression. Le décodage est très rapide dans le navigateur, et three.js, model-viewer et Babylon.js savent tous le lire.

Fusion des sommets et suppression des doublons

Les exportateurs écrivent souvent le même sommet plusieurs fois, dupliquent des accesseurs entiers ou laissent derrière eux des matériaux et des textures que rien n'utilise. Fusionner les sommets identiques et élaguer les données inutilisées se fait sans perte et s'applique dans tous les préréglages ; à lui seul, ce nettoyage a fait gagner 32 % sur le petit modèle Fox.

Pourquoi les modèles Draco gardent leur géométrie

Draco est une autre extension de compression de la géométrie, souvent plus efficace que meshopt. Réécrire du Draco exige son encodeur, et décoder la géométrie pour la stocker sans Draco a rendu un maillage de test 4 à 13 fois plus volumineux. Lorsqu'un GLB utilise déjà Draco, cet outil ne réencode donc que ses textures et laisse tous les autres octets, géométrie Draco comprise, exactement tels qu'ils étaient. La carte du résultat l'indique quand c'est le cas.

float32Positions 32 bits0 1 2 → 2 0 1Réordonner les sommetsint16Quantifier en entiersmeshoptCompacterfloat32Décodé dans le navigateur
meshopt réordonne et quantifie la géométrie avant de la compacter ; le navigateur la décompresse au chargement.

Quel préréglage choisir ?

Avant de compresser votre GLB, demandez-vous où le modèle va ensuite : le bon préréglage en dépend, car les réglages les plus légers reposent sur des extensions glTF que toutes les applications ne lisent pas. La note sous les préréglages liste les extensions que les réglages actuels vont ajouter.

Pour les visionneuses web : three.js, model-viewer, Babylon.js

Choisissez Web. Ce préréglage ramène les textures à 1024 px au maximum, les enregistre en WebP et compresse la géométrie avec meshopt. Les visionneuses dans le navigateur et les moteurs basés sur three.js ou Babylon.js lisent les trois extensions qu'il utilise, et les fichiers sont les plus légers que produise cet outil : de 48 % à 98,8 % plus légers sur les exemples Khronos.

Pour Blender, Unity et les visionneuses de bureau

Choisissez Compatible. Ce préréglage garde les textures jusqu'à 2048 px, écrit les opaques en JPEG et les transparentes en PNG, et n'ajoute aucune extension. Les logiciels de bureau et les importateurs des moteurs de jeu prennent en charge WebP et meshopt de façon inégale : un fichier qui s'en passe est le choix sûr quand vous ne maîtrisez pas le logiciel à l'autre bout.

Quand utiliser Personnalisé

Utilisez Personnalisé pour garder les textures à leur taille d'origine, conserver leur format d'origine pour des cartes de données précises, augmenter ou baisser la qualité, ou désactiver meshopt. Le tableau des textures se met à jour à chaque réglage modifié : vous voyez ce qui va se passer avant de compresser.

Où va le modèle ensuite ?Page web ouvisionneuse en ligneWebBlender, Unity oulogiciel de bureauCompatibleContrôle précisdes texturesPersonnalisé
Le préréglage découle du logiciel qui ouvrira le fichier.

Résultats réels sur des modèles d'exemple Khronos

Pour savoir à quoi vous attendre, nous avons utilisé cette page pour compresser des fichiers GLB de la collection Khronos glTF Sample Assets : huit originaux, dans Chrome sur un ordinateur de bureau. Avec le préréglage Web, les huit fichiers sont ressortis 86 % plus légers en moyenne et 96 % plus légers en médiane ; le gain le plus important revient à Avocado, passé de 7,73 Mo à 0,09 Mo, car ses trois textures PNG de 2048 × 2048 constituaient presque tout le fichier. Chaque modèle a pris environ une seconde.

Compatible fait gagner moins, puisqu'il garde les textures à 2048 px et évite WebP, mais il a tout de même réduit quatre des huit modèles de 83 % à 93 %. Les modèles qui ont le moins gagné sont ceux qui ont le plus de géométrie (ToyCar compte environ 109 000 triangles) ou des textures avec transparence, qui restent en PNG.

Mesures : original, Web et Compatible

ModèleOriginalPréréglage WebPréréglage Compatible
Avocado7,73 Mo0,09 Mo (−98,8 %)0,57 Mo (−92,6 %)
WaterBottle8,55 Mo0,12 Mo (−98,6 %)0,88 Mo (−89,7 %)
BoomBox10,12 Mo0,22 Mo (−97,8 %)1,12 Mo (−89,0 %)
Corset12,87 Mo0,51 Mo (−96,0 %)2,15 Mo (−83,3 %)
Lantern9,12 Mo0,36 Mo (−96,0 %)5,49 Mo (−39,8 %)
SheenChair3,93 Mo0,97 Mo (−75,3 %)1,72 Mo (−56,3 %)
ToyCar5,17 Mo1,30 Mo (−74,9 %)3,92 Mo (−24,2 %)
Fox0,16 Mo0,08 Mo (−48,0 %)0,11 Mo (−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 MBOriginalPréréglage WebPréréglage Compatible
Huit modèles d'exemple Khronos, mesurés sur cette page : taille d'origine, préréglage Web et préréglage Compatible.

La compression va-t-elle abîmer mon modèle ?

Compresser un GLB change la façon dont les données sont stockées, pas ce qu'est le modèle. Maillages, matériaux, noms des nœuds, animations et autres fonctionnalités glTF sont conservés ; ce qu'il faut vérifier, ce sont les extensions que le nouveau fichier exige et l'aspect des textures vues de près.

Les extensions que le fichier compressé peut exiger

Le préréglage Web peut ajouter EXT_texture_webp, EXT_meshopt_compression et KHR_mesh_quantization, marquées comme requises : une application incapable de les lire le signale au lieu d'afficher un modèle cassé. Compatible n'en ajoute aucune. Un GLB qui utilisait déjà d'autres extensions les conserve ; si cet outil n'en reconnaît pas une, il se limite au réencodage des textures, de sorte que rien de ce qu'il ne comprend pas n'est réécrit.

Animations, squelettes et cibles de morphing

Les animations, les personnages avec squelette et les cibles de morphing survivent à la compression. meshopt compresse aussi les images clés d'animation, et la quantification garde assez de précision pour des modèles de taille normale ; pour les très grandes scènes ou les modèles d'ingénierie mesurés en millimètres, comparez le résultat en mode filaire, ou désactivez meshopt dans Personnalisé.

Les textures KTX2 restent telles quelles

Les textures déjà stockées en KTX2 (KHR_texture_basisu) sont compressées pour le GPU et restent légères en mémoire. Cet outil les conserve inchangées plutôt que de les retransformer en images ordinaires.

WebCompatibleS'ouvre sans aucune extensionEXT_texture_webpEXT_meshopt_compressionKHR_mesh_quantizationÉcrite par ce préréglageNon utiliséethree.js, model-viewer et Babylon.js lisent les trois
Les extensions que chaque préréglage peut ajouter au fichier compressé.

Pourquoi votre GLB reste lourd après compression

Si vous compressez un GLB et que le gain est faible, le panneau indique généralement pourquoi. Le fichier est peut-être déjà compressé : des textures qui sont déjà de petites images WebP ou JPEG ne rapetissent guère, et l'outil conserve la texture d'origine chaque fois que la réencoder ne la rend pas plus légère. Si le résultat n'est pas plus léger du tout, il n'y a rien à télécharger, et c'est voulu.

Scans denses et photogrammétrie

Les objets numérisés et la photogrammétrie comptent souvent des centaines de milliers, voire des millions de triangles, et c'est alors la géométrie, non les textures, qui remplit le fichier. meshopt aide, mais la vraie solution consiste à réduire le nombre de triangles : décimez le maillage dans un éditeur 3D, par exemple avec le modificateur Decimate de Blender, puis compressez le résultat ici.

Compresser un .gltf avec des fichiers externes

Un .gltf conserve sa géométrie et ses textures dans des fichiers séparés. Sélectionnez-les tous, ou déposez le dossier, et l'outil réunit le tout dans un seul .glb compressé. Un .gltf qui utilise Draco doit d'abord être exporté en .glb, car les données Draco ne sont conservées telles quelles qu'à l'intérieur d'un GLB.

L'équivalent en ligne de commande

Cette page exécute dans votre navigateur la bibliothèque open source glTF Transform. Si vous voulez compresser de nombreux fichiers dans un pipeline de build, son outil en ligne de commande fait un travail similaire, par exemple gltf-transform optimize input.glb output.glb --compress meshopt --texture-compress webp --texture-size 1024.

Votre modèle ne quitte jamais votre appareil

Beaucoup de compresseurs GLB en ligne envoient le fichier sur un serveur, et certains limitent le nombre de fichiers que vous pouvez compresser chaque semaine. Ici, tout le travail se fait dans un processus en arrière-plan, au sein de l'onglet de votre navigateur : le modèle est lu depuis votre disque, compressé en mémoire et enregistré directement sous forme de téléchargement. C'est important pour les produits pas encore lancés, les travaux pour vos clients et tout ce qui est couvert par un accord de confidentialité. Fermez l'onglet, et il ne reste rien. Pour d'autres outils qui fonctionnent de la même manière, découvrez tous nos outils gratuits.

Compresser un GLB — Questions fréquentes

Oui, il est gratuit, sans compte, sans crédits et sans limite hebdomadaire. Les fichiers jusqu'à 200 Mo fonctionnent sur ordinateur, et jusqu'à 50 Mo sur téléphone, où la mémoire s'épuise plus vite.

Les étapes de nettoyage sont sans perte ; les textures plus petites, le WebP ou le JPEG et les sommets quantifiés sont avec perte. Sur la plupart des modèles, la différence est difficile à voir, et le sélecteur Avant / Après montre la même vue des deux versions pour que vous puissiez vérifier avant de télécharger.

Tout dépend de la part des textures dans le fichier. Ouvrez-le dans la visionneuse GLB pour voir sa répartition : les modèles chargés en textures diminuent souvent de 90 % ou plus avec le préréglage Web, tandis que les scans chargés en géométrie gagnent moins.

Utilisez le préréglage Compatible : il n'ajoute aucune extension glTF, donc le fichier s'ouvre partout où l'original s'ouvrait. Le préréglage Web est destiné aux visionneuses dans le navigateur comme three.js, model-viewer et Babylon.js.

Les deux compressent la géométrie. Draco produit souvent des maillages plus légers ; meshopt se décode plus vite et compresse aussi l'animation. Cet outil écrit du meshopt, et conserve la géométrie Draco exactement telle quelle lorsqu'un modèle l'utilise déjà.

Oui. Sélectionnez le .gltf avec son .bin et ses fichiers de texture, ou déposez le dossier, et vous récupérez un seul .glb compressé.

Il était sans doute déjà compressé, ou il se compose surtout de géométrie plutôt que de textures. Essayez Personnalisé avec une taille de texture plus petite, ou réduisez d'abord le nombre de triangles dans un éditeur 3D.

Non. Le modèle est compressé par un processus en arrière-plan dans l'onglet de votre navigateur, puis enregistré directement sur votre appareil. Rien n'est envoyé à un serveur.

T

Équipe d'ingénierie TinyImagePro

Nous créons des outils de fichiers dans le navigateur qui n'envoient jamais vos données. Ce compresseur GLB lit lui-même la structure du fichier : c'est ce qui lui permet de montrer ce que deviendra chaque texture avant que quoi que ce soit ne soit compressé.

À propos de TinyImagePro →