Qu’est-ce qu’un fichier .obj ? Textures absentes, ouverture sur Mac
OBJ est un format texte de maillages 3D que Wavefront a créé vers 1990, et que presque tous les logiciels 3D et apps de scan 3D lisent et écrivent encore. Il ne contient toutefois pas lui-même les couleurs et les textures : elles se trouvent dans un fichier .mtl séparé et dans des images, et quand elles se perdent en route, le modèle arrive blanc ou gris.
En bref
- Extension
- .obj, .mtl
- Type
- Maillage de triangles
- Créé par
- Wavefront Technologies
- Depuis
- vers 1990
- Norme
- Pas une norme officielle
- Spécification
- Wavefront OBJ (Paul Bourke)
- macOS sans app
- L’ouvre et affiche des aperçus
Faits vérifiés le 4 novembre 2026
Du texte lisible, ligne par ligne
Un octaèdre complet en OBJ ressemble à ceci :
o octahedron
v 10 0 0
v -10 0 0
v 0 10 0
v 0 -10 0
v 0 0 10
v 0 0 -10
f 5 1 3
f 5 3 2
f 5 2 4
f 5 4 1
f 6 3 1
f 6 2 3
f 6 4 2
f 6 1 4Une ligne v est un sommet, une ligne f une face faite de numéros de sommets. Le comptage commence à un, et un nombre négatif compte à rebours depuis la ligne courante. Contrairement au STL, les faces partagent ici les sommets, si bien que le fichier ne répète pas le même point. Une face n’a pas non plus besoin d’être un triangle : quadrilatères et polygones quelconques sont acceptés.
Un export depuis Blender ajoute des normales (vn), des coordonnées de texture (vt), des groupes de lissage (s) et, surtout, une référence au fichier de matériaux :
# Blender 5.1.0
mtllib cylinder.mtl
o cylinder
v 17.677670 0.000000 17.677670
vn -0.0000 -1.0000 -0.0000
s 0
f 1//1 2//1 3//11//1 signifie le sommet 1 avec la normale 1, sans coordonnée de texture.
Le fichier .mtl et les textures : ce qui doit voyager avec un OBJ
Les couleurs et les matériaux ne sont pas dans l’OBJ, mais dans un fichier que l’OBJ nomme sur sa ligne mtllib. Dans le .mtl, chaque matériau se trouve sous newmtl, sa couleur sous Kd et sa texture sous map_Kd, sous forme de chemin vers une image. Un modèle, c’est donc souvent trois sortes de fichiers à la fois :
- le .obj avec la géométrie,
- le .mtl, exactement sous le nom indiqué sur la ligne
mtllib, - les images de texture aux chemins indiqués par le .mtl, souvent dans un sous-dossier.
J’ai fait l’essai avec le framework Model I/O d’Apple. Un triangle avec Kd 1 0 0 dans son .mtl se charge en rouge, et une texture placée dans un sous-dossier se charge aussi. Quand le .mtl n’est pas à côté du .obj, le framework signale « Unable to find mtl file » et le modèle est blanc.
La facilité avec laquelle le lien se rompt se voit dans le jeu de test de Preview3D lui-même. Le fichier 07-mesh.obj a été renommé et son .mtl s’appelle 07-mesh.mtl, mais l’OBJ indique toujours mtllib cylinder.mtl. Il a suffi de renommer un fichier. Un chemin de texture absolu dans le .mtl, comme C:\Users\…, fait la même chose sur un autre ordinateur.
Envoyez donc un OBJ sous forme de dossier complet ou de ZIP. Si vous avez besoin d’un modèle avec ses textures dans un seul fichier, enregistrez-le en GLB.
Ni unités, ni hiérarchie
L’OBJ n’a pas d’unités. Blender a exporté un cylindre de 54 mm de diamètre en 54 × 25 × 54 (avec l’axe Y vers le haut) ; en glTF, le même cylindre ferait 0,054. Ce que signifient les nombres, un programme ne peut que le deviner à l’import.
L’OBJ n’a pas non plus de hiérarchie d’objets, d’animation, de caméras ni de lumières. Les couleurs par sommet (v x y z r g b) ne font pas partie de la spécification. Ce sont surtout les scanners qui les utilisent, et seuls certains programmes les lisent — selon la Bibliothèque du Congrès, MeshLab, three.js et Aperçu sur Mac, par exemple.
D’où vient l’OBJ
L’OBJ a été créé pour l’Advanced Visualizer de Wavefront Technologies. Personne ne connaît l’année exacte ; la Bibliothèque du Congrès dit « vers 1990 ». La description subsiste en annexe d’un manuel datant d’environ 1992, celle du .mtl date de 1995. Wavefront a fusionné avec Alias en 1995, et Autodesk a racheté Alias en 2006. Le format est décrit ouvertement, mais personne ne le maintient.
La spécification décrit aussi des courbes et des surfaces NURBS et de Bézier que presque aucun programme ne lit, et mentionne une variante binaire .mod qui n’a jamais été documentée.
Comment ouvrir un OBJ sur Mac, iPad et iPhone
macOS connaît l’OBJ de lui-même. Selon la Bibliothèque du Congrès, Aperçu l’ouvre depuis OS X 10.11, et sur macOS 27 (vérifié sur 27.0.1), Quick Look et les vignettes du Finder l’affichent aussi. Comme l’OBJ est du texte, il peut s’ouvrir dans TextEdit si l’app par défaut a changé. Dans le Finder, choisissez alors Lire les informations → Ouvrir avec, sélectionnez Aperçu et cliquez sur Tout modifier.
Autres options :
- Blender et MeshLab sont gratuits et ouvrent l’OBJ avec ses matériaux.
- Preview3D, mon app, ouvre l’OBJ sur Mac, iPad, iPhone et Apple Vision Pro.
Preview3D lit l’OBJ via Model I/O. Quand un fichier n’a pas de normales, elle les calcule, pour que le modèle ne ressorte ni plat ni noir. Infos du modèle affiche les dimensions dans les unités du fichier et le nombre de triangles, avec une vérification du maillage. Il y a trois vues avec arêtes vives. Sur iPad et iPhone, elle pose le modèle sur votre bureau en RA, ajusté au bureau, car l’OBJ n’a pas d’unité.
Convertir un OBJ en STL
Sur Mac, Preview3D convertit depuis Fichier → Exporter le modèle sous… (⌥⌘E) en STL ou PLY, sans rien envoyer en ligne. Le STL ne connaît que les triangles : les quadrilatères et les polygones sont donc découpés en route. Les nombres restent les mêmes, vérifiez donc la taille dans le trancheur (slicer) après la conversion. Et le STL ne porte ni matériaux ni textures.
Questions fréquentes
Pourquoi mon OBJ s’est-il ouvert sans textures ?
Son .mtl ou ses images manquent, ou leurs noms et chemins ne correspondent pas. Gardez le .obj, le .mtl et les textures dans un même dossier, et vérifiez que mtllib dans l’OBJ nomme le bon .mtl.
Qu’est-ce qu’un fichier .mtl ?
Un fichier texte de matériaux pour un OBJ : couleurs, brillance et chemins des textures. L’OBJ y fait référence par son nom.
L’OBJ a-t-il des unités ?
Non. Les coordonnées ne sont que des nombres, et un programme devine à l’import s’il s’agit de millimètres ou de mètres.
STL ou OBJ : lequel est le mieux pour l’impression 3D ?
Pour une pièce d’une seule couleur, le STL suffit. L’OBJ est utile quand vous avez besoin de matériaux et de textures. Pour l’impression couleur, le 3MF est le format conçu pour cela.
Un Mac ouvre-t-il l’OBJ sans autre app ?
Oui, Aperçu et Quick Look s’en chargent.
Pourquoi mon OBJ s’ouvre-t-il dans TextEdit ?
L’OBJ est du texte, et son app par défaut a peut-être changé. Dans le Finder, choisissez Lire les informations → Ouvrir avec, sélectionnez Aperçu ou une autre visionneuse 3D, puis cliquez sur Tout modifier.
Pages associées
- Le fichier .stl — le format d’impression vers lequel on convertit le plus souvent l’OBJ
- Les fichiers .gltf et .glb — un modèle avec ses textures dans un seul fichier
- Le fichier .fbx — des scènes entières, animation comprise
Sources
- Bibliothèque du Congrès : OBJ — historique, couleurs de sommets, prise en charge par Aperçu
- Paul Bourke : le format OBJ et MTL
- IANA : model/obj
- Apple : Model I/O
- Blender Artists : les fichiers .mtl ne se chargent pas
- three.js : textures qui ne se chargent pas avec OBJLoader et MTLLoader
Vous avez un OBJ arrivé sur votre Mac sans textures, alors que le .mtl était juste à côté ? Écrivez-moi à apps@xfanta.com en indiquant le programme dont il venait.
Ouvrez-le dans Preview3D
STEP, 3MF, STL, G-code, BGCODE et plus sur Mac, iPad, iPhone et Vision Pro. Un seul achat, sans compte, sans réseau.
Preview3D sur l’App Store