https://portcheckertool.com/image-converter
this fully php based image converter using not extranal library need
this code
<?php
/**
* Image Converter (All Types)
* Supported formats: jpg, jpeg, png, gif, webp, bmp
* Usage: image_converter.php?file=uploads/picture.png&to=jpg
*/
function convertImage($sourcePath, $targetPath, $format)
{
// Detect file type
$info = getimagesize($sourcePath);
if (!$info) {
die("Invalid image file.");
}
$mime = $info['mime'];
switch ($mime) {
case 'image/jpeg':
$image = imagecreatefromjpeg($sourcePath);
break;
case 'image/png':
$image = imagecreatefrompng($sourcePath);
break;
case 'image/gif':
$image = imagecreatefromgif($sourcePath);
break;
case 'image/webp':
$image = imagecreatefromwebp($sourcePath);
break;
case 'image/bmp':
case 'image/x-ms-bmp':
$image = imagecreatefrombmp($sourcePath);
break;
default:
die("Unsupported source format: $mime");
}
// Save in target format
switch (strtolower($format)) {
case 'jpg':
case 'jpeg':
imagejpeg($image, $targetPath, 90);
break;
case 'png':
imagepng($image, $targetPath, 9);
break;
case 'gif':
imagegif($image, $targetPath);
break;
case 'webp':
imagewebp($image, $targetPath, 90);
break;
case 'bmp':
imagebmp($image, $targetPath);
break;
default:
imagedestroy($image);
die("Unsupported target format: $format");
}
imagedestroy($image);
return $targetPath;
}
// Example usage via GET
if (isset($_GET['file']) && isset($_GET['to'])) {
$source = $_GET['file'];
$format = $_GET['to'];
$target = pathinfo($source, PATHINFO_FILENAME) . "." . strtolower($format);
$converted = convertImage($source, $target, $format);
echo "✅ Image converted successfully!<br>";
echo "👉 <a href='$converted' target='_blank'>Download $converted</a>";
}
?>
Requirements:
PHP GD extension enabled (php-gd).
Proper file permissions for saving converted images.