Convert PNG images to JPG, free up web space and speed up your webpage

  • set quality of converted JPG
  • auto convert on upload
  • auto convert on upload only when PNG has no transparency
  • convert existing PNG image to JPG
  • bulk convert existing PNG images to JPG


  1. Upload png-to-jpg directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress


Installation Instructions
  1. Upload png-to-jpg directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress



i love this plugin so much. really make us easier tomanage the image content directly via editor

100% great + my edit

Plugin does not write the original PNG in the database – To fix this, you need

edit the code in:


find and add the code in function

function wp_generate_attachment_metadata( $attachment_id, $file )

            if ( ! is_wp_error( $editor ) )
				$metadata['sizes'] = $editor->multi_resize( $sizes );
		} else {
			$metadata['sizes'] = array();

/* START - kolshix for "PNG to JPG" ---- 
// add original PNG in databese image "_wp_attachment_metadata"
// call original image PNG <?php echo wp_get_attachment_image_url( $id, 'full' ) ?> 
// call image size like original PNG <?php echo wp_get_attachment_image_url( $id, 'as_original' ) ?> 
// у плагина должна стоять настройка автоматической подмены файлов PNG на JPG 
// также  должна стоять настройка сохранения оригинала PNG
// возьмем (адррес + файл) и зменим расширение на PNG 
// если формат GIF TIF BMP - то они не пройдут проверку расширения - и база данных будет не тронута 
// если файл JPG то он войдет в правило замены но не пройдет правило наличия файла PNG - которого нет, а значит база будет не тронута 
// Когда грузите PNG - все будет отлично и он прайдет все правила

$file_png = preg_replace("/\.jpg$/", ".png", $file);
$results_path_parts = pathinfo($file);
$results_extension = $results_path_parts['extension'];
$results_extension = mb_strtolower($results_extension);

if (file_exists( $file_png ) && $results_extension == 'jpg') {
     //## wp_postmeta => _wp_attachment_metadata 
     // запись name.jpg как большой копии name.png - добавляем большую копию в качестве миниатюры
     $image_ex_jpg = basename($metadata['file']);  
     $metadata[sizes][as_original] = Array(
		"file" => $image_ex_jpg,
		"width" => $metadata['width'],   // ширину вытяну из metadata
		"height" => $metadata['height'],  // высоту вытяну из metadata
		"mime-type" => "image/jpeg"
	 // в _wp_attachment_metadata => главная картинка в формате PNG
     $metadata[file] = preg_replace("/\.jpg$/", ".png", $metadata[file]);
	 //## wp_posts
	 $image_ex_png = preg_replace("/\.jpg$/", ".png", $image_ex_jpg);

     $upload_dir = wp_upload_dir();
     global $wpdb;
     wp_update_post(array( 'ID' => $attachment_id, 'post_mime_type' => 'image/png' ));
			array( 'guid' => $upload_dir["url"] . '/' . $image_ex_png ),
			array( 'ID' => $attachment_id ), 
			array( '%s' ), 
			array( '%d' ) 
	 //## wp_postmeta => _wp_attached_file
	 // wp_postmeta => _wp_attached_file => указать что главное вложение в формате PNG
	 $meta = get_post_meta( $attachment_id, '_wp_attached_file', 1 );
	 $meta = preg_replace("/\.jpg$/", ".png", $meta);
	 update_post_meta( $attachment_id, '_wp_attached_file', $meta );


/* END - kolshix for "PNG to JPG" ---- */ 

		// Fetch additional metadata from EXIF/IPTC.
		$image_meta = wp_read_image_metadata( $file );
		if ( $image_meta )

Большое спасибо , плагин помог избавится от грамостских страниц с форматом ПНГ и позволил сохранить оригиналы для меня и моих пользователей! А главное Это БЕСПЛАТНО !

ВАЖНО! при генерации миниатюр – плагины генерируют новые PNG файлы а миниатюры в jpg не удаляют

этот код дополняет плагин
что делает код :
1 проверяет подходящий формат именно PNG
2 редактирует базу данных
2.1 выставляет в wp_postmeta -> _wp_attached_file файл PNG как оригинал
2.2 выставляет в wp_postmeta -> _wp_attachment_metadatа файл PNG на первое место а форматы JPG ставит как миниатюры
2.3 добавляет в wp_postmeta -> _wp_attachment_metadatа миниатюру в размер оригинала и вызывается по размеру “as_original”
3 в wp_posts выставляет вместо формата JPG формат PNG

плагин создает Копию оригинала PNG в формате JPG + миниатюры, а мой код застовляет поинимать вордпрес что главная картинка в PNG – а остальные миниатюры в JPG

Thank you!

Great plugin! And do his job without pushing to buy extra features, not like other what is on the TOP…

But ppl so … if they see 2000 installs against 300 think this one is bad =)

Read all 8 reviews

Contributors & Developers

“PNG to JPG” is open source software. The following people have contributed to this plugin.


Translate “PNG to JPG” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Repair revslider database table detection


  • Added option to leave original PNG image on server after conversion
  • Repair SQL replacement query


  • Replace image and thumbnails extension in database tables
  • Moved from Settings to Tools submenu
  • Some small fixes


  • Fix generating background for transparent images (thanks @darkcobalt)


  • Fix PNG transparency detection


  • First version