Skip to content
Back to Blog
format-comparisons

STL vs. OBJ vs. glTF: 3D-Dateiformate im Vergleich

2026-05-17 9 Min. Lesezeit

Warum die Wahl des Formats wirklich zählt

Wähle das falsche 3D-Dateiformat und du wirst Stunden damit verbringen, mit fehlenden Texturen, kaputter Geometrie oder einem Slicer zu kämpfen, der dein Modell einfach nicht öffnen will. STL, OBJ und glTF sind die Formate, die dir am häufigsten begegnen werden, aber sie stammen aus verschiedenen Jahrzehnten und wurden für völlig unterschiedliche Zwecke entwickelt. STL wurde bereits 1987 für die ersten 3D-Drucker standardisiert. OBJ erschien um 1992 als flexibles Austauschformat von Wavefront Technologies. Und glTF 2.0? Das wurde 2017 von der Khronos Group ratifiziert und von Grund auf für das Echtzeit-Rendering im Web entwickelt. Diese 30-jährige Kluft zwischen dem ältesten und dem neuesten Format erklärt fast jeden praktischen Unterschied. Eine Datei, die in PrusaSlicer einwandfrei gedruckt wird, sieht in einem Web-Viewer vielleicht wie ein grauer Klumpen aus, und ein für Spiele optimiertes Modell ist oft der totale Overkill für einen einfachen FDM-Desktopdrucker. Dieser Guide schlüsselt die Struktur, die Funktionen und die typische Dateigröße jedes Formats auf und hilft dir, die richtige Wahl zu treffen, bevor du überhaupt ans Konvertieren denkst – oder bevor du ein Tool wie CocoConvert bittest, das für dich zu erledigen.

STL: Das Arbeitspferd des 3D-Drucks

STL steht für Standard Tessellation Language, obwohl du es auch unter dem Namen STereoLithography hören wirst. Das Format ist brutal einfach: Es stellt eine 3D-Oberfläche als ein Netz aus Dreiecken dar. Das war's. Keine Farbe, keine Texturen, keine Materialien, nur reine Geometrie. Jedes Dreieck wird durch seine drei Eckpunkte und einen nach außen zeigenden Normalenvektor definiert. In einer binären STL-Datei sind diese Informationen in knappe 50 Bytes gepackt – 12 für die Normale, 36 für die Eckpunkte und ein 2-Byte-Wert für 'Attribute', der fast überall ignoriert wird. Diese Effizienz bedeutet, dass ein Modell mit einer Million Dreiecken auf überschaubare 50 MB kommt. Es gibt eine ASCII-Version, die für Menschen lesbar ist, aber sie ist 5-6 Mal größer, also ist die binäre Variante die richtige Wahl. Für den 3D-Druck ist die Einfachheit von STL seine größte Stärke. Slicer wie PrusaSlicer, Cura, Bambu Studio und Chitubox öffnen STLs alle nativ, ohne Wenn und Aber. Wenn du aus einem Programm wie Fusion 360 exportierst (Datei → Exportieren → .stl), kannst du die Feinheit einstellen und eine Sehnentoleranz von bis zu 0,001 mm festlegen. Dieser Wert bestimmt, wie eng sich die flachen Dreiecke an die ideale gekrümmte Oberfläche schmiegen. Eine geringere Toleranz erzeugt mehr Dreiecke und eine größere Datei, aber das ist der Schlüssel zu glatten Kurven bei deinem fertigen Druck. Aber die Grenzen des Formats sind genauso klar. Da es nur Geometrie enthält, kann es keine visuellen Informationen verarbeiten. Wenn dein Modell mehrere Farben oder unterschiedliche Materialoberflächen benötigt, hilft dir STL nicht weiter. Es hat auch kein Konzept für Einheiten. Ein Wert von '1,0' könnte ein Millimeter oder ein Zoll sein – eine klassische Quelle der Frustration für jeden, der schon mal ein Modell importiert hat, nur um festzustellen, dass es die Größe eines Staubkorns oder eines Wolkenkratzers hat.

OBJ: Geometrie plus Materialien, aber mit einem Haken

