3DM to OBJ Converter

To convert 3DM to OBJ, drop the Rhino .3dm file here, choose the layers and the unit, and press Convert to OBJ. You get a zip with the .obj and .mtl: each Rhino layer becomes an OBJ group, each object keeps its name, layer colours become materials, and the model is turned Y up and scaled to metres for Blender and game engines.

Free. No sign-in. Your file never leaves your device.

Loading the 3DM to OBJ converter...

How to convert 3DM to OBJ

  1. 1

    Open the .3dm

    Drop a Rhino 5 to 8 file or tap Open. The model appears with every layer, its colour and the number of objects on it.

  2. 2

    Pick the layers

    Untick layers you do not want, such as construction lines, reference images or hidden variants. The output size and triangle count update as you go.

  3. 3

    Choose units and axes

    Metres and Y up are right for Blender, Unity, Godot and most renderers. Choose centimetres for Unreal or 3ds Max, or keep Z up to match Rhino exactly.

  4. 4

    Convert and import

    Press Convert to OBJ and unzip the download. Import the .obj with the .mtl next to it, and the layers arrive as separate groups with their colours.

Private by design. Your .3dm file is read and turned into OBJ by JavaScript on your own device. It is never uploaded, which keeps client and product models private.

How a Rhino file maps to OBJ

3DMRhino model
NURBS surfaces, polysurfaces, SubD, extrusions, meshes, curves and blocks, sorted into named layers and sub-layers with colours, in the unit system you set in Rhino.
OBJ groupsLayers
Every ticked layer is written as one group (g), named with its full path, so Tray::Pens becomes Tray_Pens. Inside it, each object is its own object (o) with its Rhino name.
MTLLayer colours
Each layer colour (or object colour, if set by object) becomes a material with that diffuse colour. Rhino render materials and textures are not part of the conversion.
Vertices and normalsThe geometry
Positions come from the render mesh Rhino saved for each surface, with its vertex normals, so smooth surfaces stay smooth in the renderer.
Units and axesScale and up direction
OBJ has no unit field. The converter scales from the file unit to the unit you choose and, by default, turns Rhino's Z-up world into the Y-up world most OBJ importers expect.

Bringing a Rhino model into Blender

Pick metres and Y up, convert, unzip, and use File > Import > Wavefront (.obj) in Blender with the default Forward and Up settings. A 40 mm part arrives as 0.04 m and stands upright. Each layer appears as its own object in the outliner, carrying its layer colour as a material that you can replace with real shaders.

If you prefer to keep Rhino's axes, pick Z up and set Up to Z in the Blender import dialog. For SketchUp, Unity and Godot the Y up option is the right one too; Unreal and 3ds Max work in centimetres, which you can pick from the unit list.

Surfaces that do not convert

OBJ stores triangles, and Rhino surfaces are exact NURBS. The converter uses the render mesh Rhino saves with each surface, because meshing NURBS needs the full Rhino geometry kernel, which a web page cannot run. If a file was saved with Save Small or produced by a script, its surfaces have no render mesh; the page counts them and tells you. Open the file in Rhino, use File > Save As or run the Mesh command, and convert again.

The number of triangles follows the render mesh setting in Rhino's Document Properties. For close-up renders, choose Smooth & slower or a custom density before saving. For a game engine, a coarser mesh keeps the polygon count down; check the triangle count shown before you convert.

Layers, blocks and names

Layers turned off in Rhino start unticked, and objects hidden with the Hide command are left out unless you tick Include hidden objects. Sub-layers follow their parent: untick a parent and its children are skipped too. Block instances are placed at their insert position, so a chair block used ten times gives ten chairs in the OBJ.

Object names set in Rhino's Properties panel become OBJ object names, and unnamed objects are named after their type, such as Brep or Extrusion, with a number when a name repeats. That makes it easy to find a part in the outliner after import.

What this 3DM to OBJ converter does

Layers as groups

Each Rhino layer becomes an OBJ group, named with its full path.

Colours as materials

Layer and object colours are written to the MTL.

Units handled

Scales from the Rhino unit to metres, centimetres, millimetres, inches or feet.

Y up or Z up

Turned for Blender and game engines, or kept as in Rhino.

Pick what to export

Layer switches and an option for hidden objects, with a live size and triangle count.

Private

Runs in your browser; the .3dm is never uploaded.

Limits, honestly

  • Surfaces saved without a render mesh cannot be converted in a browser; save again with File > Save As in Rhino.
  • Rhino render materials and textures are not converted; only layer and object colours go into the MTL.
  • There is no re-meshing: the triangle density is the one saved in the file.
  • Curves, points, text and dimensions are not written to the OBJ.
  • Files over 250 MB may not fit in browser memory.

Frequently Asked Questions

Drop the .3dm on this page, choose the layers, keep metres and Y up for Blender or game engines, and press Convert to OBJ. Unzip the download and import the .obj with its .mtl.
Yes. Each layer becomes an OBJ group named after its full layer path, and each object keeps its Rhino name, so parts stay separate after import.
Rhino is Z up and often in millimetres. Choose Y up and metres before converting; the model then imports upright and at its real size.
No. The file is read in your browser with the open-source rhino3dm library. Rhino is only needed to re-save files whose surfaces have no render mesh.
No. The conversion runs on your device. Nothing is sent to a server and no sign-in is needed.
Layer and object colours become MTL materials. Rhino render materials and texture maps are not read, so add textures in your 3D app after import.

More free 3D viewers and converters