Skip to content

Texture Data and Mip Size

Calculate texture data bytes for RGBA or BC formats by summing exact mip levels and layers, with whole blocks and explicit allocation limits.

Use this result well

Inputs that matter
Texture width (pixels), Texture height (pixels), Stored pixel format, Mip levels, and 1 more
Output to expect
Texture data size
  • Check the units and required inputs before comparing results.
  • Keep the assumptions with a copied result so you can reproduce the calculation later.
Was this tool helpful?

Reference & details

How it works

Texture data and mip-chain size

Count texels or whole compression blocks at each chosen mip level. Estimate stored texture data separately from runtime allocation and file packaging. Mathematical texture data footprint; one MiB is 1,048,576 bytes. Every compressed mip level occupies whole 4 × 4 blocks, including small tail levels. Dimension, format and mip support depend on the graphics API and target hardware. Alignment, CPU copies, residency, driver allocations and file headers are excluded.

Uncompressed level = width × height × bytes per texel; BC level = ceil(width / 4) × ceil(height / 4) × bytes per block; total = sum(levels) × layers

Updated: September 2026

Example Scenarios

An arithmetic illustration using the values shown. Replace them with measurements or assumptions for your own scope.

Texture width (pixels): 4Texture height (pixels): 12Stored pixel format: bc1Mip levels: fullIdentical layers or faces: 1

0.00005341 MiB

FAQ

That approximation can be wrong for narrow textures and small compressed mip levels. This sums each level individually.

No. BC7 and BC3/DXT5 both use 16-byte blocks, but their encodings differ.

No. Verify the API dimensions and format support; this does not create or validate a GPU resource.

About Texture Data and Mip Size

Count texels or whole compression blocks at each chosen mip level. Estimate stored texture data separately from runtime allocation and file packaging.