3D · 13 tools · nothing uploads

Measure a 3D model

Read the bounding box, volume, surface area and triangle count out of a 3D model, per mesh and as a whole. Volume assumes consistent outward-facing triangle winding. Nothing is uploaded.

Input

Measure a 3D model reads GLB, OBJ, STL, PLY and FBX through a shared loader. It prints per-mesh and overall figures: vertex and triangle tallies, bounding box, volume and surface area. Volume comes from a signed sum across every triangle, assuming consistently outward-facing winding. A mesh with flipped faces still returns a number, and that number is wrong.

Questions

What does it measure?

The bounding box, volume, surface area and triangle count of a model, printed per mesh and then totalled for the whole file, alongside the vertex instance count and the overall bounding box size.

How is the volume calculated, and what does it assume?

From a signed sum across every triangle in the mesh, the standard divergence-theorem approach. It assumes the mesh winding faces consistently outward; that is a property of how the model was built, not something this tool checks for you.

What happens if my model has some faces with flipped normals?

The volume figure still prints a number, and that number is wrong, since the inward-facing triangles cancel out part of the correct sum rather than producing an obvious error. Check a 3D model for 3D printing is the tool that flags flipped normals explicitly.

What file formats can I load?

GLB, glTF, OBJ, STL, PLY, FBX, 3MF, DAE and XYZ, the same set model-inspect converts, read through one shared loader.

Does it run on the command line?

Yes. It takes a single file and has no browser-only restriction, so the CLI and MCP surfaces run the same loader and measurement code as the page.

Compare

Related 3D tools

1→1Convert 3D modelTurn an OBJ, STL, PLY, GLB, glTF, FBX, DAE, 3MF, 3DS or 40-odd other 3D formats into GLB, glTF, OBJ, STL, PLY or USDZ. Textures round-trip through glTF/GLB; OBJ, STL, PLY and USDZ output geometry only.Takes one file1→13D model mesh infoRead vertex/face/material counts and the bounding box out of an OBJ, STL, FBX, DAE or 40-odd other 3D formats, via assimp's import side, the wide side of the engine model-convert also uses.Takes one file1→1Inspect a glTF/GLB modelRun the Khronos glTF-validator over a glTF or GLB file and report every error, warning, info and hint it finds, alongside a resource summary (draw calls, vertex/triangle counts, materials, textures, animations). A model in another format is converted to GLB first, so the report describes that conversion's output rather than the original file's own bytes.Takes one file1→1Strip 3D model metadataRemove authoring metadata (generator string, copyright, node/mesh names, and any glTF "extras" fields) from a 3D model before sharing it. Converts through assimp's import side to glTF/GLB first, so the input can be any of the 40-odd formats assimp reads, then edits the resulting scene JSON directly.Takes one file1→1Optimize a 3D modelShrink a 3D model: weld coincident vertices within a tolerance, simplify the mesh toward a target triangle fraction, and quantize vertex positions onto a coarser grid. No Draco compression, since three ships Draco's decoder but not its encoder, and the encoder three's own exporter points at is a CDN this project never fetches anything from.Takes one file1→1Convert STL between ASCII and binaryConvert an STL 3D model between its ASCII (text) and binary encodings. Both describe the same triangle mesh, so this is a direct parse-and-rewrite with no 3D engine involved.Takes one file