Free tools / FBX → OBJ

FBX to OBJ.

Convert supported binary or ASCII FBX meshes to static OBJ geometry. Preview the shape and download locally; rigs, animation and materials are omitted.

Specification

What this tool does

Reads supported binary or ASCII FBX scenes, bakes node transforms, expands instances and writes the static geometry as Wavefront OBJ with normals and UVs. Skeletons, animation, materials and embedded textures are not carried over.

Inputs
Binary or ASCII FBX (version 6400 and later as supported by the three.js loader)
Outputs
OBJ text with positions, normals and UVs; coordinates copied from the FBX
Controls
None; the conversion is deterministic
Limits
Model 64 MiB per file; expanded geometry is bounded at 1,000,000 vertices
Static bind-pose geometry only
No MTL file is written

Privacy: Files are parsed, previewed and written back inside your browser. Nothing is uploaded, no account is needed and no generation credits are spent.

Maintained by Bake3D · Updated

Convert FBX geometry into a simpler OBJ

FBX can describe much more than a mesh: a scene hierarchy, joints, animation, materials, cameras and application-specific data. OBJ is useful when you need static geometry that another tool can read without that larger scene structure. This converter reads the FBX, bakes the supported mesh transforms and writes an OBJ for download.

The operation is deliberately geometry-focused. Skeletons, skin weights, animation clips and morph targets are not transferred. Material images and an MTL file are not part of the output. If your task depends on animation or texture fidelity, keep the FBX or use a rig-preserving format such as GLB. The Blender import guide explains a separate animated-asset workflow.

Conversion steps

  1. Choose a binary or ASCII .fbx file exported by your modeling application. The local tool accepts files up to 64 MiB.
  2. Wait for parsing and inspect the resulting geometry. Check that the expected visible parts are present and their relative placement looks right.
  3. Compare the triangle and mesh counts with what you intended to export. Hidden geometry is excluded from the flattened result.
  4. Download the OBJ and import it into the destination application.
  5. Set the destination’s units and orientation to match your authoring workflow, then inspect a known distance and the surface normals.

Keep the original file until you have verified the destination import. A successful parse establishes that the file could be read; it does not prove that every feature in a particular FBX exporter was represented by the supported mesh data.

What survives and what is lost

Vertex positions and supported scene transforms are baked into static geometry. Mesh boundaries and names are retained where available, and repeated mesh instances are expanded so their placements are not silently lost. Reflected transforms have their triangle winding corrected to keep the intended surface orientation. Unused vertices are removed from the flattened geometry.

Geometry normals and texture coordinates are retained when present and valid. Texture coordinates alone do not restore a material: the image files and MTL definitions still need a separate material workflow. Cameras, lights, constraints, controllers and rig controls have no equivalent in this OBJ export.

For skinned meshes, the conversion uses base geometry in its bind transform. It does not bake a selected animation frame. A posed print or a frame-by-frame OBJ sequence needs an editor workflow that explicitly evaluates the desired pose before export.

Units and orientation need an explicit check

OBJ does not declare a standard physical unit. The converter preserves the FBX geometry’s coordinate values and supported transforms rather than inventing a real-world size. A model authored in centimetres can therefore need centimetre import settings in the destination. The visible object may look correct while being physically too large or small.

Orientation conventions can also differ between applications. Inspect an upright reference and use the destination’s axis options when needed. For an OBJ that should become a web or game asset, the OBJ-to-GLB tool offers explicit source-unit and up-axis choices.

Troubleshooting FBX conversion

Why is the output gray?

The preview uses a neutral material, and the OBJ is exported without an MTL package. This makes geometry easier to inspect, but it is not a textured scene conversion. Reattach materials in an editor if they are needed for your final use.

Why did the rig or animation disappear?

Those features are outside this output’s scope. OBJ is a static geometry format. Export an animated GLB through Bake3D’s studio or editor integrations when you need bones, skin weights and clips.

What should I do if the file fails to load?

Try re-exporting the selected meshes into a fresh FBX. Remove unrelated scene content and confirm that the exporter includes polygon meshes. Invalid indices, collapsed transforms, unsupported FBX features or excessive expanded geometry can stop conversion. The tool bounds expanded output at one million vertices to protect browser memory.

What has been verified?

The sample model is an asymmetric wedge that makes orientation and dimensions easy to inspect. An automated test reads its ASCII FBX, exports OBJ and imports that download again to check geometry counts and dimensions. The shared flattening stage also tests nested transforms, instances, reflected winding, bind geometry, hidden meshes and unused vertices. FBX decoding uses the three.js FBX loader. These checks do not certify every vendor’s FBX dialect. Compare the result in the destination application, particularly when precision, orientation or surface shading matters.

Other free tools

Need to generate a textured mesh, add a rig and create animation? Open the studio with 60 free credits.