Standardmäßig sind OBJ-Dateien einfache ASCII-Textdateien, die Eckpunkte (v), Texturkoordinaten (vt), Normalen (vn) und Flächen (f) als einzelne Zeilen auflisten. Eine separate, begleitende MTL-Datei (Material Template Library) definiert die Materialien und verweist auf externe Texturbilder wie JPEGs oder PNGs. Diese Struktur mit mehreren Dateien ist das größte Ärgernis bei der Arbeit mit OBJ. Wenn du jemandem nur die .obj-Datei schickst, erhält er ein Modell ganz ohne Farbinformationen. Du musst sorgfältig darauf achten, die .obj, die .mtl und alle referenzierten Texturen in einer Zip-Datei oder einem geteilten Ordner zu bündeln, sonst sieht der Empfänger nur ein flaches graues Objekt. Die Rettung von OBJ ist seine massive Softwareunterstützung. Blender, Maya, Cinema 4D, ZBrush, Rhino – im Grunde kann jede existierende 3D-Anwendung es lesen und schreiben. Es hat auch einige wichtige Vorteile gegenüber STL, wie die Unterstützung für mehrere benannte Objekte in einer Datei, was es für komplexe Szenen besser geeignet macht. Außerdem kann es Flächen nicht nur mit Dreiecken, sondern auch mit Vierecken (Quads) und N-Gonen definieren. Das ist ein riesiger Vorteil für Künstler, die mit Subdivision-Modeling-Workflows arbeiten, da es die saubere Topologie bewahrt, die sie so mühsam erstellt haben, bevor sie für das endgültige Rendern oder Drucken trianguliert wird. Die Dateigrößen können riesig werden. Ein detailliertes Architekturmodell kann aus einer 200 MB großen OBJ-Datei, einer winzigen 5 KB großen MTL-Datei und hochauflösenden Texturen im Wert von 800 MB bestehen. Das Format hat keine eingebaute Kompression, obwohl einige Tools eine komprimierte .objz-Variante anbieten. OBJ fehlt außerdem jegliche Unterstützung für moderne Funktionen wie Animation, Skelett-Rigging oder komplexe Szenenhierarchien. Das macht es zu einer schlechten Wahl für Game-Assets oder jegliche interaktive Erlebnisse. Um statische, visuell reichhaltige Modelle zwischen verschiedenen Programmen auszutauschen, ist OBJ immer noch ein notwendiges Übel – denk nur daran, all seine Freunde im selben Ordner zu behalten.

glTF: Das JPEG der 3D-Formate

Die Khronos Group nennt glTF 2.0 bekanntermaßen das 'JPEG des 3D', und die Analogie ist perfekt. Es ist ein Format, das für die effiziente Bereitstellung und schnelles Laden entwickelt wurde, nicht für die aktive Bearbeitung. Eine glTF-Datei ist JSON-basiert und kann auf externe Binärdaten (.bin) und Texturen verweisen. Noch besser: Sie kann in eine einzige, in sich geschlossene Binärdatei mit der Erweiterung .glb gepackt werden. Für jede Art der Weitergabe solltest du immer GLB verwenden. Es ist eine einzige Datei, es können keine Assets verloren gehen, und sie ist oft 20–40 % kleiner als das entsprechende OBJ-Paket, sobald die Texturen eingebettet sind. glTF 2.0 wurde mit moderner Grafikhardware im Hinterkopf entwickelt, weshalb es von Haus aus Physically-Based Rendering (PBR)-Materialien unterstützt. Sein Kernmaterialmodell verwendet Metallic-Roughness-Parameter, die direkt dem entsprechen, was Engines wie Three.js, Babylon.js, Unity und Unreal erwarten. Stell einen Metallic-Wert von 1,0 und eine Roughness von 0,1 ein, und du erhältst überzeugendes Chrom. Stell Metallic auf 0,0 und Roughness auf 0,8, und du bekommst einen flachen, matten Kunststoff. Diese Eigenschaften werden direkt in der Datei gespeichert, sodass das Modell überall gleich aussieht, ohne dass du in jeder Anwendung die Materialien manuell neu zuweisen musst. Hier zieht glTF auch an älteren Formaten weit vorbei. Es unterstützt Morph-Targets, Skelettanimationen, mehrere Kameras und eine vollständige Szenenhierarchie. Erweiterungen fügen sogar Unterstützung für fortgeschrittene visuelle Effekte wie Glas (Transmission) und wachsartige Materialien (Subsurface Scattering) hinzu. Eine einzige GLB-Datei kann einen Produktkonfigurator auf einer Website, eine AR-Vorschau in einer mobilen App und einen Charakter in einem Browserspiel antreiben. Aber glTF ist ein schreckliches Format für die iterative Bearbeitung. Du würdest genauso wenig direkt in glTF modellieren, wie du einen Roman in einem PDF bearbeiten würdest. Jedes Mal, wenn du nach glTF exportierst, wird die Geometrie typischerweise trianguliert und komplexe Material-Shader werden in einfache PBR-Texturen 'gebacken'. Ein Modell durch diesen Prozess hin- und herzuschicken, wird seine Qualität mindern. Betrachte glTF also als das endgültige Lieferformat für Web- und Echtzeitprojekte, aber behalte deine Originaldateien immer in einem nativen Format wie `.blend`.

