WordPress Image Size Not Changing: 10 Causes and Fixes (2026)
When WordPress image size is not changing, there are ten causes that account for nearly every reported case. Some are block editor constraints, some are theme CSS overrides, some are server-side settings, and some are plugin conflicts. The tricky part is that they produce similar symptoms, so you have to rule them out in sequence.
This guide covers all ten causes with precise fixes for each. If your issue is that images are failing to upload altogether rather than displaying at the wrong size, see WordPress image upload errors and how to fix them first.
Quick Diagnosis: Which Symptom Do You Have?
| Symptom | Most likely cause |
|---|---|
| Size setting reverts immediately after saving | Cause 2: Theme CSS width: 100% !important |
| Drag handle will not resize larger | Cause 5: Image smaller than display target |
| Edit Image button is greyed out | Missing GD or Imagick, or Cause 9: HEIC format |
| Only "Full Size" available in the size dropdown | Cause 4: Media Settings not regenerated |
| Uploaded image is automatically shrunk | Cause 7: Big image size threshold (2560px) |
| Change saves but looks the same in the browser | Cause 8: Browser or CDN cache |
Cause 1: Block Editor Content Width Limit
The block editor enforces a content width ceiling set by your theme. If your theme sets a content width of 720px, the image block will not display wider than 720px regardless of the size you specify. This is not a bug — it is the theme's intended layout constraint.
How to fix it
- Select the image block and look for the Alignment toolbar at the top of the block. Try Wide width or Full width — these break out of the content column.
- If those options are absent, your theme has not declared
add_theme_support('align-wide'). Add it to your child theme'sfunctions.php. - For themes like Astra, GeneratePress, or Kadence, look in their Customizer settings for a "Content Width" or "Site Layout" option and increase it.
Cause 2: Theme CSS Overriding Width with !important
Many themes apply width: 100% !important to .wp-block-image img for responsive behavior. This override wins over anything you set in the block editor sidebar, so the image stays at 100% of the column regardless of your input.
How to confirm it
- View the live page and press F12 to open DevTools.
- Right-click the image and select Inspect.
- In the Styles panel on the right, look for a
widthproperty with!importantattached. - If you see it strikethrough when you uncheck it and the image changes size, that rule is the problem.
How to fix it
Go to Appearance → Customize → Additional CSS and add a more specific rule:
.wp-block-image.size-custom img {
width: 50% !important;
height: auto !important;
} Or add a custom CSS class to the specific image block (e.g. my-half-image) and target it precisely:
.my-half-image img {
width: 50% !important;
height: auto;
} Cause 3: Full-Width Block Patterns and Cover Blocks
WordPress block patterns and Cover blocks are often built to fill the full viewport width. Images placed inside these patterns inherit that full-width context, and the block editor sidebar size controls have no effect inside them.
How to fix it
- Move the image out of the full-width pattern into a standard paragraph or group block.
- Replace the Cover block with a standard image block if you do not need the overlay text functionality.
- If you must keep the pattern, set the pattern's width constraint in its block settings before adjusting the inner image.
Cause 4: WordPress Media Settings Thumbnail Sizes
Go to Settings → Media in your WordPress dashboard. You will see maximum dimensions for Thumbnail, Medium, and Large sizes. The block editor's size dropdown only offers sizes that were generated during upload. If a size was never created, it will not appear as an option.
How to fix it
- In Settings → Media, increase the Large size dimensions (default is 1024×1024; increase to 1920×1920 if needed).
- Install the Regenerate Thumbnails plugin and run it to apply new size settings to existing images. New uploads pick up the change automatically.
- To add a completely custom size, add
add_image_size('extra-large', 1920, 1080, true);to yourfunctions.php, then regenerate.
Cause 5: Original Image Too Small to Scale Up
WordPress will not display an image at a size larger than its original pixel dimensions. If you uploaded an 800px-wide image and try to display it at 1200px, the drag handle stops. This is intentional — scaling up causes visible blurriness.
How to fix it
Upload a higher-resolution version of the image. For most WordPress themes, aim for at least 1200px on the widest side for in-content images, and 1920px for full-width hero images. If you are shooting on an iPhone, the original resolution (4032px) is more than sufficient — the issue usually comes from images that have already been compressed and shrunk before reaching WordPress.
Cause 6: Column Width Constraining the Image
Your image file may be 1200px wide, but if it sits inside a 720px content column, it will display at 720px and the drag handle will stop there. This is the most common cause of "I can't make it bigger than the column."
How to fix it
- Use the image block's Wide width or Full width alignment to break out of the column.
- Switch to a one-column layout (remove sidebars) to give the content area more room.
- Increase the theme's content width in its Customizer settings.
Cause 7: Big Image Size Threshold (2560px Auto-Scaling)
Since WordPress 5.3, any image uploaded wider than 2560px is automatically scaled down to 2560px and stored as the "scaled" version. WordPress then uses the scaled version instead of the original. If you uploaded a 4000px photo and expect to see it at full size, WordPress has already shrunk it.
How to disable it
Add this to your child theme's functions.php or a custom plugin file:
add_filter('big_image_size_threshold', '__return_false'); Think twice before doing this. The threshold exists to protect performance and storage. A 4032px iPhone photo served directly to a web visitor is unnecessary overhead. A better approach is to resize to a sensible web width (1920px or smaller) before uploading.
Cause 8: Browser or CDN Cache
You changed the size and saved, but the image still looks the same. Before debugging anything else, clear the cache. WordPress does not append version query strings to image URLs by default, so the browser may be serving the old version from cache.
How to fix it
- Hard reload: Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows.
- Open an incognito or private window to see the page without any browser cache.
- If you use a caching plugin (WP Super Cache, W3 Total Cache, WP Rocket), purge the cache from the plugin settings.
- If you use Cloudflare or another CDN, purge the CDN cache from its dashboard or use the development mode.
Cause 9: HEIC or Unsupported Image Format
WordPress 6.7 added native HEIC support, but many shared hosting environments run custom PHP builds that strip newer MIME types or lack the libheif library required to process HEIC. If a HEIC image is uploaded to an environment that can accept it but cannot decode it, the image appears in the Media Library without a preview and the Edit Image controls are disabled.
How to fix it
- Convert the image to JPEG before uploading. On iPhone, go to Settings → Camera → Formats and choose Most Compatible to shoot in JPEG by default.
- For photos already shot in HEIC, use a conversion app. SnapPress converts HEIC to JPEG automatically on the device before sending to WordPress, so no server-side support is needed.
- For a detailed walkthrough, see HEIC photos from iPhone and WordPress and how to enable HEIC uploads in WordPress.
Cause 10: Image Optimization Plugin Conflict
Plugins like Smush, EWWW Image Optimizer, ShortPixel, and Imagify re-process images after upload. In some configurations they regenerate thumbnails at fixed sizes that conflict with what the block editor expects, or they serve WebP versions through URLs that bypass WordPress's size logic.
How to isolate it
- Deactivate all image optimization plugins.
- Test the image size controls. If they now work correctly, reactivate plugins one at a time to identify the conflict.
- Inside the conflicting plugin's settings, look for options to disable "auto-regenerate thumbnails" or "WebP conversion for existing sizes."
How to Upload iPhone Photos at the Right Size from the Start
Working through ten causes every time is exhausting. If you upload photos from an iPhone regularly, the more efficient solution is to handle the sizing before the image reaches WordPress.
SnapPress is a dedicated photo upload app for iPhone that sends images directly to your WordPress Media Library via the REST API. For image size problems specifically, it helps in three ways:
- Resize on device before upload: Choose a target width (web-optimized 1200px, or higher) and SnapPress resizes before sending. Images land in WordPress already at the right dimensions, no Big Image Threshold involved.
- Automatic HEIC to JPEG conversion: Eliminates the HEIC format issues described in Cause 9.
- Upload up to 20 photos at once: Batch uploads with consistent sizing across all images in the batch — useful for gallery posts where uniform dimensions matter.
For the best display sizes for featured images, see WordPress featured image sizes explained. For placing uploaded images side by side, see how to put images side by side in WordPress.
Frequently Asked Questions
Why does my WordPress image size keep reverting after I change it?
The most common cause is a theme CSS rule applying width: 100% !important to .wp-block-image img, which overrides whatever you set in the block editor. Open browser DevTools, inspect the image element, and look for a !important rule in the Styles panel. You can override it with a custom CSS class on the image block.
Why can I not drag the image handle to make it larger in the block editor?
WordPress will not scale an image beyond its original pixel dimensions to prevent blurry output. If the original upload is 800px wide, the block editor will not let you display it at 1200px. Upload a higher-resolution version of the image.
The Edit Image button in my Media Library is greyed out. Why?
WordPress needs either the GD or Imagick PHP extension installed on the server to edit images. Check your server's phpinfo() output for a 'gd' or 'imagick' section. On shared hosting, you can usually enable these extensions from your hosting control panel.
WordPress is automatically shrinking my uploaded images. How do I stop it?
WordPress 5.3 introduced a 'big image size threshold' that scales down any image wider than 2560px. Add add_filter('big_image_size_threshold', '__return_false'); to your child theme's functions.php or a custom plugin to disable it. Consider whether you actually need the full resolution before turning this off, as very large images slow down your site.
iPhone photos always upload too large. What is the best fix?
iPhone cameras shoot at 4032x3024px by default. That triggers the big image size threshold and often conflicts with theme layout widths. Using a dedicated upload app like SnapPress lets you resize to a target width (1200px, 1920px) before the image reaches WordPress, sidestepping both the threshold and the theme constraints.
Tired of fighting WordPress image size settings after every upload?
SnapPress resizes photos on your iPhone before they reach WordPress — no Big Image Threshold, no HEIC issues, no theme width conflicts. Upload up to 20 photos at once. Free to start, $4.99 lifetime.
Get SnapPress