FBX to OBJ
Convert an FBX file to OBJ in your browser and keep what OBJ can hold: every mesh as its own object, texture coordinates, normals and one material per material slot. The download is a ZIP with the .obj, its .mtl file and the textures, taken byte for byte from inside the FBX or from the image files you add. The tool reads the FBX unit scale, so you can write the OBJ in the same units or in millimetres, centimetres, metres or inches, with Y or Z up. OBJ has no bones or animation, so an animated model is written in its rest pose or in the frame you pick. Before anything is saved, the OBJ is read back and its triangle count and size are checked against the model. Nothing is uploaded.
100% private — everything runs in your browser. Everything runs in your browser; your FBX files and textures are never uploaded.
File details
Parts (show or hide)
Textures and images
Files the model refers to
Checks
Extensions and cameras
File size breakdown
glTF JSON (tree)
Convert to OBJ
View
Model
Screenshot
Animation
Morph targets
Runs in your browser: your files are read on your device and never uploaded, and texture paths inside an FBX are only matched to files you add, never fetched. The 3D engine (three.js) loads from the jsDelivr CDN. You may use what you make here, including commercially, with no credit needed. The rights in your own models stay as they were. Not affiliated with Autodesk.
How to convert FBX to OBJ
- Drop an FBX on the box (with its texture files if they are separate), or click Try a sample.
- Check the model in the 3D view and pick the OBJ units and up axis.
- For an animated model, choose the rest pose or the frame shown now.
- Click Download OBJ + MTL + textures (ZIP), or OBJ only.
What you can use it for
- Open an FBX model in a program that reads OBJ but not FBX
- Get a game asset or a 3D shop model ready for 3D printing (then OBJ to STL)
- Pull the textures out of an FBX as separate image files
- Freeze a pose of a rigged character as a static mesh
- Change a model from centimetres to millimetres or metres while converting
- Check how many triangles a model has before you use it
What goes into the ZIP
| File | What it holds |
|---|---|
| model.obj | One object per mesh, positions in the units you pick, texture coordinates, normals (if ticked), one usemtl per material; a header comment with the source, units, up axis and pose |
| model.mtl | One material per FBX material: colour (Kd), specular (Ks), shininess (Ns), opacity (d), map_Kd for the diffuse texture, map_Bump for a normal or bump map |
| textures/… | The images the materials use: copied out of the FBX byte for byte, or the files you added |
The OBJ is written with three numbers per corner (position / texture coordinate / normal) and triangles only, which every OBJ reader understands.
What OBJ can and cannot hold
| From the FBX | In the OBJ |
|---|---|
| Meshes, UVs, normals | Kept |
| Materials and textures | Kept as an MTL file and image files |
| Parent transforms (moves, turns, scales) | Applied to the vertices (OBJ has no hierarchy) |
| Bones, skin weights | Left out; the mesh is written in the pose you choose |
| Animation clips, blend shapes | Left out; pick the frame to keep |
| Cameras, lights | Left out |
What the sample FBX contains
| Item | In the sample |
|---|---|
| Format | Binary FBX 7.4 (FileVersion 7400) |
| Units | centimetres (1 unit = 10 mm) |
| Polygons / triangles | 10 quads / 20 triangles |
| Vertices | 12 |
| Bones / skin clusters | 2 / 2 |
| Animation | Bend (1 s) |
| Materials / textures | 1 / 1 (embedded PNG, 209 bytes) |
| Size | 40 × 10 × 10 mm (4 × 1 × 1 units of 1 cm) |
Computed by the tool’s own FBX reader from the file behind Try a sample: a two-bone bar with a checker texture that bends 90 degrees in a one-second clip. We wrote the file with our own FBX writer.
FBX units: why a model can look 10 or 100 times too big
| UnitScaleFactor in the file | Unit | 1 unit = |
|---|---|---|
| 0.1 | millimetres | 1 mm |
| 1 | centimetres | 10 mm |
| 2.54 | inches | 25.4 mm |
| 30.48 | feet | 304.8 mm |
| 100 | metres | 1000 mm |
An FBX stores its unit as UnitScaleFactor, the number of centimetres in one unit, as the FBX SDK defines it. A file saved in millimetres carries 0.1, one in metres 100. The tool reads the factor and shows the true size in millimetres and inches; if a file has no factor it is read as centimetres and you are told so.
Which FBX files open
| FBX file | Here |
|---|---|
| Binary FBX 7.x (FileVersion 7000 and up; 7.5 and newer use 64-bit record offsets) | Opens: meshes, materials, embedded textures, bones, skins, animations |
| ASCII (text) FBX 7.x | Opens the same way |
| FBX 6.x and older (FileVersion below 7000), binary or ASCII | Refused with a clear message: re-export as FBX 7.4 or newer |
| Textures stored as separate files | Shown when you add the image files with the FBX (or open its folder); otherwise listed as missing and shown grey |
| TGA, PSD or DDS textures | Listed, but not drawn here: convert them to PNG or JPEG |
FBX was developed by Kaydara and has been owned by Autodesk since 2006; it comes in a binary and a text (ASCII) form. This tool reads the file twice: its own reader lists what is inside (version, units, axes, textures, animation stacks), and the three.js FBX loader draws it.
Next steps
For 3D printing, convert the OBJ with OBJ to STL and check it in the STL viewer. Price a print with the 3D Print Cost Calculator, make a technical drawing with Orthographic Drawing, or shrink the extracted textures with the Image Compressor.
Sources
Sources: Autodesk FBX SDK reference: FbxSystemUnit (scale factor relative to centimetres); The National Archives (UK), PRONOM: FBX (Filmbox) Text, fmt/1010.
More free tools
Working with 3D models?
View, measure and convert 3D files with free maker tools that run privately in your browser, with no sign-up and no watermark.
Frequently asked questions
What is kept when FBX becomes OBJ?
Meshes (one OBJ object each), vertex positions, texture coordinates, normals, material colours, opacity and shininess, and the diffuse texture and normal or bump map of each material. Bones, skin weights, animation, cameras and lights are not part of the OBJ format, so they are left out.
Are the textures included?
Yes, in the ZIP. Embedded textures are copied out of the FBX byte for byte under a textures folder, and the .mtl points to them. If the FBX expects separate image files, add them with the FBX and they go into the ZIP too; any that are missing are named so you can find them.
What happens to animations and rigs?
OBJ stores a single still mesh. Choose Rest pose to get the model as it was modelled, or The animation frame shown now to freeze any frame of any clip; the pose used is written at the top of the OBJ.
What units is the OBJ in?
OBJ files have no unit field. By default the numbers are written in the FBX’s own units (read from its unit scale factor); pick millimetres for 3D printing or metres for game engines, and the unit is written as a comment at the top of the file.
Y-up or Z-up?
Most programs read OBJ as Y-up, which is the default. Choose Z-up for CAD and 3D printing programs that stand models on Z.
How do I know the OBJ is right?
Before the download starts, the OBJ is read back with the three.js OBJ loader and its triangle count and size are compared with the converted model. If they do not match, nothing is saved and you are told why.
Why does my FBX not open?
Files older than FBX 7.0 (FBX 6.x, FileVersion below 7000) are refused with a message, because the FBX loader used here reads 7.0 and newer only. Re-export or re-save the model as FBX 7.4 or newer, binary or ASCII. A file that is cut short or not really an FBX gets its own message.
Is it free?
Yes. There is no sign-up, no watermark, no daily limit and no size limit beyond what your device can hold.
Is my FBX uploaded?
No. The file and its textures are read by JavaScript in your browser and never leave your device. Only the 3D engine (three.js) is downloaded from a public CDN. Texture paths written inside the FBX are only matched to files you add; nothing is fetched from them.