Direkter Vergleich: Eine praktische Übersicht

So schlagen sich die drei Formate bei den Kriterien, die in einem Produktionsworkflow wirklich zählen. **Geometrie-Unterstützung:** Alle drei können ein einfaches Dreiecksnetz verarbeiten. OBJ ist flexibler und unterstützt zusätzlich Quads und N-Gons, was beim Modellieren nützlich ist. glTF konzentriert sich auf renderfertige Daten und unterstützt Dreiecke und Liniensätze (für Drahtgittermodelle). **Farbe und Materialien:** STL ist farbenblind; es hat keine native Unterstützung. OBJ verwendet externe MTL-Dateien, um einfache Materialien mit Phong-Shading zu definieren. glTF ist hier der klare Gewinner, mit einem vollständigen PBR-Materialmodell, das direkt in das Format integriert ist. **Texturen:** Auch hier hat STL keine. OBJ verlässt sich auf externe Bilddateien, die von seiner MTL-Begleitdatei referenziert werden. glTF kann entweder externe Texturen referenzieren oder sie im GLB-Format direkt einbetten. Es hat dedizierte Slots für Basisfarbe, Normalen-, Metallic-Roughness-, Umgebungsverdeckung- (Occlusion) und Emissions-Maps. **Animation:** Das ist einfach. STL und OBJ haben keine Animationsunterstützung. glTF unterstützt sowohl Skelett- als auch Morph-Target-Animationen, was es zur einzigen Wahl der drei für animierte Inhalte macht. **Typische Dateigröße:** Bei einem Modell mittlerer Komplexität (ca. 500.000 Dreiecke, ein Material) ist eine binäre STL-Datei etwa 25 MB groß. Das Äquivalent als OBJ mit MTL und Texturen kann je nach Texturgröße zwischen 35 und 120 MB liegen. Eine GLB-Datei kann dies dank moderner Kompression auf nur 8–25 MB schrumpfen. **Software-Kompatibilität:** STL ist die universelle Sprache von 3D-Druck- und Fertigungs-Tools. OBJ ist das klassische Austauschformat, das von fast jedem Tool zur Erstellung digitaler Inhalte (DCC) unterstützt wird. glTF ist heute die dominierende Kraft für alles, was mit Echtzeit und Web zu tun hat, und die Unterstützung in DCC-Anwendungen wird täglich besser. **Hauptanwendungsfall:** Schicke eine STL-Datei an deinen FDM-, SLA- oder SLS-3D-Drucker. Verwende OBJ, um ein statisches Modell zwischen verschiedenen Modellierungs- und Rendering-Programmen zu verschieben. Wähle glTF (insbesondere GLB) für Web-Viewer, AR/VR, Game-Engines und E-Commerce. Wenn du ein physisches Teil druckst, exportiere eine STL. Wenn du ein detailliertes Architekturmodell an einen Rendering-Künstler schickst, ist OBJ eine sichere Wahl (obwohl FBX vielleicht besser wäre). Wenn du ein Produkt auf eine Website oder in eine AR-App stellst, ist GLB die einzig richtige Antwort.

Konvertieren zwischen Formaten: Was funktioniert und was nicht

