astronaut

How to convert PNG and JPEG Images to WebP using Linux

How to convert PNG and JPEG Images to WebP using Linux

September 12, 2024 3 min read
PNG JPG to WebP Linux

Optimizing images is crucial for improving website performance. WebP is a modern image format that provides superior compression for both PNG and JPEG images. Converting your images to WebP on Linux is straightforward using the cwebp tool, which is available across multiple Linux distributions. In this guide, we’ll show you how to install cwebp on Void Linux, Ubuntu, Fedora, Arch, and other popular distros, and how to convert your PNG and JPEG images to WebP quickly.


Install cwebp

To convert jpgs and pngs to WebP, we first need to install cwebp.

Ubuntu/Debian:

On Ubuntu or Debian-based distributions, you can install cwebp using apt:

sudo apt update
sudo apt install webp

Fedora:

For Fedora users, the following command will install cwebp:

sudo dnf install libwebp-tools

Arch Linux:

Arch Linux users can install cwebp from the official repositories using pacman:

sudo pacman -S libwebp

Void Linux:

To install cwebp on Void Linux, run the following command:

sudo xbps-install -S libwebp

OpenSUSE:

On OpenSUSE, install cwebp using zypper:

sudo zypper install libwebp-tools

Once installed, cwebp is ready for converting images.


Basic Command for Converting PNG and JPEG to WebP

Once cwebp is installed, converting PNG or JPEG images to WebP is simple. Here’s how to do it:

  • Converting PNG to WebP:
cwebp image.png -o image.webp
  • Converting JPEG to WebP:
cwebp image.jpg -o image.webp

These commands will convert image.png or image.jpg into the WebP format, saving the result in the same directory.


Adjusting WebP Compression Quality

By default, cwebp uses a quality factor of 75 for lossy compression. You can adjust the quality level with the -q option, where the value ranges from 0 (worst) to 100 (best):

cwebp -q 85 image.png -o image.webp

Increasing the quality factor results in larger file sizes but better image quality. Conversely, lowering the quality reduces file size but may lead to visible compression artifacts.


Resizing Images with cwebp

For very large image files, you may want to limit the output resolution to reduce file size further. Use the -resize option to define the desired width and height:

cwebp image_large.png -resize 1920 1080 -o image_resized.webp

This resizes the image to 1920x1080 pixels during conversion.


Cropping Images with cwebp

The cwebp tool includes a built-in -crop option that allows you to crop images during conversion. This is particularly useful if you want to focus on a specific section of an image while also optimizing its size.

The -crop option works as follows:

cwebp image.png -crop x_position y_position width height -o cropped_image.webp

For example, to crop an image starting at the coordinates (100, 100) with a width of 800 pixels and height of 600 pixels:

cwebp image.png -crop 100 100 800 600 -o cropped_image.webp

This command will crop the specified section of the image and save it in the WebP format.


6. Customizing Output with cwebp Options

The cwebp tool provides several options to customize your output, including:

  • Lossless compression: Use the -lossless option for lossless conversion:
cwebp -lossless image.png -o image.webp
  • Metadata preservation: Retain EXIF or XMP metadata with the -metadata option:
cwebp image.jpg -metadata all -o image_with_metadata.webp

Explore more options by running:

cwebp -help

Why would even want to use WebP?

Converting images to WebP provides significant benefits for websites, including:

  • Faster load times, improving user experience.
  • Enhanced SEO performance as page speed is a ranking factor.
  • Reduced bandwidth usage, especially important for mobile users.

Conclusion

Using cwebp on Linux makes converting PNG and JPEG images to WebP simple and efficient. By following the steps in this guide, you can reduce file sizes, enhance website performance, and improve your overall workflow. WebP offers superior compression, which translates into faster websites and happier users. Don’t hesitate to explore advanced options and experiment with different quality levels to find the perfect balance for your needs.

Share this content: