WordPress Image Sizes: Understanding, Optimising, and Controlling Multiple Image Generation
WordPress is a powerful content management system, but one of its lesser-known features can significantly impact website performance: automatic image generation. Every time you upload an image, WordPress creates multiple versions in different sizes to cater to various display needs, such as thumbnails, featured images, and responsive layouts. While this can be useful, it can also lead to excessive disk usage and slower site performance if not managed properly.
This article explores how WordPress handles image sizes, the impact on website speed and performance, and the best ways to optimise and disable unnecessary image generation.
Table of Contents

How WordPress Handles Image Sizes
By default, WordPress generates multiple copies of each uploaded image in various sizes. The standard sizes include:
- Thumbnail (150×150 pixels, cropped)
- Medium (300×300 pixels, proportional resize)
- Large (1024×1024 pixels, proportional resize)
- Full Size (original uploaded dimensions)
Additionally, themes and plugins often define custom image sizes, increasing the number of generated files.

The Impact of Multiple Image Files
Each extra image version takes up space on the server, and over time, this can lead to:
Increased Disk Usage: Hosting storage fills up faster, leading to potential overage charges.
Slower Backups: Larger site size means longer backup and restore times.
Performance Issues: More files can slow down database queries and file retrievals.
Longer Upload Times: More server processing is required every time an image is uploaded.
How to Optimise WordPress Image Sizes
To balance image quality and performance, consider these optimisation techniques:
1. Adjust Default Image Sizes
WordPress allows you to modify image sizes via Settings > Media. To reduce storage usage:
Set smaller values for medium and large sizes.
Disable unused sizes by setting the dimensions to 0.
2. Disable Unnecessary Image Generation
If your theme or plugins generate excessive image versions, you can disable them by adding the following code to your theme’s functions.php file:
function disable_extra_image_sizes() {
remove_image_size(‘medium_large’);
remove_image_size(‘1536×1536’);
remove_image_size(‘2048×2048’);
}
add_action(‘init’, ‘disable_extra_image_sizes’);
This prevents WordPress from creating redundant image versions.
3. Prevent Theme and Plugin Image Sizes
Some themes and plugins add their own image sizes. To prevent this:
Use the remove_image_size() function.
Review your theme’s functions.php for add_image_size() functions and remove unnecessary ones.
4. Use a Plugin to Manage Image Sizes
Plugins like Regenerate Thumbnails and Image Regenerate & Select Crop allow you to control image sizes and regenerate only the ones you need.
5. Optimise Images Before Uploading
Before uploading images, reduce their file size using:
TinyPNG or ImageOptim for compression.
WebP format for modern, lightweight images.
6. Implement Lazy Loading
Lazy loading delays the loading of offscreen images, improving performance. WordPress 5.5+ includes native lazy loading, but you can enhance it with plugins like a3 Lazy Load.
Final Word
Understanding how WordPress handles image sizes is crucial for maintaining an efficient website. By optimising and controlling automatic image generation, you can reduce disk usage, improve site speed, and enhance overall performance. Implement these strategies to keep your WordPress site running smoothly without unnecessary bloat.