CocoConvert kann die gängigsten Konvertierungsaufgaben bewältigen: STL zu OBJ, OBJ zu STL, OBJ zu glTF/GLB und GLB zu OBJ. Wenn du nur Geometrie konvertierst – insbesondere alles, was mit STL zu tun hat – ist der Prozess absolut zuverlässig. STL enthält nur Dreiecksdaten, und diese Informationen lassen sich sauber auf die Geometrie-Abschnitte von OBJ und glTF übertragen. Die eigentliche Herausforderung besteht darin, von einem reichhaltigen Format zu einem einfacheren zu wechseln. Wenn du eine voll texturierte OBJ-Datei in eine STL konvertierst, werden alle Material- und Texturdaten entfernt. Warum? Weil das STL-Format buchstäblich keinen Platz dafür hat. CocoConvert wird dich davor warnen, aber es kann nicht auf magische Weise Funktionen in einem Format erstellen, das sie nicht unterstützt. Für die meisten Leute ist es ohnehin genau das, was sie brauchen: die reine Geometrie für einen 3D-Drucker. Die Konvertierung von OBJ zu GLB ist eine beliebte Aufgabe, aber es ist keine einfache 1:1-Übertragung. CocoConvert arbeitet daran, die alten Phong-basierten MTL-Parameter in moderne PBR-Äquivalente zu übersetzen. Die diffuse Farbe wird zur Basisfarbe, und der Glanzlicht-Exponent (der 'Ns'-Wert in einer MTL-Datei) wird verwendet, um die Rauheit (Roughness) anzunähern. Dies ist eine Annäherung, keine perfekte Übersetzung. Ein glänzender Kunststoff, der in einem alten Renderer perfekt aussah, kann in einem PBR-Viewer leicht anders aussehen. Für geschäftskritische Arbeiten erzielst du die besten Ergebnisse, wenn du direkt aus deiner ursprünglichen Authoring-Anwendung (wie Blender oder Maya) nach glTF exportierst, was dir die volle Kontrolle über das PBR-Material-Setup gibt. Es ist auch wichtig zu wissen, dass CocoConvert derzeit keine animierten GLB-Dateien unterstützt. Wenn du eine GLB-Datei mit Skelettanimation hochlädst und sie in OBJ konvertierst, gehen diese Animationsdaten verloren, und du erhältst ein statisches Mesh in seiner Standardpose. Wir arbeiten aktiv an Konvertierungen, die Animationen berücksichtigen, aber im Moment ist der eingebaute glTF-Exporter von Blender (Datei → Exportieren → glTF 2.0) das zuverlässigste Werkzeug für den Umgang mit animierten Assets.

Das richtige Format für dein Projekt wählen

Die richtige Wahl ist eigentlich einfacher, als es scheint, sobald du weißt, wohin die Datei gehen soll. Geht dein Modell an einen 3D-Drucker? Verwende STL. So einfach ist das. Jeder Slicer auf dem Planeten bevorzugt es, die Dateien sind angemessen klein, und das Fehlen von Funktionen spielt keine Rolle, da Drucker keine Materialien rendern. Stell nur sicher, dass du eine binäre STL exportierst, keine ASCII, und setze deine Sehnentoleranz eng genug für glatte Kurven – 0,01 mm ist ein guter Ausgangspunkt für ein 200 mm hohes Modell. Geht dein Modell an verschiedene 3D-Modellierungsprogramme oder an einen Rendering-Künstler? OBJ ist das klassische, sichere Austauschformat. Sei einfach diszipliniert: Bewahre die MTL-Datei und alle Texturdateien mit klaren Namen im selben Ordner auf. Und bitte, vermeide Leerzeichen in Dateinamen; du wärst überrascht, wie viele ältere Tools sich immer noch daran verschlucken. Wenn deine Szene komplex ist, könntest du auch FBX in Betracht ziehen, das Szenenhierarchien und Animationen besser bewahrt, obwohl es seine eigenen proprietären Macken hat. Ist dein Modell für das Web, eine AR-App, ein Spiel oder einen beliebigen Echtzeit-Viewer bestimmt? Verwende GLB. Es gibt keine bessere Wahl. Das Einzeldateipaket verhindert fehlende Assets, das PBR-Materialmodell sorgt für visuelle Konsistenz, und moderne Kompressionen wie Draco und KTX2 können ein 50 MB großes Asset mit kaum merklichem Qualitätsverlust auf 5 MB schrumpfen lassen. Es ist die Muttersprache des modernen 3D-Webs. Wenn du dir jemals unsicher bist, was ein Kunde oder Partner braucht, frag einfach, welche Software sie verwenden. Diese eine Frage wird dir deine Antwort geben. Ein Cura-Benutzer braucht eine STL. Ein Blender-Künstler kann mit OBJ oder GLB arbeiten. Ein Webentwickler, der einen Produkt-Viewer baut, wird definitiv nach einer GLB fragen. Das Format auf das Ziel-Tool abzustimmen, erspart allen Kopfschmerzen.