If you’ve uploaded a high-resolution image to your WordPress site and noticed the filename now ends in -scaled.jpg, you’ve met WordPress’s large image scaling feature. Since WordPress 5.3 (November 2019), any image uploaded with a longest edge over 2560 pixels gets automatically resized down to 2560px and that smaller version becomes the one used everywhere on your site.
For most WordPress sites this is a quiet performance win. For photographers, print designers, and anyone who actually needs the full-resolution file embedded on the page, it’s an annoyance. The good news: WordPress still keeps your original file (most people don’t know this), and you can either disable scaling entirely, raise the threshold to something more generous, or just grab the original back from your uploads folder.
This guide covers all three options, when each one makes sense, and how to regenerate already-uploaded images if you change your mind later.
What Is Large Image Scaling in WordPress?
Large image scaling is a built-in WordPress feature that automatically resizes any uploaded image with a longest edge over 2560 pixels. It was added in WordPress 5.3 “Kirk” as a response to the rise of phone cameras and DSLRs producing 4000-6000px+ photos that nobody actually needed at full size on a web page.
The mechanic is simple: if you upload a 6000×4000 photo, WordPress saves both the original file (untouched, full resolution) and a scaled version (2560×1707 in this case) with -scaled appended to the filename. From that point on, every WordPress function that references the “full size” image (post thumbnails, media library, theme templates) uses the scaled version instead of the original.
The 2560px number was chosen because it’s roughly the longest edge a 27-inch 4K display would actually display, and it cuts file size by 70-80% for typical phone uploads with no visible quality loss on any reasonable screen.
Where Does WordPress Save the Original (Unscaled) Image?
This is the part most tutorials skip. WordPress doesn’t delete your original file when it scales an image. Both versions live side by side in your uploads folder.
If you upload photo.jpg at 6000×4000, your uploads folder ends up with:
/wp-content/uploads/2026/05/photo.jpg: the untouched original/wp-content/uploads/2026/05/photo-scaled.jpg: the 2560px scaled version (this is what WordPress uses everywhere)- Plus the usual thumbnail sizes (
photo-150x150.jpg,photo-300x200.jpg, etc.)
If you need the original for a specific case (a print, a download, a high-DPI hero image), you can browse to the unsuffixed filename directly through FTP, your host’s file manager, or by stripping -scaled from any scaled URL. The original is still there, WordPress just isn’t showing it to you through the media library by default.
Should You Disable Large Image Scaling?
For most WordPress sites, no. Image scaling is a performance feature that protects the site from accidental 8MB hero images, and most visitors will never see the difference between a 2560px image and a 6000px one.
Disable it if you run a photography portfolio, a fine-art gallery, a stock-photo site, a print-on-demand store, or any site where the full-resolution image is the product. For these cases the scaled version actively breaks the value of what you’re selling.
Raise the threshold instead of disabling if you want a middle ground: keep the protection from accidental 20MB uploads, but allow images up to (say) 4000px or 5000px for legitimate high-resolution needs. This is the right pick for most sites that find 2560px restrictive.
Leave it alone on standard blogs, business sites, news sites, and ecommerce shops where the visual content is supporting (not primary) and page speed matters more than pixel-perfect resolution.
How to Disable Large Image Scaling in WordPress
Three methods, in order of how much they take from you:
Method 1: Disable Entirely (One Line of PHP)
Add this code snippet to your site via the Code Snippets plugin, a custom plugin, or your theme’s functions.php file:
add_filter( 'big_image_size_threshold', '__return_false' );
This uses the big_image_size_threshold filter built into WordPress core. Returning false tells WordPress to skip the threshold check entirely, so every uploaded image keeps its original dimensions going forward.
Heads-up: this only affects uploads after the snippet is active. Images you uploaded before will stay scaled. See the regenerate-thumbnails section below if you want to update existing uploads.
Method 2: Raise the Threshold Instead of Disabling
If 2560px is too small but you don’t want to remove the protection entirely, raise the threshold to a higher number. Same filter, different return value:
add_filter( 'big_image_size_threshold', function() {
return 4000;
});
Replace 4000 with whatever maximum longest-edge value makes sense for your site. Common choices:
- 3840: exact 4K display width, good for sites with hero images displayed at very large sizes
- 4000-5000: comfortable for photography portfolios that still want some upper bound
- 6000-8000: effectively unlimited for any current camera, while still catching the occasional 20000px scan
This is the option most sites should actually pick if 2560px feels too aggressive. It keeps the safety net (a stray 100MP image won’t crash anything) while letting reasonable high-resolution uploads through untouched.
Method 3: Disable via Plugin (No Code)
If you’d rather not touch any code, the Disable Media Sizes plugin can disable the scaled size from a settings screen. Install it, activate it, and toggle off the “scaled” size.
The same plugin also lets you disable other built-in image sizes (medium, large, etc.) if you want to slim down what WordPress generates on every upload. Worth it for sites with lots of media where you only ever use one or two image sizes anyway.
How to Update Already-Uploaded Images
Any of the methods above only affect future uploads. Images already in your media library stay in their scaled state until you regenerate them. Two ways to do that:
Option A: WP-CLI (fastest)
If you have shell access to your server, WP-CLI regenerates everything with one command:
wp media regenerate --yes
This walks every attachment in your media library and regenerates all sizes using current settings. On a large site this can take a while, so consider running it from a screen session or scheduling it during low-traffic hours.
Option B: Regenerate Thumbnails Plugin
If you don’t have shell access, the Regenerate Thumbnails plugin gives you the same functionality from the WordPress dashboard. After activating, go to Tools > Regenerate Thumbnails, click the button, and walk away.
Quick note before you regenerate: this rewrites the scaled images using whatever your current settings say. If you’ve disabled scaling, the regenerated “full size” will now point to the original file instead of the -scaled.jpg version. URLs in old posts that linked directly to the -scaled.jpg file will still work (the file isn’t deleted), they just won’t be the “official” full-size anymore.
Frequently Asked Questions
What does -scaled.jpg mean in WordPress?
The -scaled suffix means WordPress took your original upload, found it was larger than 2560px on the longest edge, and saved a smaller copy at exactly 2560px on that edge. The scaled copy is what WordPress uses as the “full size” image in posts, themes, and the media library. Your original file is still there in the same folder, just without the suffix.
Why is WordPress automatically resizing my images?
WordPress 5.3 (November 2019) added automatic scaling for any uploaded image larger than 2560px on the longest edge. The goal is to keep page weight reasonable for visitors when site owners (or their authors) upload full-resolution camera photos that nobody actually needs at full size on a web page. It’s a performance feature, not a destructive one. Your original file is always preserved alongside the scaled version.
What is the default image size threshold in WordPress?
2560 pixels on the longest edge. Any image with a longest edge of 2560px or smaller is left untouched. Anything larger is scaled down so the longest edge becomes exactly 2560px, preserving the aspect ratio. The threshold is filterable via the big_image_size_threshold hook, so you can raise it, lower it, or disable it entirely.
Where does WordPress store the original unscaled image?
In the same folder as the scaled version, with the original filename (no suffix). If your scaled image is at /wp-content/uploads/2026/05/photo-scaled.jpg, the original is at /wp-content/uploads/2026/05/photo.jpg. WordPress doesn’t expose it through the media library, but you can grab it via FTP, your host’s file manager, or by typing the unsuffixed URL directly.
How do I get the original full-size image back?
Two paths. For new uploads going forward: add the big_image_size_threshold filter snippet shown above to disable scaling, and future uploads will keep their original dimensions. For images already in your library: the originals are still there with the unsuffixed filename, and you can either browse to them directly or run wp media regenerate --yes via WP-CLI to make WordPress treat them as the canonical full-size again.
Does disabling image scaling hurt page speed?
It can. If you start uploading 6000px photos and your theme references the full-size image anywhere (hero blocks, lightbox lookups, og:image tags), visitors will be downloading much larger files than they need. The fix is to make sure your theme and plugins use appropriately-sized intermediate sizes (large, medium-large) instead of full-size, and consider an image-optimization plugin like ShortPixel, Optimole, or EWWW that compresses on upload regardless of scaling settings.
Does WordPress scaling apply to PNG and GIF files?
It applies to PNG. It does not apply to GIF (because scaling can destroy animation frames) or to SVG. So a 4000px PNG will get scaled to 2560px the same way a JPG would, but a 4000px GIF or any SVG will upload untouched. WebP and AVIF follow the same rule as JPG and PNG.
Can I raise the threshold instead of disabling completely?
Yes, and for most sites this is the right pick. Use the same big_image_size_threshold filter but return a number instead of false. A common choice is 4000 (enough for almost any reasonable upload) or 6000 (effectively unlimited for current cameras, but still catches the stray scanner output at 20000px). See Method 2 above for the exact snippet.
Wrapping Up
For most sites, WordPress’s large image scaling is a quiet win and worth leaving alone. For photography, art, and print sites where full-resolution matters, the one-line filter snippet (or a plugin if you don’t want to touch code) handles it cleanly. And if you’ve ever frantically searched for an unscaled original you assumed WordPress deleted: it didn’t, the file is still right there in your uploads folder under the unsuffixed filename.
While you’re optimizing image behavior, our guide on how to increase the WordPress upload size limit covers the other half of the upload story (the size limit itself), and how to speed up WordPress covers the broader performance picture.



