{"id":394924,"date":"2026-10-31T11:42:31","date_gmt":"2026-10-31T11:42:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tidy-thumbnails\/"},"modified":"2026-10-31T11:42:11","modified_gmt":"2026-10-31T11:42:11","slug":"kestrelpine-image-size-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kestrelpine-image-size-manager\/","author":23595229,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Kestrelpine Image Size Manager","header_author":"Kestrelpine Plugins","header_description":"Regenerate image sizes for all, selected, or single images, fill in only the missing sizes, and review leftover size files.","assets_banners_color":"6a8788","last_updated":"2026-10-31 11:42:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":148,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"kestrelpine","date":"2026-10-31 11:42:11","revision":3776761}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3776761,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3776761,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3776761,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3776761,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3776761,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3776761,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3776761,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3776761,"resolution":"4","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"Regenerate screen with size picking and the missing only option.","2":"Progress screen with pause and resume.","3":"Leftover files tab after a full library scan, listing only images with leftover files.","4":"Leftover files preview for one image."}},"plugin_section":[],"plugin_tags":[3473,84,30630,2956,4574],"plugin_category":[50],"plugin_contributors":[289906],"plugin_business_model":[],"class_list":["post-394924","plugin","type-plugin","status-publish","hentry","plugin_tags-image-sizes","plugin_tags-media","plugin_tags-regenerate-thumbnails","plugin_tags-thumbnails","plugin_tags-wp-cli","plugin_category-media","plugin_contributors-kestrelpine","plugin_committers-kestrelpine"],"banners":{"banner":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/banner-772x250.png?rev=3776761","banner_2x":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/banner-1544x500.png?rev=3776761","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/icon-128x128.png?rev=3776761","icon_2x":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/icon-256x256.png?rev=3776761","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/screenshot-1.png?rev=3776761","caption":"Regenerate screen with size picking and the missing only option."},{"src":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/screenshot-2.png?rev=3776761","caption":"Progress screen with pause and resume."},{"src":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/screenshot-3.png?rev=3776761","caption":"Leftover files tab after a full library scan, listing only images with leftover files."},{"src":"https:\/\/ps.w.org\/kestrelpine-image-size-manager\/assets\/screenshot-4.png?rev=3776761","caption":"Leftover files preview for one image."}],"raw_content":"<!--section=description-->\n<p>When you switch themes or change image sizes, your existing images keep their old sizes and new sizes are missing. Kestrelpine Image Size Manager rebuilds the sizes you pick for the images you pick, with a progress screen you can pause and resume, and it shows the old size files that nothing uses any more.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Regenerate all images, a selection from the Media Library, or a single image.<\/li>\n<li>Pick which registered sizes to rebuild, or rebuild them all.<\/li>\n<li>Missing only mode creates sizes that are absent and leaves existing files alone.<\/li>\n<li>Progress screen that works in small batches, so it does not time out on large libraries. Pause at any time, leave the page, and resume later.<\/li>\n<li>WP-CLI command: <code>wp kestrelpine-sizes regenerate<\/code> with <code>--sizes<\/code>, <code>--missing-only<\/code>, <code>--from<\/code>, <code>--to<\/code> and <code>--dry-run<\/code>.<\/li>\n<li>Leftover files report: a resumable scan walks the whole Media Library in small batches and lists only images with size files on disk they no longer use, with a preview, and deletes them one image at a time.<\/li>\n<li>Uses the WordPress image functions, so WebP and AVIF output settings from core or other plugins are respected.<\/li>\n<li>No external requests, no tracking, no ads. Only administrators can use it.<\/li>\n<\/ul>\n\n<p><strong>Privacy<\/strong><\/p>\n\n<p>Kestrelpine Image Size Manager does not send any data anywhere and does not set cookies. It stores the progress of a running job in your user profile and removes it when you uninstall the plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin from Plugins, Add New.<\/li>\n<li>Go to Tools, Kestrelpine Image Size Manager.<\/li>\n<li>Pick the sizes, choose whether to create only missing sizes, and press Start.<\/li>\n<\/ol>\n\n<p>To regenerate selected images, open Media, switch to list view, select images and choose Regenerate sizes from the Bulk actions menu. Each image row also has a Regenerate sizes link.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20delete%20my%20original%20images%3F\"><h3>Will this delete my original images?<\/h3><\/dt>\n<dd><p>No. Regeneration only writes size files. The original upload is never changed. The leftover files report only lists size files that match an image's name pattern and are not referenced by that image or any other attachment, and nothing is deleted until you confirm on the preview screen.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20old%20size%20files%20after%20i%20regenerate%3F\"><h3>What happens to old size files after I regenerate?<\/h3><\/dt>\n<dd><p>When a size changes dimensions, WordPress writes a new file and the old one stays on disk. Use the Leftover files tab to scan the library, then review and remove those, one image at a time. The scan can be paused and resumed, and it only reports that nothing was found once every image has been checked. Keep a backup before deleting files.<\/p><\/dd>\n<dt id=\"my%20library%20is%20large.%20will%20it%20time%20out%3F\"><h3>My library is large. Will it time out?<\/h3><\/dt>\n<dd><p>The progress screen processes a few images per request and saves its position after every image. If the browser closes or the server stops, open the page again and press Resume. For very large libraries, the WP-CLI command is the fastest option.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20wp-cli%20command%3F\"><h3>How do I use the WP-CLI command?<\/h3><\/dt>\n<dd><p>wp kestrelpine-sizes regenerate processes all images. Add attachment IDs to process only those, <code>--sizes=thumbnail,medium<\/code> to pick sizes, <code>--missing-only<\/code> to skip existing sizes, <code>--from<\/code> and <code>--to<\/code> for an ID range, and <code>--dry-run<\/code> to preview. <code>wp kestrelpine-sizes leftovers &lt;id&gt;<\/code> lists leftover files for one image and <code>--delete<\/code> removes them.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20webp%20or%20avif%3F\"><h3>Does it work with WebP or AVIF?<\/h3><\/dt>\n<dd><p>Yes. The plugin calls the same core functions as an upload, so any output format set through the image_editor_output_format filter is used.<\/p><\/dd>\n<dt id=\"who%20can%20use%20it%3F\"><h3>Who can use it?<\/h3><\/dt>\n<dd><p>Users with the manage_options capability, which is administrators by default. Developers can change this with the kpism_capability filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release. Regenerate all, selected, single and missing only sizes, size picking, resumable progress screen, WP-CLI command and leftover files report.<\/li>\n<\/ul>","raw_excerpt":"Regenerate image sizes for all, selected or single images, create only the missing sizes, and clean up leftover size files.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/394924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=394924"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kestrelpine"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=394924"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=394924"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=394924"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=394924"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=394924"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=394924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}