When a model renders black, this is usually why
Vertex normals tell a renderer which way a surface faces. Without them there is no way to compute lighting, so the surface comes out flat black, uniformly grey, or harshly faceted depending on how forgiving the renderer is.
Missing normals are extremely common. STL files do store face normals but many exporters write them as zero. OBJ files frequently omit them entirely. And plenty of glTF exporters skip them on the assumption that the loader will generate them — which some loaders do and others do not.
The operations
Inspect reports, per mesh, whether normals, tangents and UVs are present and whether the geometry is indexed. Start here.
Smooth normals averages the normals of all faces meeting at each vertex, producing continuous shading across curved surfaces. This is what you want for organic shapes and anything that should look rounded.
Flat normals gives every triangle its own normal, so each face is shaded independently and the facets are visible. Correct for machined parts, low-poly art styles, and anything where the geometry is genuinely faceted. Note that this requires splitting shared vertices, so the vertex count goes up.
Flip normals inverts every normal and reverses triangle winding. This is the fix for a model that appears lit from the inside, or that disappears when backface culling is enabled — usually caused by a mirrored transform somewhere upstream.
Generate tangents computes the tangent vectors that normal mapping requires.
Remove normals strips them entirely, which is occasionally useful when you want a downstream tool to generate its own.
Why your normal map does nothing
This is the single most common lighting complaint, and the answer is almost always tangents.
A normal map stores directions in tangent space — a coordinate frame defined per-vertex by the surface normal and the direction the texture runs across the surface. Without tangent vectors, there is no frame to interpret the map in. Some renderers compute tangents on the fly at load time; others simply ignore the map and light the surface as though it were smooth.
The tool flags any mesh that has a normal map assigned, has UVs, but has no tangent attribute — that combination is a guaranteed problem in at least some renderers, and it is invisible until you look for it.
Tangent generation needs both a UV set and an index buffer. Meshes lacking either are reported as skipped rather than silently ignored.
See the result
The preview offers a normals visualisation mode that colours every surface by its normal direction. Smooth surfaces show continuous colour gradients; flat surfaces show hard-edged colour blocks; flipped normals show inverted colours. It is far quicker to read than trying to judge lighting.
Privacy
Everything runs in your browser. Nothing is uploaded.
Tiny Online Tools







