OBJ (Wavefront 3D Object)
OBJ is a widely supported 3D model format that stores geometry (vertices, faces, normals, UVs) and references external material files (.mtl) for colors and textures. It is a common interchange format between 3D modeling, rendering, and game engines.
MIME Type
model/obj
Type
Binary
Compression
Lossless
Advantages
- + Supported by virtually every 3D application
- + Human-readable plain-text format
- + Supports geometry, normals, UVs, and materials
Disadvantages
- − No animation or skeletal rig support
- − Verbose text format — large files for complex models
- − Material references are external (.mtl), complicating file management
When to Use .OBJ
Use OBJ for exchanging 3D models between applications; use glTF for real-time rendering and STL for 3D printing.
Technical Details
OBJ is a plain-text format with lines starting with keywords: v (vertex), vn (normal), vt (texture coordinate), f (face). Material definitions are stored in companion .mtl files referenced by 'usemtl' directives.
History
Wavefront Technologies created OBJ in the 1980s for their Advanced Visualizer software. The format's simplicity and openness made it a universal 3D interchange standard, surviving decades of industry changes.