Why Does WordPress Generate So Many Sizes of One Image?
Why Multiple Sizes Make Sense
Serving a full-resolution 4000-pixel-wide photo in a 150-pixel archive thumbnail slot would be wasteful, forcing visitors to download far more data than that specific display actually needs. By generating several purpose-sized copies at upload time, WordPress (and the active theme) can reference the appropriately sized version for each specific context, keeping page weight reasonable without sacrificing image quality where a larger size is genuinely needed.
Common Considerations
- Themes and plugins can register their own custom image sizes beyond WordPress's built-in thumbnail/medium/large, tailored to their specific design needs.
- This does mean more storage space used per uploaded image, since every registered size gets its own physical file — a real, if usually manageable, storage cost.
- Changing image size settings or switching themes after images are already uploaded doesn't retroactively regenerate them for the new sizes, which is why a "regenerate thumbnails" plugin run is needed after such a change, covered in more detail elsewhere.
- Modern responsive image techniques (
srcset) let the browser itself choose the most appropriate size from those available, based on the visitor's actual screen size and resolution, making good use of this multi-size generation automatically.
Managing Image Sizes Well
- Don't disable size generation as a storage-saving measure without understanding the tradeoff, since it directly affects page performance across the site.
- Regenerate thumbnails after a theme change that alters registered image dimensions.
- Periodically review unused custom sizes a previous theme or plugin registered but that are no longer needed, if storage genuinely becomes a concern.
Seeing which sizes your site generates
- Look at the settings. Settings → Media shows the thumbnail, medium and large sizes. Themes and plugins register more on top of those, and WP-CLI's
wp media image-sizelists every registered size. - Look at the files. Open one image's folder in
wp-content/uploads. Each registered size appears as a separate file with its dimensions in the name. - Know about the scaled copy. WordPress scales very large uploads, wider than 2,560 pixels, down to a "-scaled" version, and keeps the original alongside it.
- Find which sizes are actually used. A size that no template or plugin ever outputs only takes up storage. Disabling such sizes with the
intermediate_image_sizes_advancedfilter is safe only once you've confirmed nothing uses them.
After changing sizes
Existing images don't change when you change sizes or switch themes, so regenerate thumbnails afterwards. If you want to remove sizes you no longer use, do it with a backup in place and verify a sample of pages afterwards, because a missing size shows up as a blurry or broken image.
Need image handling optimized properly for performance? See WordPress speed optimization.