OBJ to GLB

Combine OBJ + MTL into a single GLB file for convenient web preview.

Workspace

Drop files here

or click to browse, paste supported

About This Tool

Package scattered OBJ assets into a single GLB file for web and cross-platform display. OBJ, MTL and textures are packed locally in your browser; files are never uploaded.

About Configuration Options

General Settings

Up axis

Y-up

Determines the 'up' axis of the exported model. Different 3D software uses different conventions. Selecting the wrong system may cause the model to lie on its side.

  • Y-upRecommended: Convention used by OpenGL, Three.js, and most Web 3D engines. Choose this for models from web or game engines.
  • Z-up: Convention used by Blender (default), 3ds Max, and some CAD software. Try this if the model appears sideways.

Rotation X

0°-180° – 180°

Rotate the model around the X axis (degrees). Useful for correcting axis misalignment or print orientation.

Rotation Y

0°-180° – 180°

Rotate the model around the Y axis (degrees). Useful for correcting axis misalignment or print orientation.

Rotation Z

0°-180° – 180°

Rotate the model around the Z axis (degrees). Useful for correcting axis misalignment or print orientation.

Rotation Application

Root node transform

Choose how rotation is written to the exported model. Baking into vertices rewrites all vertex coordinates so every export format (including geometry-only formats such as STL and STEP) applies it consistently; root node transform keeps the original vertex coordinates, which is friendlier to animated or skinned models, but formats that ignore node transforms (such as STEP) won't apply the rotation.

  • Bake into vertices: Rotation is written into all vertex coordinates and applies consistently to every export format; geometry data is rewritten.
  • Root node transformRecommended: Rotation is written as a root node transform while vertex coordinates stay unchanged; better for skinned or animated models, but formats that ignore node transforms (such as STEP) won't apply it.

Format Information

Input format

Extension:
obj
Full Name:
Wavefront OBJ
Type:
3D Model
Format:
OBJ
Tools:
Blender、Maya、3ds Max
Description:
OBJ is an open 3D geometry format introduced by Wavefront in the 1980s. It uses human-readable text to record vertices, normals, UV coordinates, and face connections, and is supported by nearly all 3D software, making it a safe choice for cross-software mesh exchange. Materials and textures are usually defined in an accompanying .mtl file, which must be placed in the same directory. OBJ does not contain animation or skeleton data, only static meshes. It is not suitable as a final format for character animation workflows. Additionally, the text encoding makes large model files bulky and complex scenes load slowly. For single-file delivery with embedded textures, GLB is a better option.

Notes:

  • MTL file must stay with OBJ file for materials
  • No support for animation or skeletons

Supported Features:

  • Human-readable text format
  • Separate geometry (.obj) and material (.mtl) files
  • Universal software support
  • UV coordinates and normal preservation

Output format

Extension:
glb
Full Name:
GL Transmission Format Binary (glTF 2.0)
Type:
3D Model
Format:
GLB
Description:
GLB is the binary glTF 2.0 format from Khronos Group, packing meshes, materials, textures, and animations into one file. It is the standard for Web 3D and AR/VR, used by Three.js, Babylon.js, model-viewer, and e-commerce previews for self-contained, reliable distribution. GLB supports PBR materials, skeletal animations, Draco and Meshopt compression, suitable for web, AR, and cross-software use. However, it loses CAD parametric history when tessellated from STEP or native CAD. For 3D printing, use STL or 3MF as slicers cannot import GLB.

Notes:

  • Some 3D printing slicers cannot directly import GLB files
  • Not suitable for CAD parametric editing

Supported Features:

  • Single self-contained binary file
  • PBR material support (base color, metallic, roughness, normal maps)
  • Skeletal animation, skinning, and morph targets
  • Draco mesh compression and KTX2 texture compression
  • Multi-mesh nodes and scene hierarchy

Frequently Asked Questions

View all FAQs
Q

How is MTL handled?

A

The MTL file is parsed automatically and its textures are embedded into the GLB whenever possible. Materials are converted to GLB's PBR format. If a referenced texture is missing, the material may appear gray.

Q

Wrong orientation?

A

Check the orientation in the preview. Some models have axis conventions different from GLB, so you may need to correct the rotation in a DCC software before converting. Preview normally before exporting.

Q

Are multiple objects merged?

A

Objects are not merged; they keep their own positions and transforms and are exported together in the GLB. Each mesh remains a separate node, which is convenient for later editing in 3D software.

Q

How many UV sets are supported during conversion?

A

The conversion preserves only the first UV set from the OBJ file. Additional UV sets are not supported in the GLB format, so they are ignored. If you need multiple UV maps, consider re-baking your textures before conversion.

Q

Is the GLB output smaller than my OBJ file?

A

Usually, yes. OBJ stores geometry as readable text, while GLB is a compact binary format, so the GLB is often a fraction of the OBJ's size, especially for detailed meshes. This makes it a good choice for web delivery.

Q

My OBJ file uses several materials: will they all be converted?

A

Yes. Each material from the MTL is converted into a separate material in the GLB, and the faces keep their original material assignments, so multi-material models retain their look.