sandywp / plugins / webp-uploads
Modern Image Formats
Converts images to more modern formats such as WebP or AVIF during upload.
Ready in seconds.
v2.7.1 100,000+ installs WP 6.9+ PHP 7.4+

About this plugin
This plugin adds WebP and AVIF support for media uploads within the WordPress application. By default, AVIF images will be generated if supported on the hosting server, otherwise WebP will be used as the output format. When both formats are available, the output format can be selected under Settings > Media. Modern images will be generated only for new uploads, pre-existing images will only converted to a modern format if images are regenerated. Images can be regenerated with a plugin like Regenerate Thumbnails or via WP-CLI with the wp media regenerate command.
By default, only modern image format sub-sizes will be generated for JPEG or PNG uploads – only the original uploaded file will still exist as a JPEG/PNG image, generated image sizes will be WebP or AVIF files. To change this behavior, there is a checkbox in Settings > Media “Output fallback images” that – when checked – will result in the plugin generating both the original format as well as WebP or AVIF images for every sub-size (noting again that this will only affect newly uploaded images, i.e. after making said change).
This plugin was formerly known as WebP Uploads.
Questions
- Where can I submit my plugin feedback?
Feedback is encouraged and much appreciated, especially since this plugin may contain future WordPress core features. If you have suggestions or requests for new features, you can submit them as an issue in the WordPress Performance Team’s GitHub repository. If you need help with troubleshooting or have a question about the plugin, please create a new topic on our support forum.
- Where can I report security bugs?
The Performance team and WordPress community take security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
To report a security issue, please visit the WordPress HackerOne program.
- How can I contribute to the plugin?
Contributions are always welcome! Learn more about how to get involved in the Core Performance Team Handbook.
- I’ve activated the Modern Image Formats plugin, but WebP images are not always generated when I upload a JPEG image. Why?
There are two primary reasons that a WebP image may not be generated:
- The Modern Image Formats plugin has identified that the WebP version of the uploaded JPEG image would have a larger file size than the original JPEG image, so it does not generate the WebP version.
- The JPEG image was not uploaded to the Media Library. At this time, WebP versions are only generated for images to the Media Library. WebP versions are not generated for JPEG images that are added to your site in other ways, such as in a template file or the Customizer.
- With the Modern Image Formats plugin activated, will the plugin generate JPEG and WebP versions of every image that I upload?
By default, the Modern Image Formats plugin will only generate WebP versions of the images that you upload. If you wish to have both WebP and JPEG versions generated, you can navigate to Settings > Media and enable the Generate JPEG files in addition to WebP option.
sandywp / also on the shelf
Try another plugin
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load |…
4.7 · 200K+ installs
Automatically optimize images with bulk compression, lazy loading, WebP/AVIF conversion & CloudFront image CDN. Boost Core…
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF
4.4 · 100K+ installs
Unlimited automatic image optimization for WordPress. Compress images, convert to WebP, and improve site speed without losing…
Perfect Images: Regenerate Thumbnails, Image Sizes, WebP & AVIF
4.8 · 60K+ installs
Optimize image sizes, regenerate thumbnails, enable retina, convert to WebP/AVIF, or use cloud optimization. An essential image…
Spin up a real WordPress site in seconds.
Test plugins, build a demo, hand a client a link — then squash it and start again. No local setup, no Docker.