Convertir GLB a GLTF

Aquí puedes convertir GLB a GLTF gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Reconstruido GLTF funciona de otra manera que GLB. No es la degradación gradual de un códec con pérdida: lo que GLTF puede expresar se reproduce fielmente, y lo que no tiene equivalente allí no sobrevive en absoluto.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.
  • Conviene saberlo Solo la geometría. Los materiales, los colores, las texturas y la animación no viajan, y un modelo colocado varias veces vuelve con cada copia fijada en su propia posición.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

Abrir el modelo para leerlo, no para enseñarlo

Un GLB es binario y no se puede mirar. Cuando alguien te manda uno —un proveedor, un becario, un banco de modelos— y necesitas saber qué trae dentro antes de meterlo en ninguna parte, el camino corto es pasarlo a su forma de texto y abrirlo en el editor que ya tienes.

Ese es el lector para el que está escrita esta página: alguien que quiere contar mallas, comparar dos exportaciones o averiguar por qué un modelo de dos megas tarda lo que tarda. No es la página de quien va a publicar el resultado; para eso el GLB que ya tienes es mejor archivo por todos los motivos.

Esto reconstruye el modelo; no lo desempaqueta

Conviene decirlo antes que nada, porque el nombre de la conversión sugiere otra cosa. Las herramientas que desempaquetan de verdad —gltf-transform, o gltf-pipeline con la opción de salida no binaria— conservan el documento original y solo sacan el búfer del envase, con lo que los materiales, las referencias a texturas y los canales de animación siguen ahí, palabra por palabra.

Aquí no. El conversor recorre el modelo, extrae las posiciones de los vértices y los índices de los triángulos, y escribe un documento nuevo alrededor de eso. Si lo que quieres es tocar un factor de color base y volver a guardar, esta no es la herramienta y gltf-transform sí lo es. Si lo que quieres es ver qué hay dentro del archivo, sigue leyendo.

Dos extensiones para la misma especificación

Un .gltf es JSON con los datos de vértices o bien en un .bin al lado o bien incrustados como URI de datos. Un .glb es ese mismo JSON con ese mismo búfer, pegados en un único archivo binario detrás de una cabecera de doce bytes cuyos cuatro primeros deletrean glTF.

Dentro del GLB el contenido va en trozos etiquetados, uno de JSON y otro binario, rellenados hasta un múltiplo de cuatro bytes con el relleno incluido en la longitud declarada. Esa es toda la diferencia entre las dos extensiones. Nada del modelo cambia al pasar de una a otra, y por eso un conversor que sí lo cambia —como este— está haciendo bastante más de lo que el cambio de extensión da a entender.

Un solo archivo, con el búfer escrito en base64

La salida es siempre un único .gltf. Los datos geométricos se codifican en base64 dentro de una URI de datos en la única entrada de búfer, así que no hay ningún .bin acompañante que perder ni ninguna ruta relativa que se rompa al mover el archivo de carpeta.

Base64 cuesta cuatro caracteres por cada tres bytes, de modo que el búfer incrustado ocupa alrededor de un tercio más que el binario que representa, y encima el JSON se escribe con sangría de dos espacios para que se pueda leer. Para un archivo que vas a abrir en un editor es un cambio justo. Para uno que vas a servir a un navegador no lo es.

La lista completa de lo que se queda por el camino

Merece la pena leerla entera: materiales metálico-rugosidad, texturas de color base, de normales, de oclusión, de emisión y de rugosidad, los muestreadores y las imágenes, las coordenadas UV, las normales por vértice, los colores por vértice, las tangentes, los objetivos de deformación, los esqueletos y las articulaciones, los canales de animación, las cámaras, las luces y cualquier extensión que el archivo declare.

Lo que sobrevive son las posiciones de los vértices, los índices de los triángulos y los nombres de las mallas donde el destino tenga dónde ponerlos. No es una limitación del formato glTF, que sostiene todo lo anterior sin despeinarse; es una limitación de este conversor, que lleva geometría entre seis formatos que no se ponen de acuerdo en casi nada más.

Las transformaciones de nodo se hornean en los vértices

Una escena glTF coloca rutinariamente la misma malla varias veces con matrices distintas; las cuatro ruedas de un coche que apuntan a una única rueda son el ejemplo de manual. El conversor recorre el grafo de escena, multiplica la matriz de cada nodo por la de su padre y aplica la matriz resultante a los vértices antes de escribirlos.

La consecuencia es que la forma que ves es correcta y la estructura no lo es. Las cuatro ruedas llegan como cuatro mallas con cuatro juegos de vértices en cuatro sitios distintos, en lugar de una malla instanciada cuatro veces. Un archivo que use rotación, traslación y escala por separado en vez de una matriz explícita acaba exactamente en el mismo sitio, porque se componen antes.

Los archivos que el conversor se niega a leer

La geometría comprimida con Draco se detiene con un error que la nombra, en vez de producir un archivo roto. Esa extensión guarda los vértices en una corriente comprimida que necesita su propio decodificador, y ese decodificador no se distribuye aquí. Vuelve a exportar el modelo sin Draco y se lee con normalidad.

Un .gltf que apunte a un .bin externo también se rechaza, con un mensaje que te dice que conviertas el GLB en su lugar; el conversor no va a buscar archivos vecinos que nadie le ha dado. Y las primitivas que no son listas de triángulos se saltan en silencio: puntos, líneas, bucles de línea, tiras y abanicos. Un archivo con solo geometría de líneas —una malla de depuración, un recorrido— acaba con el aviso de que no se encontró geometría triangular, que es exacto.

Leer el resultado: contar mallas y contar triángulos

