{"id":164467,"date":"2022-11-01T23:18:54","date_gmt":"2022-11-01T23:18:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/delete-unscaled-images\/"},"modified":"2026-09-22T18:25:50","modified_gmt":"2026-09-22T18:25:50","slug":"delete-unscaled-images","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/delete-unscaled-images\/","author":9137856,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.1.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Delete Unscaled Images","header_author":"Greg Perham","header_description":"Deletes original image files if they have been resized.","assets_banners_color":"","last_updated":"2026-09-22 18:25:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/github.com\/swinggraphics\/delete-unscaled-images","rating":5,"author_block_rating":0,"active_installs":800,"downloads":4704,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.2.4":{"tag":"1.2.4","author":"swinggraphics","date":"2024-04-15 21:59:48","revision":3071149},"2.0":{"tag":"2.0","author":"swinggraphics","date":"2026-09-22 18:25:50","revision":3707936},"2.0.1":{"tag":"2.0.1","author":"swinggraphics","date":"2026-09-22 18:25:50","revision":3707936}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":4},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2809200,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2809200,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.4","2.0","2.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[163,6592],"plugin_category":[50],"plugin_contributors":[97974,144826],"plugin_business_model":[],"class_list":["post-164467","plugin","type-plugin","status-publish","hentry","plugin_tags-images","plugin_tags-media-uploader","plugin_category-media","plugin_contributors-rwky","plugin_contributors-swinggraphics","plugin_committers-rwky","plugin_committers-swinggraphics"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/delete-unscaled-images\/assets\/icon-128x128.png?rev=2809200","icon_2x":"https:\/\/ps.w.org\/delete-unscaled-images\/assets\/icon-256x256.png?rev=2809200","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WordPress 5.3 added <a href=\"https:\/\/make.wordpress.org\/core\/2019\/10\/09\/introducing-handling-of-big-images-in-wordpress-5-3\/\">\"big image handling\"<\/a> that scales uploaded images to a maximum size of 2560 pixels for use on the website. WP adds \"-scaled\" to the full size image file name. The original, unscaled images are kept on the server. This can mean that many large images are stored on the server that aren't ever actually going to be displayed on the website. In my case, users are uploading 15MB files from their cameras.<\/p>\n\n<p>After the scaled version and intermediate\/thumbnail images are generated, the originals are no longer needed and just taking up storage space. <em>Delete Unscaled Images<\/em> will remove those unneeded files.<\/p>\n\n<p>First, original images are deleted immediately after the resized versions are created for all new uploads.<\/p>\n\n<p>Second, there is a bulk deletion tool in the Media submenu to process existing images.<\/p>\n\n<!--section=installation-->\n<p>See the standard installation instructions at <a href=\"http:\/\/codex.wordpress.org\/Managing_Plugins#Installing_Plugins\">WordPress.org<\/a>.<\/p>\n\n<!--section=changelog-->\n<h4>2.0<\/h4>\n\n<ul>\n<li>Uses manage_options, so normal administrators can access it.<\/li>\n<li>Processes attachments in batches of 100 via AJAX.<\/li>\n<li>Handles 30k+ Media Libraries without loading everything into memory.<\/li>\n<li>Adds a safe dry-run scan showing estimated savings.<\/li>\n<li>Requires confirmation before deletion.<\/li>\n<li>Validates that the active -scaled file exists.<\/li>\n<li>Deletes only the original recorded in original_image.<\/li>\n<li>Removes stale original_image metadata after deletion.<\/li>\n<li>Continues deleting oversized originals automatically for future uploads.<\/li>\n<li>Uses POST requests, nonces, capability checks and escaped output.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added bulk delete Media submenu page.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Hooked into image upload to delete originals immediately.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Crude bulk process as proof of concept.<\/li>\n<\/ul>","raw_excerpt":"Deletes original image files if they have been resized","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/164467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=164467"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rwky"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=164467"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=164467"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=164467"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=164467"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=164467"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=164467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}