{"id":10622,"date":"2010-09-21T08:35:03","date_gmt":"2010-09-21T08:35:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/imagemagick-engine\/"},"modified":"2026-03-27T13:45:58","modified_gmt":"2026-03-27T13:45:58","slug":"imagemagick-engine","status":"publish","type":"plugin","link":"https:\/\/ur.wordpress.org\/plugins\/imagemagick-engine\/","author":14203786,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.8.0","stable_tag":"1.8.0","tested":"6.9.4","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"ImageMagick Engine","header_author":"Orangelab","header_description":"","assets_banners_color":"eed3c4","last_updated":"2026-03-27 13:45:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/imagemagick-engine\/","header_author_uri":"https:\/\/orangelab.com\/","rating":4.4,"author_block_rating":0,"active_installs":60000,"downloads":1341260,"num_ratings":16,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.7.2":{"tag":".1.7.2","author":"rickardw","date":"2021-10-18 13:30:40"},"1.0":{"tag":"1.0","author":"orangelab","date":"2010-09-21 08:36:48"},"1.1":{"tag":"1.1","author":"orangelab","date":"2010-09-21 12:22:50"},"1.1.1":{"tag":"1.1.1","author":"orangelab","date":"2010-09-21 14:53:18"},"1.1.2":{"tag":"1.1.2","author":"orangelab","date":"2010-10-08 08:41:59"},"1.2.0":{"tag":"1.2.0","author":"orangelab","date":"2011-01-18 11:34:38"},"1.2.1":{"tag":"1.2.1","author":"orangelab","date":"2011-02-24 09:02:25"},"1.2.2":{"tag":"1.2.2","author":"orangelab","date":"2011-04-27 06:57:36"},"1.2.3":{"tag":"1.2.3","author":"orangelab","date":"2011-05-03 07:49:52"},"1.3.0":{"tag":"1.3.0","author":"orangelab","date":"2011-07-12 08:53:28"},"1.3.1":{"tag":"1.3.1","author":"orangelab","date":"2011-08-11 10:56:22"},"1.3.2-beta1":{"tag":"1.3.2-beta1","author":"orangelab","date":"2011-10-20 09:11:01"},"1.4.0":{"tag":"1.4.0","author":"orangelab","date":"2012-03-21 09:10:47"},"1.5.0":{"tag":"1.5.0","author":"orangelab","date":"2012-10-29 15:17:52"},"1.5.1":{"tag":"1.5.1","author":"orangelab","date":"2013-09-03 11:16:02"},"1.5.2":{"tag":"1.5.2","author":"rickardw","date":"2014-12-27 16:56:44"},"1.5.3":{"tag":"1.5.3","author":"rickardw","date":"2018-10-22 10:18:36"},"1.5.4":{"tag":"1.5.4","author":"rickardw","date":"2018-10-29 11:17:45"},"1.5.6":{"tag":"1.5.6","author":"rickardw","date":"2020-02-14 22:24:07"},"1.6.0":{"tag":"1.6.0","author":"rickardw","date":"2020-02-25 20:48:45"},"1.6.1":{"tag":"1.6.1","author":"rickardw","date":"2020-02-26 10:21:14"},"1.6.2":{"tag":"1.6.2","author":"rickardw","date":"2020-04-01 15:55:39"},"1.6.3":{"tag":"1.6.3","author":"rickardw","date":"2020-05-25 08:29:09"},"1.6.4":{"tag":"1.6.4","author":"rickardw","date":"2020-06-04 20:43:52"},"1.6.5":{"tag":"1.6.5","author":"rickardw","date":"2020-08-05 13:21:47"},"1.7.0":{"tag":"1.7.0","author":"rickardw","date":"2021-09-03 09:36:05"},"1.7.1":{"tag":"1.7.1","author":"rickardw","date":"2021-09-23 08:35:41"},"1.7.10":{"tag":"1.7.10","author":"rickardw","date":"2024-09-20 07:16:30"},"1.7.11":{"tag":"1.7.11","author":"rickardw","date":"2024-09-20 07:33:38"},"1.7.12":{"tag":"1.7.12","author":"rickardw","date":"2024-09-20 20:00:28"},"1.7.13":{"tag":"1.7.13","author":"rickardw","date":"2024-11-14 12:39:06"},"1.7.14":{"tag":"1.7.14","author":"rickardw","date":"2025-10-16 09:39:41"},"1.7.3":{"tag":"1.7.3","author":"rickardw","date":"2022-05-26 11:56:48"},"1.7.4":{"tag":"1.7.4","author":"rickardw","date":"2022-05-27 08:23:28"},"1.7.5":{"tag":"1.7.5","author":"rickardw","date":"2022-10-19 13:47:33"},"1.7.6":{"tag":"1.7.6","author":"rickardw","date":"2022-10-19 13:54:35"},"1.7.7":{"tag":"1.7.7","author":"rickardw","date":"2023-02-08 14:27:12"},"1.7.8":{"tag":"1.7.8","author":"rickardw","date":"2024-03-15 09:01:45"},"1.7.9":{"tag":"1.7.9","author":"rickardw","date":"2024-06-12 16:29:12"},"1.8.0":{"tag":"1.8.0","author":"rickardw","date":"2026-03-27 13:45:58"}},"upgrade_notice":{"1.2.0":"<p>Fixes plugin jQuery UI script incompatibility for WordPress 3.1<\/p>"},"ratings":{"1":1,"2":0,"3":2,"4":1,"5":12},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":2244640,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":2244640,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":618669,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.7.2","1.0","1.1","1.1.1","1.1.2","1.2.0","1.2.1","1.2.2","1.2.3","1.3.0","1.3.1","1.3.2-beta1","1.4.0","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.6","1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.7.0","1.7.1","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.8.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3492706,"resolution":"1","location":"plugin"}},"screenshots":{"1":"Administration interface"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[19029,133,8626,216,5995],"plugin_category":[50],"plugin_contributors":[81529,79300],"plugin_business_model":[],"class_list":["post-10622","plugin","type-plugin","status-publish","hentry","plugin_tags-gd","plugin_tags-image","plugin_tags-imagemagick","plugin_tags-picture","plugin_tags-regenerate","plugin_category-media","plugin_contributors-orangelab","plugin_contributors-rickardw","plugin_committers-rickardw"],"banners":{"banner":"https:\/\/ps.w.org\/imagemagick-engine\/assets\/banner-772x250.jpg?rev=618669","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/imagemagick-engine\/assets\/icon-128x128.jpg?rev=2244640","icon_2x":"https:\/\/ps.w.org\/imagemagick-engine\/assets\/icon-256x256.jpg?rev=2244640","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/imagemagick-engine\/trunk\/screenshot-1.jpg?rev=3492706","caption":"Administration interface"}],"raw_content":"<!--section=description-->\n<p>Dramatically improve the quality of re-sized images by making WordPress use ImageMagick instead of standard GD image library.<\/p>\n\n<p>Features<\/p>\n\n<ul>\n<li>Preserve embedded color profile in re-sized image<\/li>\n<li>Automatically recognize custom image sizes<\/li>\n<li>Allow regeneration of existing images (optionally for selected image sizes only)<\/li>\n<li>Configure image quality or use dynamically computed default value<\/li>\n<li>Optimize different image sizes for either quality or size<\/li>\n<\/ul>\n\n<p>Lnguages: English, French, German, Swedish, Turkish<\/p>\n\n<p>Requires either ImageMagick binary or Imagick PHP module.<\/p>\n\n<h3>Contribute<\/h3>\n\n<p>Code repo available on https:\/\/github.com\/orangelabweb\/imagemagick-engine\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install either ImageMagick or the Imagick PHP module (see FAQ for more information).<\/li>\n<li>Download and extract plugin files to a folder in your wp-content\/plugin directory.<\/li>\n<li>Activate the plugin through the WordPress admin interface.<\/li>\n<li>Configure ImageMagick settings and enable it on plugin settings page.<\/li>\n<li>Regenerate existing images to take advantage of the new features.<\/li>\n<\/ol>\n\n<p>If you have any questions or problems please make write in the support forum.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20difference%20does%20it%20make%3F\"><h3>What difference does it make?<\/h3><\/dt>\n<dd><p>ImageMagick can result in huge improvements in the quality of re-sized images.<\/p>\n\n<p>Take a look at the supplied screenshot, or try it yourself.<\/p>\n\n<p>Note that the new images tend to be slightly larger than those of the standard GD library, especially if you specify a very high image quality (95+).<\/p><\/dd>\n<dt id=\"how%20do%20i%20know%20if%20i%20have%20imagemagick%20installed%3F\"><h3>How do I know if I have ImageMagick installed?<\/h3><\/dt>\n<dd><p>If you have the PHP module installed the plugin will find it. You can check yourself using the phpinfo() function. We also automatically check a common location for the ImageMagick executable.<\/p>\n\n<p>If you have shell access to a Linux\/UNIX server you can use \"which convert\" to look for the ImageMagick executable.<\/p><\/dd>\n<dt id=\"how%20do%20i%20install%20imagemagick%3F\"><h3>How do I install ImageMagick?<\/h3><\/dt>\n<dd><p>You'll need full access to your server and a bit of technical know-how. If you do not have access you'll have to ask the server administrator.<\/p>\n\n<p>Don't do it yourself unless you know what you are doing.<\/p>\n\n<p>Most Linux distributions have a package for \"ImageMagick\". Some have a package for \"php5-imagick\". It is possible to install the PHP module using PEAR.<\/p>\n\n<p>You can also find binary releases at http:\/\/www.imagemagick.org including a Windows installer.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Security fixes: output escaping, input sanitization, removed inline JS event handlers<\/li>\n<li>Replace shell exec with proc_open to prevent shell injection without requiring escapeshellcmd<\/li>\n<li>Fix translations not loading<\/li>\n<li>Fix double-escaping bug in CLI path validation<\/li>\n<li>Fix duplicate option key bug in default settings<\/li>\n<li>Detect open_basedir restrictions when testing CLI path<\/li>\n<li>Clean up plugin data on uninstall<\/li>\n<li>Remove outdated WordPress 3.5 compatibility code<\/li>\n<li>Fix resized images having wrong orientation when Exif orientation tag is set<\/li>\n<li>Add option to preserve Exif metadata (including GPS) when optimizing for size<\/li>\n<li>Add GraphicsMagick as an alternative to ImageMagick<\/li>\n<\/ul>\n\n<h4>1.7.14<\/h4>\n\n<ul>\n<li>Fix how translations was loaded again<\/li>\n<\/ul>\n\n<h4>1.7.13<\/h4>\n\n<ul>\n<li>Fix how translations was loaded<\/li>\n<\/ul>\n\n<h4>1.7.12<\/h4>\n\n<ul>\n<li>Security fix<\/li>\n<\/ul>\n\n<h4>1.7.9<\/h4>\n\n<ul>\n<li>Add better support for ImageMagick 7.0<\/li>\n<\/ul>\n\n<h4>1.7.8<\/h4>\n\n<ul>\n<li>Bugfix<\/li>\n<\/ul>\n\n<h4>1.7.7<\/h4>\n\n<ul>\n<li>Prevent remote code execution vulnerabilities<\/li>\n<li>Fix fatal error when \"exec\" is not allowed by server<\/li>\n<\/ul>\n\n<h4>1.7.6<\/h4>\n\n<ul>\n<li>Fix plugin vulnerabilities and added nonce checks<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>Important bugfix<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Improve check that image file exists on server<\/li>\n<li>Fix check of executable path<\/li>\n<li>Tested compability with WordPress 6.0<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Fixed bug when no image editor available<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Use WP_Image_Editor class to generate filename<\/li>\n<li>Tested compability with WordPress 5.8.1<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Add option to resize images interlaced<\/li>\n<li>Fix: Don't attempt to regenerate SVG's.<\/li>\n<li>Handle scaled images with wp_get_original_image_path<\/li>\n<li>Bugfix cli executable respnsonse<\/li>\n<li>Tested compability with WordPress 5.8<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li>Turkish translation thanks to Haydar \u015eAH\u0130N<\/li>\n<li>Bugfix<\/li>\n<li>Tested compability with WordPress 5.5<\/li>\n<\/ul>\n\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>Critical bugfix for .jpeg files<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Clean up code and constant for version (thanks @paulschreiber)<\/li>\n<li>Disable warning for is_executable if open_basedir active<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Added medium_large image size by default<\/li>\n<li>Display version of ImageMagick CLI (thanks @marcissimus)<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Fixed deprecated use of gd_edit_image_support (thanks @chesio)<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Small bug fixes<\/li>\n<li>Small updates to admin UI<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Fixed a bug that could cause transparency errors with PNG<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Tested with WP 5.0<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Tested with WP 4.1<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Tested with WP 3.6<\/li>\n<li>Fix CSS problems with other users of jQuery dialogs<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Tested with WP 3.5-beta2<\/li>\n<li>Allow choosing between optimize for quality &amp; size for each image size<\/li>\n<li>Fix resize UI bug in media pop-up and new attachment editor (post.php)<\/li>\n<li>Add \"ime_after_resize\" action after resize<\/li>\n<li>Catch Imagick exceptions<\/li>\n<li>Modified code now uses more of WP standard coding style<\/li>\n<li>Updated French translation, thanks to Damien Fabreguettes<\/li>\n<li>Updated Swedish translation for new strings<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Tested with WP 3.3.1<\/li>\n<li>Resize \/ Force resize button in media library<\/li>\n<li>Add more precision to resize % when large nr of images<\/li>\n<li>More sanity tests in ajax resize code<\/li>\n<li>Use WordPress version of jQuery UI progressbar if available<\/li>\n<li>Split plugin init into early and late part<\/li>\n<li>Fix PHP notice (in initial plugin configuration)<\/li>\n<li>Updated swedish translation for new strings<\/li>\n<li>French translation thanks to Damien Fabreguettes<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Tested with WP 3.2.1<\/li>\n<li>Bugfix: escape '^' character on Windows (thanks to alx359)<\/li>\n<li>clean up IM command line argument handling a bit<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Tested agains WP 3.2<\/li>\n<li>Fix JS to be compatible with jQuery 1.6<\/li>\n<li>Remove some PHP notices<\/li>\n<li>Change command line limit values to specifik byte amounts (instead of \"mb\") for compatability with really old IM versions<\/li>\n<li>Handle open_basename restrictions better<\/li>\n<li>Handle older versions (pre 6.3.1) of PHP Imagick class<\/li>\n<li>IM and WordPress compute aspect ratio slightly differently, force the WP values<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fix bug in resize all images handling, also remove some PHP notices. Thanks to Andreas Kleinschmidt for the report<\/li>\n<li>Upgrade jQuery UI Progressbar to version 1.8.9, to match version of UI Core in WordPress<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed filepath with spaces on Windows<\/li>\n<li>Tested with WordPress 3.1.2<\/li>\n<li>Added question to FAQ<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix deprecated warning<\/li>\n<li>Tested with WordPress 3.1<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Rewrite image cropping for Imagick PHP module to make sure we keep image profiles. Thanks to Christian M\u00fcnch for report<\/li>\n<li>Improve test for IM executable<\/li>\n<li>Administration: AJAXify image resizing, clarify engine selection, only load css\/js on actual plugin page<\/li>\n<li>Handle progressbar version incompatability for jQuery UI 1.8 (in WP 3.1) and jQuery UI 1.7 (in WP 3.0)<\/li>\n<li>Tested with WordPress 3.1-RC2<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fix bug with forced resize of custom image sizes<\/li>\n<li>Fix warning with open_basedir restriction during path test<\/li>\n<li>German translation<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix search-and-replace error from 1.1 that made it impossible to change settings! Thanks to Marco M. Jaeger for report!<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Working localization<\/li>\n<li>Added Swedish translation<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Improve the quality of re-sized images by replacing standard GD library with ImageMagick.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/10622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=10622"}],"author":[{"embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rickardw"}],"wp:attachment":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=10622"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=10622"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=10622"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=10622"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=10622"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=10622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}