Abre la salida y el bloque de accesores contesta la mayor parte de lo que se viene a preguntar aquí. Cada malla aporta un accesor de posiciones de tipo vectorial de tres componentes y otro escalar para los índices, y cada uno declara cuántos elementos tiene.

Con eso, el número de triángulos es el recuento de índices dividido entre tres, y el número de vértices se lee directamente del accesor de posiciones. Los nombres de las mallas vienen del original, así que un modelo por piezas sigue siendo legible y se puede ver de un vistazo cuál de ellas se ha llevado la mitad del presupuesto.

Cuando el modelo es un escaneo y no un diseño

La fotogrametría cambia el cálculo de esta página. Una malla obtenida escaneando un capitel, una pieza de museo o el estado de una fachada antes de una intervención es geometría casi pura: mucho triángulo, un nombre por malla y, con frecuencia, el color en una textura que se guarda aparte y se vuelve a aplicar después.

Para ese material la conversión pierde bastante menos de lo que pierde con un modelo de producto texturizado, y a cambio te deja un archivo que se puede versionar y comparar en texto. Sigue siendo cierto que la textura no viaja: si el color estaba en el mapa y no en la geometría, sale de aquí sin él.

Comparar dos exportaciones del mismo modelo

Este es el uso donde la conversión se gana el sitio de verdad. Dos GLB exportados con una semana de diferencia son dos manchas binarias que no se pueden comparar; los mismos dos convertidos a texto son dos archivos JSON que cualquier herramienta de diferencias enfrenta línea a línea.

Con eso se contesta rápido la pregunta que motiva la comparación: si el recuento de mallas cambió, si aparecieron nodos nuevos, si el número de triángulos se disparó entre una versión y la siguiente. Ten en cuenta que la salida se ha reconstruido y no copiado, así que lo que comparas son las geometrías tal como las lee este conversor y no los documentos originales. Para vigilar el peso de un modelo eso basta; para auditar materiales, no.

Si el destino era imprimir la pieza y no leerla

Hay quien llega a un conversor de 3D con un GLB queriendo un archivo para imprimir, y ahí el destino no es glTF. Este sitio también lleva geometría a STL y a PLY, que son los formatos que una laminadora entiende, y en esa dirección la pérdida de materiales y texturas deja de importar porque una impresora de filamento no los usa.

Sí hay que saber dos cosas de esos destinos: las mallas se funden todas en una sola y los nombres se pierden, y el STL se escribe siempre en binario mientras que el PLY se escribe siempre en texto. Si tu modelo estaba dividido en piezas que querías imprimir por separado, sepáralas antes de convertir en lugar de después.

Cuándo no conviene hacer esta conversión

Si el archivo va a una página web, quédate con el GLB. Es más pequeño, es una sola petición y los visores habituales lo cargan directamente. Convertirlo a glTF para publicarlo lo hace más grande y, por este camino, le quita los materiales que hacían que mereciera la pena enseñarlo.

Si necesitas cambiar algo y volver a guardarlo, usa gltf-transform o el exportador de Blender. Si necesitas inspeccionar un archivo deprisa sin instalar nada, o un artefacto de texto contra el que comparar otra exportación, esta página es el camino corto. Decir dónde está esa frontera es más útil que insinuar que todo GLB debería acabar siendo un glTF.

Dónde se ejecuta y hasta qué tamaño

La conversión es JavaScript corriente ejecutándose en la propia página: no se descarga ningún módulo de WebAssembly, no se sube nada y no hay ninguna cola. El archivo se lee en tu equipo, el resultado se arma en memoria y lo guardas tú. El techo gratuito es de 100 MB por archivo, que es un GLB muy grande para cualquier cosa pensada para la web.

Puedes soltar hasta cien archivos de una vez y recogerlos juntos. Cuenta con que el .gltf sea más grande que el .glb del que sale, incluso después de haber tirado los materiales: la geometría es el grueso de casi cualquier modelo y base64 la infla.

Cómo convertir GLB a GLTF

  1. Suelta tu archivo GLB en esta página, o haz clic para elegir uno.
  2. Elige GLTF como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo GLTF terminado.

GLB frente a GLTF: qué cambia

GLB frente a GLTF
GLBGLTF
Nombre completoBinary glTFGL Transmission Format
Extensión de archivo.glb.gltf
Tipo de mediomodel/gltf-binarymodel/gltf+json
Publicado por primera vez20162015
Publicado porKhronos GroupKhronos Group
EspecificaciónglTF 2.0glTF 2.0
LicenciaEstándar abiertoEstándar abierto
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorNingún navegador
Considerado en su lugarOBJOBJ

Qué se conserva

La animación se conserva. GLB y GLTF admiten varios fotogramas, así que el resultado sigue moviéndose.

Abrir el resultado

Blender, three.js y Babylon.js leen tanto GLB como GLTF, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

GLB es el formato de Khronos Group, publicado en 2016. Está recogido en glTF 2.0, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

GLTF viene de Khronos Group y es de 2015, recogido en glTF 2.0. Blender, three.js y Babylon.js lo leen.

De GLB a GLTF: preguntas frecuentes

¿Se sube a algún sitio mi archivo GLB?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.

¿Convertir GLB a GLTF es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.

¿Se pierde calidad al convertir GLB a GLTF?

GLB y GLTF describen el contenido de maneras radicalmente distintas. La conversión es por tanto una reconstrucción y no una copia: fiel, pero no idéntica byte a byte. Solo la geometría. Los materiales, los colores, las texturas y la animación no viajan, y un modelo colocado varias veces vuelve con cada copia fijada en su propia posición.

¿Se conserva la animación de GLB a GLTF?

La animación se conserva. GLB y GLTF admiten varios fotogramas, así que el resultado sigue moviéndose.

Más sobre estos formatos