GLB vs glTF: ¿cuál es la diferencia?
GLB vs glTF es empaquetado, no datos: un .gltf es JSON legible con archivos separados, un .glb lo mete todo en uno. Publica GLB, edita glTF, convierte sin pérdidas.
- Especificación glTF 2.0 de Khronos
- Tamaños de archivo medidos
- Conversión sin pérdidas
GLB vs glTF: la respuesta corta
glTF es el formato abierto de Khronos Group para llevar escenas 3D a aplicaciones y a la web, y GLB no es un formato distinto, sino su contenedor binario. La especificación define ambos: un archivo .gltf es JSON (tipo de medio model/gltf+json), y un archivo .glb (model/gltf-binary) envuelve ese mismo JSON más un buffer binario en un único archivo.
Así que la pregunta GLB vs glTF va de empaquetado, no de calidad. Las mallas, los materiales PBR, las texturas, las animaciones, los skins y los morph targets sobreviven igual en ambos. Lo que cambia es cuántos archivos manejas, si puedes abrir la descripción de la escena en un editor de texto y cuánto tamaño extra pagas si incrustas binarios dentro del JSON.
Para casi todo el mundo la respuesta es GLB: un archivo para subir, enviar por correo o arrastrar a three.js, Babylon.js, <model-viewer>, Blender, Unity o Unreal. Elige el glTF con archivos separados cuando estés depurando, editando valores de materiales a mano o compartiendo texturas entre muchos modelos en un CDN.
Tabla comparativa GLB vs glTF
Ambos son glTF 2.0, así que la mayoría de las filas son idénticas. Las filas que cambian son las que deciden GLB vs glTF para tu proyecto.
| GLB (.glb) | glTF (.gltf) | |
|---|---|---|
| Tipo de geometría | Mallas de triángulos (también puntos y líneas), jerarquía de nodos, skins, morph targets | Idéntico |
| Color / textura | Texturas PNG o JPEG guardadas dentro del chunk binario; colores de vértice | Texturas como archivos de imagen separados, o data URIs base64 dentro del JSON |
| Unidades | Metros, sistema diestro, +Y hacia arriba, según la especificación | Idéntico |
| Materiales | PBR metallic-roughness integrado; más mediante extensiones KHR | Idéntico |
| Tamaño de archivo | La forma de archivo único más pequeña: una cabecera de 12 bytes más un chunk JSON y un chunk BIN | Los mismos bytes totales que con archivos separados; alrededor de un 33 % más grande si los binarios se incrustan como base64 |
| Facilidad de edición | Binario; necesita una herramienta para inspeccionarlo | El JSON es legible por humanos y se puede comparar en un editor de texto |
| Compatibilidad de software | three.js, Babylon.js, model-viewer, Blender, Unity, Unreal, Godot, Windows 3D Viewer | Los mismos cargadores; los archivos externos deben quedarse en la carpeta relativa correcta |
| Uso para impresión | No es un formato de impresión; UltiMaker Cura puede abrirlo, la mayoría de los slicers no | Igual; convierte a STL o 3MF para imprimir |
| Número de archivos | 1 | 1 a muchos (.gltf, .bin, imágenes) |
Fuente: especificación glTF 2.0 de Khronos, secciones sobre extensiones de archivo, sistema de coordenadas y unidades, y el formato de archivo GLB.
Cómo se construye un archivo GLB a partir de un glTF
Un GLB empieza con una cabecera de 12 bytes: los bytes mágicos glTF, la versión (2) y la longitud total. Después vienen los chunks. El primero es el chunk JSON, exactamente la misma descripción de escena que contendría un .gltf. El segundo es el chunk BIN, que guarda posiciones de vértices, normales, UVs, índices, keyframes de animación y, normalmente, las propias imágenes de textura.
Un .gltf mantiene ese JSON como archivo independiente y referencia los datos binarios de una de dos formas: rutas relativas a archivos .bin e imágenes que están junto a él, o data URIs que codifican los bytes en base64 directamente dentro del JSON. La propia especificación señala que base64 aumenta la longitud en bytes de la carga útil un 33 %, y decodificarlo cuesta procesamiento extra. Esa es la razón principal por la que existe GLB.
- GLB: cabecera + chunk JSON + chunk BIN, un solo archivo
- glTF: JSON más .bin e imágenes al lado
- glTF embebido: un solo archivo, pero base64 añade un tercio más
Tamaño de archivo GLB vs glTF: un modelo empaquetado de tres formas
Tomamos un modelo texturizado generado por IA de nuestra galería, un caballero robot steampunk con 500.000 triángulos, 287.963 vértices y tres texturas PNG de 2048 x 2048, y medimos cada empaquetado.
| Empaquetado | Archivos | Tamaño |
|---|---|---|
| GLB | 1 | 26.9 MB |
| glTF + .bin + texturas PNG | 5 (.gltf, .bin, 3 PNG) | unos 26.9 MB en total; solo el JSON .gltf ocupa unos 2 KB |
| glTF con datos base64 embebidos | 1 | unos 35.9 MB |
| Qué contienen los bytes | Geometría 15.2 MB, texturas 11.7 MB |
Empaquetar no reduce nada. Para hacer el modelo más pequeño, comprime la geometría (Draco o meshopt), reduce la resolución o recodifica las texturas, o baja el número de triángulos. Nuestro compresor GLB y nuestro simplificador de mallas lo hacen en el navegador.
glTF vs GLB en la web, en AR y en Blender
En la web, GLB es la opción práctica por defecto: una petición, una entrada de caché y todos los cargadores importantes lo leen. Los archivos glTF separados pueden ganar en un sitio que muestra muchos modelos que comparten las mismas texturas, porque el navegador descarga una imagen compartida una sola vez; las propias notas de implementación de la especificación describen ese equilibrio.
Para AR, Scene Viewer de Android acepta glTF y GLB, mientras que Quick Look de Apple en iPhone necesita USDZ, así que publica ambos y convierte GLB a USDZ para los dispositivos Apple. En Blender, Archivo > Importar > glTF 2.0 lee cualquiera de los dos, y el menú Formato del exportador ofrece glTF Binary (.glb) y glTF Separate (.gltf + .bin + texturas). Elige Binary salvo que tengas una razón para no hacerlo.
Para impresión 3D, ninguno es la entrega correcta. Convierte el GLB a STL o 3MF; las texturas no se imprimen, pero la forma sí.
- Web y compartir: GLB
- Muchos modelos que comparten texturas: glTF separado
- AR en iPhone: convierte a USDZ
- Impresión: convierte a STL o 3MF
GLB vs glTF: cuándo usar cada uno
Ambos son glTF 2.0 correctos. Elige según tu flujo de trabajo.
Compartir un modelo con cualquiera
Insertar en un sitio web
Depurar un material roto
baseColorFactor, metallicFactor o los índices de textura, corrige y recarga.Un catálogo de productos con texturas compartidas
Control de versiones
Evita: glTF embebido
Convertir glTF y GLB sin romper nada
La conversión es sin pérdidas en ambos sentidos, siempre que esté presente cada archivo referenciado.
- Mantén el .gltf, el .bin y las imágenes de textura en las mismas carpetas relativas con las que se exportaron
- Carga el resultado en un visor y confirma que aparecen las texturas antes de compartirlo
- Recuerda que glTF está en metros: una figura de 30 mm son 0.03 unidades, lo que parece diminuto en algunas herramientas
- Comprime geometría y texturas para la web; solo reempaquetar no ahorra nada
- Envía solo el archivo .gltf; sin su .bin y sus imágenes, el modelo se carga vacío o en gris
- Renombra .gltf a .glb; la cabecera binaria tiene que escribirla un conversor
- Usa glTF embebido en base64 para modelos grandes; añade alrededor de un 33 % a los datos binarios
- No esperes que un slicer imprima las texturas de un GLB; convierte a 3MF para impresiones multicolor
Visores y conversores GLB y glTF gratis
Herramientas para ambos lados de GLB vs glTF. Todas funcionan en tu navegador sin iniciar sesión y tus archivos se quedan en tu dispositivo.
FAQ
Preguntas frecuentes
GLB vs glTF: ¿cuál es mejor?
¿Cuál es la diferencia entre GLB y glTF en una frase?
¿Convertir glTF a GLB pierde calidad?
¿Por qué mi GLB es tan grande?
¿Puedo imprimir en 3D un archivo GLB o glTF?
¿Qué unidades usa glTF?
¿Qué formato me da SupaVoxel?
¿Los iPhone pueden abrir archivos GLB?
Herramientas y guías relacionadas
Continuar
Empezar gratis
¿GLB o glTF? Resuelto. Crea el modelo
Convierte una foto en un modelo 3D, normalmente en menos de un minuto. Las descargas GLB son gratis con tus primeros 3 créditos y sin tarjeta; los modelos con texturas vienen con un plan de pago.
No se requiere tarjeta de crédito · 3 créditos gratis para empezar