How to convert 3DM to OBJ
- 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
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
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
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.