Incod Image Dimension Manager unifies every image on your site to fixed dimensions, ensuring a consistent look on every page, archive and gallery.
Incod Image Dimension Manager is an original plugin developed, owned and maintained by inCOD (ideagrafica). "Incod" is the author's own brand: the plugin has no affiliation with, endorsement from, or connection to any other company or project of a similar name.
Key features
- Three resize modes: Letterbox / Canvas, Hard Crop with a focal point and Proportional Scale.
- Customizable HEX fill canvas (color picker) or transparent (PNG/WebP), always centered.
- Dynamic detection of all public Custom Post Types, WooCommerce included, with multiple selection.
- Auto-resize on upload: new images are fitted automatically when uploaded.
- Asynchronous Bulk Resize via AJAX: configurable batches, progress bar, percentage, counters, elapsed time and remaining-time estimate.
- Timeout protection: time budget per request, adaptive throttle between batches and a mutual-exclusion lock: the server is never saturated.
- Pause, Resume and Cancel at any moment, with no limit on the number of images.
- Optional backup of the originals with batched, progressive restore.
- Imagick engine with automatic GD fallback through
wp_get_image_editor().
- Complete security: capabilities, nonces, sanitization and escaping on every input and output.
- Translatable: text domain
incod-image-dimension-manager and a .pot file in the /languages folder.
Resize modes
- Letterbox / Canvas Padding — fits the image inside the target dimensions without cropping and fills the empty space with a customizable (HEX color picker) or transparent canvas (PNG and WebP), with automatic centering.
- Hard Crop — crops the image to fill the target dimensions completely, with a selectable focal point (Center, Top, Bottom, Left, Right).
- Proportional Scale — scales the image proportionally without adding a canvas and without destructive cropping.
- Option to prevent upscaling of images smaller than the target.
- JPEG quality configurable from 1 to 100.
- Images that already match the target are skipped automatically, without rewriting the file.
Custom Post Types
- Dynamic detection of every registered public Custom Post Type (WooCommerce Products, posts, pages, portfolios, custom CPTs).
- Multiple selection through checkboxes in the settings panel.
- Support for Featured Images, child attachments, WooCommerce product galleries (
_product_image_gallery) and product variation images.
- Explicit choice between the whole Media Library and only the images used by the selected post types.
Automation and bulk processing
- Auto-resize on upload: new images are resized automatically when uploaded (hook
wp_generate_attachment_metadata), with a recursion guard.
- Asynchronous Bulk Resize: batch processing via AJAX with a smooth progress bar, percentage, counters, elapsed time and remaining-time estimate.
- Configurable batches of 1 to 50 images per request, with no limit on the total number of images.
- Timeout protection: every request works within a dedicated time budget; images not yet processed are deferred to the next request without losses or errors.
- Adaptive throttle: the pause between batches adapts to the load just processed, so the server is never saturated.
- Mutual-exclusion lock: only one processing session at a time, even with multiple tabs open.
- Pause, Resume and Cancel, with an error log (last 50 entries) and a stored, retrievable session state.
- PHP timeout and memory-limit increase applied only to the heavy AJAX requests that need it (queue, batch, restore); light requests and the rest of the site are never affected.
- Optional backup of the original files with batched restore (up to 25 folders or a time budget per request).
Security and standards
current_user_can( 'manage_options' ) checks on every screen and AJAX endpoint.
- CSRF protection with a nonce on every request.
- Input sanitization and systematic output escaping.
- PHP namespace and modular class architecture.
- Processing through
wp_get_image_editor(): uses Imagick when available, with automatic GD fallback.
uninstall.php for a clean removal of options, transients and backup folders.
Requirements and compatibility
- WordPress 5.0 or newer (tested up to 7.1).
- PHP 7.4 or newer.
- Imagick or GD (at least one of them, almost always already present).
- No external dependencies or third-party services.