Drop a .3dm file below to open Rhinoceros models without a Rhino license. The viewer uses McNeel's official rhino3dm library (WebAssembly) to read the file locally in your browser and renders the render meshes with three.js.
Files are parsed with rhino3dm, McNeel's own openNURBS library compiled to WebAssembly — not a reverse-engineered reader.
Review a designer's or consultant's .3dm on any machine, including ones that have never had Rhino installed.
The file is read in browser memory. Architecture and product-design work stays confidential.
Drag the .3dm file into the drop zone, or click to browse.
The rhino3dm WASM library loads on first use, then reads the file's render meshes.
Orbit and zoom around the geometry to check the design before opening it in Rhino or forwarding it.
3DM is the native format of Rhinoceros (Rhino), built on the open openNURBS library. It stores NURBS curves and surfaces, meshes, layers and materials, and is ubiquitous in industrial design, jewelry, marine and architecture workflows. Normally you need Rhino to open one — this viewer reads the file with the same openNURBS code, compiled for the browser.
Rhino models are exact NURBS geometry, but browsers render triangles. The viewer displays the render meshes Rhino saved with the file. If a surface was never meshed in Rhino (for example a file saved without render meshes), it may appear incomplete — re-save from Rhino with render meshes, or export a mesh format like OBJ or GLB.
No. The viewer uses McNeel's free rhino3dm library in the browser — no Rhino install or license involved.
Yes. It is parsed locally in browser memory and never uploaded to a server.
The browser displays the render meshes stored in the file. Files saved without render meshes (or with only NURBS data) can appear partially empty — re-export from Rhino with render meshes enabled.
rhino3dm reads current openNURBS files, covering models saved by modern Rhino versions.
Type a prompt, get a textured 3D model in about a minute — then download it as GLB, STL, OBJ, FBX or USDZ.
Generate a model from text →