Skip to content
3DToolBench

Convert BLEND to FBX

FBX is what Unity and Unreal expect, and Blender’s FBX exporter has more settings that matter than any of its others. Two presets in the dialog do most of the work, and knowing which one to use saves an afternoon of rescaling things.

We cannot read .blend files, and we cannot write FBX either — the format is closed and the one open WebAssembly library that reads it has no exporter. Both ends of this conversion have to happen in Blender, which does them well and free.

Exporting an FBX from Blender

Written for Blender 4.x. The settings that matter are under Transform and Geometry in the options panel.

  1. Open the export dialog

    File → Export → FBX (.fbx)

    The options panel on the right has collapsible sections: Include, Transform, Geometry, Armature and Bake Animation. The first two decide whether the result is usable.

  2. Limit what gets exported

    Include → Limit to: Selected Objects · Object Types: Mesh, Armature

    Untick everything in Object Types except Mesh, and Armature if the model is rigged. Blender exports cameras, lights and empties by default, and they arrive in Unity as objects nobody wanted.

  3. Set the scale and apply it the right way

    Transform → Scale: 1.00 · Apply Scalings: FBX All

    Apply Scalings is the setting that causes the most trouble. FBX All bakes the scale into the mesh itself, which is what Unity and Unreal want. The other options leave a scale factor on the object that arrives as an oddly scaled transform at the other end.

    FBX files are conventionally in centimetres and Blender is in metres, a factor of 100. Blender’s exporter writes the unit into the file header, and Unity reads it, so this usually works out — but if your model arrives 100 times too large or small, this is the setting to revisit.

  4. Set the axis conversion for your engine

    Transform → Forward: -Z Forward · Up: Y Up

    These are the defaults and they are correct for Unity and Unreal, which are both Y-up while Blender is Z-up. The exporter rotates the model as it writes.

    Unity applies a further conversion of its own on import, which is why a model can still arrive rotated 90 degrees. If that happens, the reliable fix is in Blender: rotate the object -90 degrees on X, then apply the rotation with Object, Apply, Rotation, then export with the default axis settings.

  5. Apply modifiers and triangulate if the engine wants it

    Geometry → Apply Modifiers: ticked · Triangulate Faces

    Apply Modifiers should stay on, or your Subdivision and Mirror modifiers do not appear in the file. Triangulate Faces is optional — both engines triangulate on import, but doing it here means you see exactly what they will get.

  6. Set up the armature, if the model is rigged

    Armature → Add Leaf Bones: unticked · Primary Bone Axis: Y Axis

    Untick Add Leaf Bones. It adds an extra bone at the end of every chain, which Blender needs for its own round trip and which clutters the skeleton in Unity for no benefit.

  7. Export and test it in the engine early

    Export FBX (the button, top right)

    Import it into Unity or Unreal straight away, before you build anything on top of it. Scale and rotation problems are trivial to fix at this point and tedious to fix once the model has colliders, materials and prefabs attached.

Why FBX scale goes wrong so often

FBX does record a unit in its header, unlike STL and OBJ. The trouble is that the convention is centimetres, Blender works in metres, and different pieces of software disagree about whether to honour the header or to assume.

Blender writes the unit correctly, and Unity reads it correctly, so the common case works. The failures come from the Apply Scalings setting and from unapplied object scale. If you scaled an object in Object Mode and never applied the scale, the object carries a scale factor of, say, 0.01 — and depending on Apply Scalings, that factor either gets baked into the vertices or gets written as a transform on the node. One of those arrives right and one arrives wrong, and which is which depends on the importer.

The reliable habit is to apply transforms before exporting anything: select the object and use Object, Apply, All Transforms. That bakes position, rotation and scale into the mesh so there is nothing left for the exporter or the importer to disagree about. It is the single best habit for exporting from Blender to anywhere.

If a model does arrive at the wrong scale in Unity, the import settings have a Scale Factor field, and setting it to 0.01 or 100 will fix the symptom. It is better to fix the export, because the wrong value follows the file everywhere else it goes.

The rotation problem between Blender and Unity

Blender is Z-up. Unity and Unreal are Y-up. The FBX exporter converts between them, and then Unity does a conversion of its own on import, and the two do not always cancel out. The result is the well-known complaint that a model arrives in Unity rotated 90 degrees on X.

Fighting it with the exporter’s axis settings usually makes things worse, because you end up with a model that is correct in Unity and wrong everywhere else, including back in Blender.

The fix that holds is to rotate the object in Blender so that it is already correct for the destination, and then apply the rotation so the mesh data itself is rotated rather than the object carrying a rotation value. Rotate -90 degrees on X, then Object, Apply, Rotation, then export with the default axis settings. The model then looks wrong in Blender and right in Unity, which is the trade you are making.

If the model is going to several destinations, exporting a GLB instead avoids the whole argument — glTF fixes both the unit and the axis in the specification, and Unity reads GLB through free importers.

Why we cannot write FBX here, and what that means for you

FBX is Autodesk’s format and the specification is not published. The only complete implementation is Autodesk’s own SDK, which is a native library that cannot run in a browser. The open-source reader that exists, assimp, has a WebAssembly build — but it reads FBX and does not write it.

So converting anything to FBX in a browser is not a thing that can be done today by us or by anyone else. Sites that appear to offer it are running a desktop tool on a server, which means uploading your file to somebody else’s computer.

What this site can do is read FBX. If you have an FBX and need it as something else — OBJ, GLB, STL, 3MF — that direction works here and runs entirely in your browser, textures included when the FBX carries them inside itself.

Where we can actually help

The opposite direction does work here. An FBX converts to GLB, OBJ or STL in your browser, with the textures that were packed inside it carried across.

Questions

Can I convert something to FBX in a browser?
No. FBX is closed and the only complete implementation is Autodesk’s own native library. The open reader that exists has no exporter. Blender does it free and takes about a minute.
My model is 100 times too big in Unity.
Apply the object’s transforms in Blender first with Object, Apply, All Transforms, then export with Apply Scalings set to FBX All. Unity’s import Scale Factor will also fix the symptom if you need it working immediately.
Why is my model rotated 90 degrees in Unity?
Blender is Z-up, Unity is Y-up, and the two conversions do not always cancel. Rotate the object -90 degrees on X in Blender, apply the rotation, then export with the default axis settings.
Should I use FBX or GLB for Unity?
FBX if you are following Unity documentation or need Unity’s animation import features. GLB avoids the scale and axis arguments entirely because glTF fixes both in the specification, and free importers for it exist.
What is Add Leaf Bones for?
It adds an extra bone at the end of each bone chain, which Blender uses to preserve its own bone lengths through a round trip. If the FBX is going to a game engine, untick it — it only clutters the skeleton.

Where to go next

Checked against current software versions on 2026-09-11