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
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.
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.
Related guides
How to analyze a 3D model
Step-by-step guide to loading a model and interpreting geometry, material, texture, and scene statistics.
How to use a 3D model viewer
Learn to open, inspect, and navigate 3D models in GLBKit's browser-based viewer.
How to capture a 3D model screenshot
After analyzing a model, learn how to capture clean screenshots with custom backgrounds and resolutions.
How to convert 3D models
Convert between popular 3D formats after verifying your model with the analyzer.
Frequently asked questions
What the analyzer measures, what it cannot measure for a given format, and how to read the numbers it reports.