13 Responses
ok
Thanks Andy. It helped me
So happy to help!
Hey Andy, I was able to use this to get some of my larger images loaded on to site that it was not letting me load. in order to restore this setting back to default would I be able to change this to true instead of false?
add_filter( ‘big_image_size_threshold’, ‘__return_false’ );
change to
add_filter( ‘big_image_size_threshold’, ‘__return_true’ );
I use the Code Snippets program to put all my WP function changes in. Therefore, I do not have to mess with the templates or deal with making a child theme or wanting to change themes and having to move code around. That program also has a clickable switch to turn the individual function on or off. I am not affiliated with them, but it is a pretty neat plugin.
Thank you very much
Worked perfect
Thanks for this. I was uploading small Webp images to my site and WP was scaling them 3 times larger. This code did the trick. I am not sure why WP does not have a switch built in to turn scaling off for the non-noobs that understand image sizing? This sort of goes against the idea of using less bandwidth and making websites faster.
This snippet fixes this issue for me: Some of my images got bigger (in file size) when WordPress scales them. Strange WP would do that.
Thanks, this worked fine for my site. Kudos
the code snippet fixed my problem thanks
This allows me to upload at any size, but not to display. Images are not displayed at a greater size than 1536px on the long side. Very annoying.
Likely your theme has a resized image when it’s displayed, this only removes the WordPress max image size rather than theme scaling.
thnk you bro