Skip to main content

3D Model Analyzer Online

Analyze 3D models online and inspect triangles, vertices, meshes, materials, textures, memory, dimensions, and more in your browser.

Drag & drop your 3D model here

or click to browse from your device

GLBGLTFOBJSTLPLYPCDFBXUSDUSDAUSDCUSDZ3MFDAEX3DVRMOFFWRLVRMLLASLAZSTEPSTP3DSXZIP

Understand what is inside your 3D model

Get useful technical information from a loaded 3D model without opening a desktop 3D application.

Geometry

Inspect vertices, triangles, indices, meshes, geometries, and other geometry statistics.

Materials

Review materials, material counts, transparency, and other rendering-related properties.

Textures

Inspect textures, dimensions, texture counts, and estimated texture memory.

Performance

Check draw calls and other statistics that help evaluate model rendering complexity.

Memory

View estimated geometry and texture memory usage based on the loaded model data.

Scene

Inspect loaded mesh nodes, animation clips, bounds, and other structural information.

Why use a model analyzer?

Check model complexity before you use it

A model can look simple while containing large textures, thousands of objects, or a high triangle count. An analyzer helps you understand the actual structure and complexity of the asset.

Inspect geometry complexity
Check mesh and material counts
Review textures and estimated memory
Check the animation clips and mesh nodes a model contains
Read model dimensions from the Model Information panel
Review rendering-related statistics

Supported 3D model formats

Grouped by what each format is normally used for. Every group is derived from the same extension list the drop zone accepts, so this is exactly what the analyzer will read.

Scene formats for web and real-time

Formats built to carry a whole scene — materials, textures and, where the format allows it, animation.

  • GLB
  • glTF
  • FBX
  • COLLADA
  • USD
  • X3D
  • VRML

Mesh and interchange formats

Long-standing mesh formats. Most store geometry and little else, so an asset opened from one reports shape rather than materials.

  • OBJ
  • STL
  • 3MF
  • 3DS
  • DirectX X
  • OFF

Point clouds and scan data

Coordinate datasets rather than surfaces. PLY is the exception — it can be either a mesh or a bare point cloud, depending on the file.

  • PLY
  • PCD
  • LAS
  • LAZ

CAD

Exact solid-modelling data. It is tessellated into triangles when it loads, so the report describes that mesh rather than the original solid.

  • STEP

Character formats

Avatar formats built on top of glTF, so they report as a glTF scene with the animation clips the avatar contains.

  • VRM

Archives

Not a 3D format itself, but the practical way to upload formats that reference external files. The root model is found inside and the rest is resolved by name.

  • ZIP

Uploads are capped at 150 MB. Formats that reference external buffers, materials or images need those files supplied alongside them — uploading the whole folder as a ZIP keeps the internal paths intact.

What the analyzer reports

The analyzer inspects the loaded 3D scene and reports technical statistics organized into the following categories. Each category shows the metrics that are available for the loaded model:

File and format

The file name, file size, and detected format. The file size gives you a baseline for memory and bandwidth planning.

Geometry

Vertex count, triangle count, index count, the number of distinct geometries and meshes, and an estimated primitive count (draw calls). Triangle and vertex counts are the most useful indicators of rendering cost.

Rendering

Estimated draw calls and material groups. Draw call count is a key performance metric — each draw call sends a batch of geometry to the GPU, so higher counts mean more CPU overhead per frame. Two rows in this section, instanced meshes and skinned meshes, show "—" for every model: the analyzer counts plain meshes, so neither instancing nor skin weights are reported.

Materials and textures

Material counts, including unique materials, transparent materials, and double-sided materials, texture counts with dimensions, total texture pixels, and estimated texture memory. Transparent and double-sided materials can require additional render passes, which impacts performance.

Memory

Estimated geometry memory, estimated texture memory, and the total estimated resource memory. These are approximate values computed from vertex and texture data — they help you gauge whether a model will fit comfortably in available GPU memory.

Scene structure

