# Warnings and size estimates

> What each warning means and how to fix it, and how file sizes are estimated before export.

Texture Exporter docs · https://tools.ashthornton.dev/blender-texture-exporter/docs/warnings/

Textures that will cause problems are flagged before you export. The line above the texture list counts them, the row shows a warning icon, and **Details** says what's wrong.

![The texture list header showing 1 warning, with a warning icon on fabric_brown_normal, a normal map set to ETC1S.](https://tools.ashthornton.dev/_astro/setting-warnings.Ct-bT4TC.png)

## Warnings

| Warning | Why, and what to do |
|---|---|
| *W×H isn't a multiple of 4* | Basis Universal works in 4×4 blocks, so KTX2 is resized to the nearest multiple of 4, a slight stretch. Use a power-of-two or multiple-of-4 source, or another format. |
| *over 4096* / *over 8192* | Many mobile GPUs, and some WebGL setups, can't load textures this large. Lower the **Scale**. |
| *Normal map set to Colour* | It would be stored as sRGB and shade wrong. Set **Usage** to Auto or Normal. |
| *Normal map image uses sRGB in Blender* | Set the image's colour space to **Non-Color** in Blender. |
| *ETC1S on a normal map* | ETC1S makes shading on normals blocky. Use **UASTC** (Auto already does). |
| *This Blender version can't write AVIF* | AVIF needs Blender 5.2. Pick another format. |
| *Image file missing* | Blender can't find the image file (it shows as 0×0), and the row says *file missing*. Relink it with **File ▸ External Data ▸ Find Missing Files**. Until then the glTF export leaves that slot out (or just the missing channels of a packed texture), instead of the white placeholder Blender's exporter would write. |
| *Not saved* | A ticked texture uses an image that was never saved to a file, or has unsaved edits. Exports still work from the pixels in memory, but the image is lost when Blender closes. Save it (**Image ▸ Save As**) or pack it in the Image Editor. Packed images don't count. |
| *Materials: …* | glTF export window only: the exporter's **Materials** option isn't *Export*, so no textures end up in the glTF. Set **Data ▸ Material ▸ Materials** to *Export*. |

## Size estimates

Before a texture is exported, **Details** shows an estimated file size and the GPU memory it will take. Once it's exported, the real file size replaces the estimate.

- Estimates come from a bits-per-pixel model fitted on real textures, per format, codec and quality.
- Real sizes depend a lot on content: smooth gradients come out much smaller than estimated, and photos somewhat larger.
- **GPU memory** is what matters for how many textures a device can hold. KTX2 stays compressed on the GPU; WebP, AVIF and PNG are decoded to full size, whatever their file size.
