Convertir STL a OBJ

Aquí puedes convertir STL a OBJ 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 OBJ funciona de otra manera que STL. No es la degradación gradual de un códec con pérdida: lo que OBJ 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.

Sacar un STL del mundo de la impresión para poder cambiarlo

STL existe para laminarse. Lleva triángulos y nada más, que es justo lo que un laminador quiere y justo lo que un programa de modelado no: sin grupos que aislar, sin materiales que asignar, sin nombres que buscar y, sobre todo, sin vértices compartidos. Todo lo que hace un modelador empieza por seleccionar una parte de la malla, y un STL no le ofrece nada que seleccionar.

OBJ es el tipo de archivo contrario: texto, indexado, agrupado, importado por todo y lo bastante antiguo como para que lo lea un programa de 1998. No es mejor formato que STL en abstracto; es el formato que cualquier herramienta de una cadena de modelado trata como opción por defecto, que es exactamente lo que quieres cuando el siguiente paso está en el programa de otra persona.

Soldar los vértices es lo que hace seleccionable la malla

Un cubo dentro de un STL son doce triángulos con treinta y seis vértices, porque cada triángulo lleva sus tres esquinas por separado y las ocho esquinas reales están escritas cuatro o cinco veces cada una. Importa eso sin tocar y cada triángulo es su propia isla: seleccionar lo enlazado coge una cara, seleccionar un bucle no encuentra bucle, subdividir abre huecos y el sombreado suave no tiene normales compartidas que promediar, así que la superficie sigue facetada pongas lo que pongas.

El lector de este sitio fusiona los vértices coincidentes antes de escribir nada. La clave de comparación se redondea a seis decimales, porque dos triángulos que se tocan en una arista discrepan con toda normalidad en el último bit de un número en coma flotante: seis decimales están muy por debajo de cualquier tolerancia imprimible y muy por encima del ruido. El cubo sale con ocho vértices y doce caras, que es una malla en el sentido en el que un modelador usa la palabra.

Qué contiene exactamente el OBJ que sale de aquí

Una línea de comentario, una línea «o» que nombra el único grupo, después una línea «v» por vértice y una línea «f» por triángulo. Ese es el archivo entero. Los índices empiezan en uno, como exige OBJ, y se cuentan a lo largo de todo el archivo y no por grupo.

No hay líneas «vt» porque un STL no tiene coordenadas de textura, ni «vn» porque las normales se pueden deducir, ni «usemtl» porque no hay material, ni referencia «mtllib» porque no hay biblioteca de materiales que referenciar. Cualquier cosa que abra OBJ va a leerlo; no queda nada raro dentro sobre lo que dos importadores puedan discrepar.

Un único grupo llamado mesh_1 y cómo separar las piezas

Un STL no tiene concepto de objeto, así que el OBJ sale con un grupo y ese grupo se llama mesh_1. Un modelo montado a partir de un cuerpo, una tapa y un asa llega como un solo grupo con tres cascarones desconectados dentro.

Todos los programas de modelado saben partir eso. Blender lo hace con «Separar por partes sueltas» en modo edición, MeshLab tiene «Split in Connected Components» y Maya y 3ds Max tienen su equivalente. Lo que ninguno puede hacer es recuperar los nombres, porque el STL nunca los tuvo. Si los nombres importan y tienes alguna influencia sobre el archivo de origen, 3MF y OBJ los conservan y STL nunca lo hará.

No se escriben normales, y es la decisión correcta

Un STL guarda una normal por cara. No se escribe en el OBJ y no se pierde nada: la normal de una cara queda completamente determinada por el orden de giro de sus tres esquinas, y todos los programas la recalculan al importar. Varios laminadores ignoran el valor guardado por completo, precisamente porque muchos escritores lo ponen mal.

La ausencia de normales por vértice es más interesante. Sin ellas, el importador calcula las suyas, y en una malla soldada eso significa promediar entre los vértices compartidos, de modo que el modelo llega listo para sombrearse suave o plano según elijas, con la decisión viviendo en tu programa y no cocida dentro del archivo. En un volcado de CAD convertido, añadir un umbral de aristas marcadas te da los chaflanes nítidos y los cilindros suaves en un solo paso.

Cómo se decide si tu STL es binario o de texto

Se convierten los dos dialectos y el archivo no dice cuál es. La prueba habitual —¿empieza por la palabra «solid»?— está mal, porque un STL binario puede llevar cualquier cosa en sus ochenta bytes de cabecera y varios escritores ponen ahí precisamente esa palabra, con lo que se produce un archivo que parece texto y no lo es.

La prueba fiable es aritmética: un STL binario mide exactamente 84 más 50 por el número de triángulos que declara su cabecera, y ninguna otra cosa mide eso. Es lo que se comprueba. Si la cuenta no cuadra, el archivo se descodifica como texto y se leen todas sus líneas de vértice. Un archivo que no sea ninguna de las dos cosas —truncado, o STL solo en el nombre— se detiene con un mensaje en vez de producir una malla vacía.

El taller que recibe la pieza de un proveedor

Hay un lector muy concreto detrás de esta página en España y en América Latina: el taller de un ciclo de Formación Profesional, un fablab municipal, el laboratorio de prototipos de una escuela de ingeniería, la pequeña ortopedia que adapta una férula. En todos esos sitios la pieza llega ya como STL, porque es lo que exporta el CAD del cliente y lo que sale de un repositorio de modelos, y hay que modificarla en lugar de imprimirla tal cual.