Object count and mesh count, plus groups, bones, lights, and cameras. The group count is always 1, and the bones, lights and cameras rows always show "—", because the analyzer only sees the mesh objects the viewer renders. The scene hierarchy view lists those loaded mesh nodes under a single root; it does not reproduce the original file's parent-child node tree.

Animation

Animation clip count with names and durations, plus the total animation duration. Available when the loaded model includes animation data.

Bounds

Width, height, depth, and bounding sphere radius of the scene as it is set up for display. The viewer normalises a model to fit the viewport before measuring, so these numbers describe the displayed scene rather than the asset's authored scale. For the real size stored in the file, use the Model Information panel's width, height and depth.

How to interpret results

Triangle and vertex count

Under 50K triangles is lightweight and renders smoothly even on mobile GPUs. Between 50K and 200K is a reasonable range for desktop web. Above 200K, expect frame rate drops on weaker devices, especially when combined with many draw calls or large textures.

Draw calls and material groups

Each draw call costs CPU time. A model with 100 draw calls will stutter on mobile even if the triangle count is low. Reducing unique materials and merging meshes are the most effective ways to cut draw calls before passing a model to an engine.

Texture memory

A single 4K texture (4096x4096) at 4 bytes per pixel consumes 64 MB of GPU memory. Check the total texture memory estimate against your target device's capabilities — mobile GPUs typically have less than 1 GB of available texture memory.

Model dimensions and scale

Use the Model Information panel for the model's actual width, height and depth, not the analyzer's Bounds section, which measures the display-normalised scene. Some formats, like STL, do not embed units, so those dimensions are in whatever unit the file author used. If a model appears too large or too small, check the export scale in the source application.

Metrics that may be unavailable

Some fields show "—" or an estimated value when the loaded format does not expose that data. For example, point cloud formats (PLY, PCD, LAS, LAZ) report point counts rather than triangle counts, and CAD formats (STEP) report the tessellated mesh rather than the original B-rep surfaces.

Common analysis workflows

Checking a downloaded model

Before importing a model into a web project or game engine, load it in the analyzer to verify the triangle count is within budget, textures are not excessively large, and no single draw call spike will cause jank.

Verifying a model before conversion

If you plan to convert a model, analyze it first to understand what geometry, materials, and animations are present. This helps you anticipate what data may be preserved or lost during the conversion.

Pre-flight for screenshots

After analyzing a model, use the screenshot tool to capture a preview image. A quick analysis tells you whether the model loads cleanly and renders expected textures before you capture the final image.

Inspecting a source asset before sharing

If you are receiving a model from a client, contractor, or another team, run it through the analyzer to check for unexpectedly large textures, high triangle counts, or missing animations before accepting it.

Limitations

Being honest about what the analyzer does and does not do helps you decide whether it is the right tool for a given check.

  • The analyzer reports on the scene as loaded into the browser WebGL renderer. It does not parse raw format-specific metadata beyond what the loader exposes.
  • The analyzer reports on the mesh objects the viewer actually renders. Skeletons, blendshape rigs, lights, cameras and instancing are not carried through to the report, so those rows stay empty rather than showing a count of zero.
  • The scene hierarchy lists the loaded mesh nodes under a single root. It is not a reproduction of the original file's node tree, and the group count is always 1.
  • Geometry and texture memory values are estimates, not exact measurements. The actual memory footprint depends on the GPU driver and browser.
  • The analyzer does not modify, optimize, or repair models. It is an inspection tool, not an editor or remesher.
  • Point cloud formats report point counts and vertex attributes rather than triangle counts. CAD formats report the tessellated mesh, not the original boundary-representation surfaces.
  • Some statistics, such as draw call estimates, are marked as estimated because they are derived from scene structure rather than measured from a live render.
  • The analyzer runs entirely in the browser. Very large models may not load on devices with limited memory.

Frequently asked questions

What the analyzer measures, what it cannot measure for a given format, and how to read the numbers it reports.