100% local processing — your files never leave your computer

OBJ Viewer

Open and inspect OBJ files directly in your browser. Rotate, zoom, explore objects and groups, and view geometry statistics without uploading your model.

Your OBJ stays on this device. MeshWrench reads and renders it locally in your browser.

Up to 150 MB. Materials and textures referenced in the file are never fetched — only geometry is shown.

Waiting for a file

Interactive 3D preview of your OBJ model. Drag to rotate, scroll to zoom. Objects and groups can be shown or hidden using the panel below.

How to view an OBJ file

  1. Select an OBJ file using the picker above.
  2. MeshWrench parses it locally, in a background worker — nothing leaves your device.
  3. Once parsing finishes, drag to rotate, scroll to zoom, and use the panel below the viewport to fit the view, toggle wireframe, change shading, or show and hide individual objects and groups.

What the OBJ Viewer displays

After a file loads, the panel below the viewport shows file size, declared vertex/normal/texture-coordinate counts, source face count, rendered triangle count, object and group counts, referenced MTL libraries and material names, line and point primitive counts, and the bounding box. A scene tree lists every object and group so you can inspect — and individually show or hide — the pieces of a multi-part model.

Objects and groups in OBJ

OBJ files can organize geometry into named o objects and g groups, and a face can belong to more than one group at once. This viewer preserves those boundaries: faces that appear before the first o or g statement are labeled Default, and every object/group combination becomes its own entry in the scene tree, in the order it appears in the file, so you can toggle visibility for one part of a model without affecting the rest.

How normals affect shading

Unlike MeshWrench's OBJ to STL converter — which always recalculates flat geometric normals, since STL has no field for smooth shading — this viewer can use your file's own vn vertex normals where they're valid, giving curved surfaces a smooth appearance. A zero-length or missing normal falls back to a computed geometric normal for that corner rather than being trusted blindly. If a file has no usable vertex normals at all, the source/smooth shading option is disabled and the viewer defaults to flat shading.

Why materials and textures may be missing

This viewer reports which mtllib libraries and usemtl materials your file references, but it never fetches the referenced .mtl file or any image — doing so would mean making a request outside your browser's local processing, which MeshWrench never does. Texture coordinates are present, but textures require separate material and image files. MeshWrench does not fetch external files. Geometry is always shown with a neutral preview material instead.

How dimensions are shown

OBJ does not define a universal measurement unit. Dimensions are shown in model units — this viewer never assumes millimeters, inches or any other real-world scale, unlike some STL-focused tools that default to a 3D-printing convention.

OBJ versus STL

OBJ is a plain-text format that can describe polygon faces, texture coordinates, vertex normals, named objects/groups and material references. STL stores only raw triangle geometry with no metadata at all. This viewer can show OBJ's richer structure — objects, groups, smooth shading, lines and points — that a converter's STL output can't carry over.

Why an OBJ may not open

Is the OBJ uploaded?

No. There is no server-side file-processing route in MeshWrench at all. Your browser reads the file with the standard File API, hands its bytes to a Web Worker running on your device, and renders the result with WebGL — also on your device. You can verify this yourself: open your browser's developer tools, watch the network tab, and load a file. No request containing your file, or any path found inside it, will appear.

Frequently asked questions

Is my OBJ file uploaded?

No. The file is read and parsed entirely in your browser, inside a background Web Worker. It's never sent to a server — check your browser's network tab while a file loads to confirm this yourself.

Does this viewer load materials or textures?

No. MeshWrench shows which materials and textures your file references, but it never fetches a .mtl library or any image file — that would mean making a request, and this viewer never sends your file (or any path inside it) anywhere. Geometry is shown with a neutral preview material instead.

What units are the dimensions shown in?

OBJ doesn't define a universal measurement unit, so dimensions are always shown in model units — this viewer never labels them as millimeters or any other real-world unit.

Does this tool repair or validate my OBJ file?

No. This is a viewer only — it doesn't check for holes, non-manifold edges or flipped normals, and it doesn't modify your geometry in any way.

Can I view multiple OBJ files at once?

Not yet. This viewer opens one file at a time. Loading a new file replaces the current one.

Which browsers are supported?

Any recent version of Chrome, Firefox, Safari or Edge with WebGL and Web Worker support.