Skip to main content
Model Mender

Browser-local viewer

OBJ viewer

Open a Wavefront OBJ locally, with its groups, normals and material colours. Add the .mtl alongside the .obj and the materials are read too, so you see the model as its author intended rather than as bare geometry.

Drop your OBJ files here

STL, OBJ, PLY, GLB, glTF, 3MF, SVG and DXF. Nothing is uploaded: files are read and inspected inside this tab. Checking what this device can handle...

Queue

No files yet. Drop models above, or use the file picker.

Add a model to see it here.

Inspection

Add a model to see its dimensions, mesh health and estimated volume.

Output

Units

Size and placement

Repair and cleanup

These can change the shape, so they need a before-and-after review before export.

Convert or repair this file as well

What this OBJ viewer shows and what it does not

  • Add the .mtl file to the queue with the .obj to see materials. OBJ keeps them in a separate file and references them by name.
  • Texture images are never loaded, fetched or rendered. OBJ names them and this site does not open them, so the referenced filenames are listed instead so you know what is not being shown.
  • OBJ records no unit, so dimensions are shown in millimetres by convention. Assign the real unit and every measurement updates.
  • Faces with more than three sides are triangulated with a fan for display, which is exact for convex faces.
  • Many OBJ exporters write Y-up while print tooling expects Z-up, so a model may appear lying on its side. That is the file, not the render.

Troubleshooting

Everything is grey

The .mtl was probably not added alongside the .obj. Queue both files and the material colours will be read.

The textures are not showing

By design: no texture image is ever read here. Material colours are shown, and the texture filenames the OBJ referenced are listed so you know what is missing.

The model is on its side

That is the Y-up versus Z-up convention. Use the axis control to reorient it for printing; the render is showing you what the file actually says.

It is very slow to open

OBJ is a text format, so large models parse more slowly than binary ones. The workspace refuses a mesh before allocating if it will not fit in memory.

Questions

Does it read the .mtl?

Yes, for material names, diffuse colour and opacity, when you add the .mtl to the queue. Texture images are deliberately never opened.

Is anything uploaded?

No. There is no upload endpoint in the project, and the browser blocks cross-origin requests via the Content Security Policy regardless of what any script attempts.

What diagnostics does it report?

Dimensions, triangle and vertex counts, object and material counts, separate shells, open and non-manifold edges, degenerate triangles and duplicate vertices.

More tools