The texel density formula
For one surface that a texture covers once:
texel density (px/m) = texture size (px) ÷ surface size (m)
For a real model, where UV islands use only part of the texture:
texel density = texture size × √(UV area ÷ surface area)
UV area is the share of the 0-1 UV square the faces use (1 = all of it) and surface area is in square metres. Example: a 2048 px texture whose UVs use 50% of the square, on 2 m² of surface, gives 2048 × √(0.5 ÷ 2) = 1024 px/m. Divide by 100 for px/cm. The reverse, texture size = target × √(surface area ÷ UV area), is what the calculator rounds up to a power of two.
Why consistent texel density matters
Players never see a texture on its own; they see it next to everything else. If a crate has 1024 px/m and the wall behind it 256 px/m, the wall looks blurry even though its texture is fine. Keeping every asset near one number makes a scene look evenly detailed.
It also spends texture memory where it shows. A small prop with far more pixels per metre than its neighbours uses memory that large, close-up surfaces need. Pick a target for the camera distance of your game, then check each model against it, which is what the model check above does.
Power-of-two texture sizes
Game textures are usually 256, 512, 1024, 2048, 4096 or 8192 px on a side. Unreal Engine's texture docs recommend power-of-two sizes and note that some GPUs do not support textures above 8192 px. Width and height don't have to match: 2048 x 1024 is still power of two on both sides and suits long surfaces.
Because sizes double, density jumps in steps: going from 2048 to 4096 doubles px/m. That is why the calculator rounds the exact size up and shows the density you actually get, and why the model check treats 2x away from the median as an outlier.
Preset targets (1024, 512, 256 px/m) follow the rough examples in the Maxon Cinema 4D manual. They are not a standard; studios set their own.
How to use the texel density calculator
- 1
Enter a texture and a size
Pick the texture resolution and the size of the surface it covers. The density shows in px/m and px/cm as you type.
- 2
Or start from a target
Enter the density your project aims for and the surface size. You get the exact pixels needed and the power-of-two texture that reaches it.
- 3
Check a whole model
Drop a GLB, GLTF, OBJ, FBX or STL. Every mesh gets its own density from its real surface area and UV area, and outliers are flagged.