La herramienta de modelado suele ser Blender o MeshLab, por licencia y por presupuesto, y ambas importan STL sin protestar. El problema no es abrirlo: es que después no se puede seleccionar nada. Convertirlo pasando por la soldadura de vértices es la diferencia entre pelearse con una nube de triángulos sueltos y trabajar con una malla normal, y es un paso que dura un segundo.

Eje y escala al importar el OBJ en Blender

Hay dos ajustes que conviene mirar en la importación. El eje vertical: OBJ no tiene convención al respecto y el importador de Blender asume que la Y apunta hacia arriba, mientras que un STL salido de CAD o de impresión casi siempre tiene arriba la Z, así que el modelo llega tumbado si no lo cambias.

Y la escala: ninguno de los dos formatos declara unidad, de modo que si el STL estaba en milímetros, una escena de Blender en metros va a tratar una pieza de 60 mm como sesenta metros. Después de importar, el primer movimiento útil en cualquier malla de CAD convertida es fusionar por distancia con un umbral muy pequeño, que atrapa lo que la soldadura a seis decimales no cogió porque la geometría de origen discrepaba de verdad.

Todo son triángulos, y qué significa eso para editar

La malla queda soldada y sigue siendo enteramente de triángulos, porque es todo lo que el STL contenía. Los cuadriláteros y los polígonos de más lados no se pueden recuperar: la información sobre qué parejas de triángulos fueron un cuadrilátero no está en el archivo y no se deduce de forma fiable. Esculpir, hacer operaciones booleanas, decimar y medir funcionan bien sobre triángulos.

Lo que no funciona bien es el modelado con superficies de subdivisión y cualquier flujo de trabajo que dependa de un flujo de aristas limpio, que quieren cuadriláteros. Si vas a seguir trabajando sobre este modelo en lugar de hacerle un cambio y devolverlo, retopologizar es el paso honesto: el remallado cuadrangular de Blender, ZRemesher o InstantMeshes te dan una malla de cuadriláteros en una pasada, y el OBJ convertido es una entrada perfectamente válida para cualquiera de ellos.

Materiales, colores y texturas: no hay nada que llevar

Esta conversión mueve geometría: dónde están los triángulos, y nada más. No hay materiales, ni texturas, ni coordenadas UV, ni colores por vértice, ni cámaras, ni luces, ni animación, ni grafo de escena. Y en este par concreto eso no cuesta nada, porque el STL tampoco tenía ninguna de esas cosas.

La consecuencia práctica es que no se genera ningún archivo MTL al lado y el OBJ no referencia ninguno, de modo que tu programa aplicará su material por defecto. Si esperabas un color, tendrás que ponerlo tú. Donde esto sí importa es en la dirección contraria y con otros formatos de origen: convertir un GLB con texturas a OBJ deja las texturas fuera por la misma razón, y ahí sí hay pérdida real.

El tamaño del OBJ frente al STL del que salió

Hay dos efectos que tiran en direcciones opuestas y ninguno de los dos se puede resumir en un factor. La soldadura elimina la mayor parte de la duplicación: en una malla típica cada vértice lo comparten cinco o seis triángulos, así que la lista de vértices se encoge más o menos en esa proporción. El texto expande lo que queda: un número en coma flotante de cuatro bytes pasa a ser una tirada de cifras decimales, y las líneas de caras añaden lo suyo.

Qué gana de los dos depende de la malla concreta, así que lo sensato es convertir y mirar en lugar de fiarse de una regla. El techo gratuito es de 100 MB por archivo, y una malla que se acerque a esa cifra ya es más densa de lo que casi ninguna sesión de modelado necesita. Si el STL es muy grande, decimar antes de convertir es más rápido que decimar después.

Dónde se convierte el STL y por qué eso importa aquí

En esta pestaña, con JavaScript corriente. No se descarga ningún módulo de WebAssembly, no se sube nada, no hay cuenta y no hay cuota diaria; abrir la pestaña de red del navegador y convertir algo es la forma de comprobarlo en vez de creérselo.

Un STL es con muchísima frecuencia el diseño de otra persona: la pieza de un cliente, la geometría de un proveedor, un componente cubierto por un acuerdo de confidencialidad. Y el trabajo de modelado del que trata esta página es justo la situación en la que eso es cierto. Una conversión que no envía el archivo a ninguna parte evita la pregunta en lugar de tener que responderla.

Cómo convertir STL a OBJ

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

STL frente a OBJ: qué cambia

STL frente a OBJ
STLOBJ
Nombre completoStereolithographyObjeto Wavefront
Extensión de archivo.stl.obj
Tipo de mediomodel/stlmodel/obj
Publicado por primera vez19871992
Publicado por3D SystemsWavefront Technologies
LicenciaEstándar abiertoEstándar abierto
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorNingún navegador
Considerado en su lugar3MF, PLYGLTF, PLY

Abrir el resultado

Blender lee tanto STL como OBJ, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

Los dos apuntan a trabajos distintos: STL a la impresión 3D y OBJ a mover datos entre programas y la edición. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.

OBJ viene de Wavefront Technologies y es de 1992. Blender, MeshLab y Maya lo leen.

De STL a OBJ: preguntas frecuentes

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

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 STL a OBJ 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 STL a OBJ?

STL y OBJ 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.

¿Tengo que instalar algo para abrir un archivo OBJ?

Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Wavefront Object.

Más sobre estos formatos