{"id":372683,"date":"2026-09-29T20:57:03","date_gmt":"2026-09-29T20:57:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/make-image-transparent-best-free-transparency-resize-tool\/"},"modified":"2026-09-29T15:08:18","modified_gmt":"2026-09-29T15:08:18","slug":"jyp-image-transparency-converter","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/jyp-image-transparency-converter\/","author":23570723,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"JYP Image Transparency Converter \u2014 transparency & resize tool","header_author":"JYP - Just Your Plugin","header_description":"Removes a solid background from an uploaded image, resizes it, and saves the result as PNG or WebP.","assets_banners_color":"","last_updated":"2026-09-29 15:08:18","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/jyp-plugins.tech\/donate\/","header_plugin_uri":"https:\/\/jyp-plugins.tech\/jyp-image-transparency-converter\/","header_author_uri":"https:\/\/jyp-plugins.tech\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation"],"tags":{"1.3.0":{"tag":"1.3.0","author":"jypdevelopment","date":"2026-09-29 15:08:18","revision":3719313}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3719344,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3719344,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3719344,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[],"plugin_category":[],"plugin_contributors":[283508],"plugin_business_model":[],"class_list":["post-372683","plugin","type-plugin","status-publish","hentry","plugin_contributors-jypdevelopment","plugin_committers-jypdevelopment"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/jyp-image-transparency-converter\/assets\/icon.svg?rev=3719344","icon":"https:\/\/ps.w.org\/jyp-image-transparency-converter\/assets\/icon.svg?rev=3719344","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>If you work with website content, you may often find yourself using different tools to remove backgrounds, resize images, and prepare them in the same format before uploading them to WordPress. This can become repetitive, especially when you need to prepare a large number of images in the same way.<\/p>\n\n<p><strong>JYP Image Transparency Converter<\/strong> is designed to make this part of the job easier. Select the images you want to prepare, set the conversion options once, and let the plugin process them in the same way. This helps you keep a consistent look and image format across a whole set of images without having to process each one manually.<\/p>\n\n<p>The plugin adds <strong>Tools &gt; JYP Image Transparency Converter<\/strong> to the WordPress admin area. It removes a solid background from your images and can resize them at the same time.<\/p>\n\n<p>The background colour is taken from one of the image's corners. You can adjust the tolerance to control how much of the similar colour is made transparent.<\/p>\n\n<p><strong>Author:<\/strong> JYP - Just Your Plugin\n<strong>Author URI:<\/strong> https:\/\/jyp-plugins.tech\/<\/p>\n\n<p>You can select any number of individual images, including images from different locations. Selected images are added to a thumbnail grid and uploaded only when you start the conversion.<\/p>\n\n<p>You can also select a local directory using the standard browser folder picker. In directory mode, the plugin can process image files from the selected directory and its subdirectories. Converted files are saved in the WordPress uploads directory with the <code>-t<\/code> suffix.<\/p>\n\n<p>The <strong>Convert to PNG<\/strong> and <strong>Convert to WebP<\/strong> buttons process images asynchronously, without reloading the admin page. The result or any processing errors are shown below the buttons.<\/p>\n\n<p>Each successfully converted image is saved to the WordPress uploads directory and registered in the <strong>Media Library<\/strong> using the standard WordPress attachment API. This means the converted image becomes a normal WordPress media item, just as if you had uploaded the file through the Media Library yourself. WordPress then generates the configured intermediate image sizes and stores the metadata in the same way as it does for a normally uploaded image.<\/p>\n\n<h3>REST API<\/h3>\n\n<p>The REST endpoint is <code>POST \/wp-json\/jypitc\/v1\/convert<\/code>. Authenticate with a WordPress Application Password using HTTP Basic Authentication.<\/p>\n\n<p>You can send one or more images as <code>files[]<\/code> multipart fields, or pass <code>directory<\/code> as a relative directory inside the WordPress uploads directory.<\/p>\n\n<p>Supported parameters include <code>format<\/code> (<code>png<\/code> or <code>webp<\/code>), <code>convert_size<\/code> (<code>1<\/code>), <code>width<\/code>, <code>height<\/code>, <code>preserve_proportions<\/code> (<code>1<\/code>), <code>output_subdirectory<\/code>, <code>include_subdirectories<\/code> (<code>1<\/code>), and <code>preserve_structure<\/code> (<code>1<\/code>). When <code>convert_size<\/code> is enabled, both <code>width<\/code> and <code>height<\/code> are required.<\/p>\n\n<p>Example:<\/p>\n\n<pre><code>`text\n<\/code><\/pre>\n\n<p>curl -u \"admin:APPLICATION_PASSWORD\" -F \"files[]=@photo.jpg\" -F \"format=png\" -F \"convert_size=1\" -F \"width=1200\" -F \"height=1200\" -F \"preserve_proportions=1\" https:\/\/example.com\/wp-json\/jypitc\/v1\/convert\n    <code>&lt;h3&gt;WP-CLI&lt;\/h3&gt;\nThe command is<\/code>wp jyp-image-transparency-converter<code>. Use<\/code>--files<code>with a comma-separated list of local files or<\/code>--directory` with a local directory.<\/p>\n\n<p>It accepts the same conversion options as the REST endpoint:<\/p>\n\n<pre><code>`text\n<\/code><\/pre>\n\n<p>wp jyp-image-transparency-converter --files=photo.jpg,logo.png --format=webp --convert_size=1 --width=1200 --height=1200 --preserve_proportions=1\nwp jyp-image-transparency-converter --directory=.\/images --include_subdirectories=1 --preserve_structure=1\n    `<\/p>\n\n<p>WP-CLI uses the WordPress user configured for the command, for example with <code>--user<\/code>. Application Passwords are used to authenticate the REST API over HTTP.<\/p>\n\n<h3>Developer hooks<\/h3>\n\n<p>The plugin provides standard WordPress actions and filters for developers who need to customise the conversion process:<\/p>\n\n<ul>\n<li><code>jypitc_background_tolerance<\/code> \u2014 filter the background colour tolerance.<\/li>\n<li><code>jypitc_transparent_pixel_source<\/code> \u2014 filter the reference pixel corner.<\/li>\n<li><code>jypitc_output_postfix<\/code> \u2014 filter the generated filename postfix.<\/li>\n<li><code>jypitc_existing_file_behavior<\/code> \u2014 filter <code>replace<\/code> or <code>unique<\/code> conflict handling.<\/li>\n<li><code>jypitc_external_conversion_options<\/code> \u2014 filter REST\/WP-CLI conversion options.<\/li>\n<li><code>jypitc_conversion_items<\/code> \u2014 filter the source item list before conversion.<\/li>\n<li><code>jypitc_before_conversion<\/code> and <code>jypitc_after_conversion<\/code> \u2014 actions around external conversion.<\/li>\n<li><code>jypitc_conversion_result<\/code> \u2014 filter the external conversion result.<\/li>\n<li><code>jypitc_image_processor<\/code> \u2014 choose <code>imagick<\/code> or <code>gd<\/code>.<\/li>\n<li><code>jypitc_resize_settings<\/code> \u2014 filter resize settings.<\/li>\n<li><code>jypitc_pixel_coordinates<\/code> \u2014 filter the sampled pixel coordinates.<\/li>\n<li><code>jypitc_upload_destination<\/code> \u2014 filter the destination path and URL.<\/li>\n<li><code>jypitc_output_filename<\/code> \u2014 filter the generated filename.<\/li>\n<li><code>jypitc_attachment_args<\/code> \u2014 filter attachment post data before insertion.<\/li>\n<li><code>jypitc_attachment_registered<\/code> \u2014 action after attachment metadata is saved.<\/li>\n<li><code>jypitc_settings_saved<\/code> and <code>jypitc_settings_save_response<\/code> \u2014 actions and response filtering for settings.<\/li>\n<li><code>jypitc_rest_permission_callback<\/code> and <code>jypitc_rest_routes_registered<\/code> \u2014 customise REST access and route registration.<\/li>\n<li><code>jypitc_rest_conversion_result<\/code> and <code>jypitc_cli_conversion_result<\/code> \u2014 filter API and WP-CLI results.<\/li>\n<li><code>jypitc_ajax_conversion_result<\/code> \u2014 filter AJAX conversion results.<\/li>\n<\/ul>\n\n<p>The <strong>Conversion progress<\/strong> panel lists every selected image with a thumbnail and its original relative path. Files are sent and processed one at a time, so each item is updated as the conversion progresses.<\/p>\n\n<p>Successful conversions show a green check mark and a link to the generated file. If a conversion fails, a red cross and the error message are shown instead.<\/p>\n\n<p>Next to <strong>Uploads subdirectory<\/strong>, the optional <strong>Convert size<\/strong> setting lets you set the image width and height in pixels.<\/p>\n\n<p><strong>Preserve proportions<\/strong> fits each result within the specified dimensions without exceeding either value. When it is disabled, the result uses the exact width and height you specify.<\/p>\n\n<p>On the <strong>Make Transparent<\/strong> tab, the default <strong>Uploads subdirectory<\/strong> is the current WordPress date directory (<code>YYYY\/MM<\/code>), matching the standard WordPress media upload behaviour. Other existing subdirectories inside uploads can also be selected.<\/p>\n\n<p>For directory processing, <strong>Including subdirectories<\/strong> is enabled by default. <strong>Preserve directory structure<\/strong> recreates the selected folder's relative subdirectories under the chosen uploads directory and is available only when subdirectory scanning is enabled.<\/p>\n\n<p>Imagick is used when available, with GD as a fallback. JPEG files can be used as input because the plugin converts them to PNG or WebP, which support transparency.<\/p>\n\n<p>The <strong>Settings<\/strong> tab contains the background tolerance, reference corner pixel, output postfix, and existing file behaviour options.<\/p>\n\n<p>The reference pixel can be selected from the top-left, top-right, bottom-left, or bottom-right corner. When <strong>Add unique identifier<\/strong> is selected, a random seven-character alphanumeric identifier is added before the extension.<\/p>\n\n<p>Settings are saved asynchronously with the <strong>Save settings<\/strong> button and stored in the WordPress database.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Copy the <code>jyp-image-transparency-converter<\/code> directory to <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin in <strong>Plugins<\/strong>.<\/li>\n<li>Open <strong>Tools &gt; JYP Image Transparency Converter<\/strong>.<\/li>\n<li>Upload an image and select PNG or WebP.<\/li>\n<\/ol>","raw_excerpt":"Removes a solid background from an uploaded image, resizes it if needed, and saves the result as PNG or WebP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/372683","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=372683"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jypdevelopment"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=372683"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=372683"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=372683"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=372683"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=372683"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=372683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}