How to Convert JPG to WebP — Every Method Explained (Free & Fast)
If your website serves JPG images, you are leaving performance on the table. Google's WebP format delivers 25–34% smaller file sizes at the same visual quality — and every modern browser supports it. A 200 KB product photo becomes 130 KB. Multiply that across a site with hundreds of images and you have a measurable boost in page speed, Core Web Vitals scores, and bandwidth savings.
This guide covers every method to convert JPG to WebP: a free browser-based tool that never uploads your file, Google's own cwebp command-line tool, Photoshop, GIMP, and WordPress plugins. We also cover quality settings, batch conversion, HTML fallbacks, and how much you can realistically expect to save for different image types.
Convert JPG to WebP — Free, No Upload
Drop your JPG files and download WebP instantly. Everything runs in your browser — your images never leave your device.
Why Convert JPG to WebP?
WebP was created by Google in 2010 specifically to replace JPEG and PNG on the web. It uses the VP8 video codec for lossy compression and a derivative of the PNG predictor for lossless compression — producing images that are significantly smaller than equivalent JPGs.
Here is why the switch matters in practice:
- File size savings of 25–34%. Google's own benchmarks show WebP lossy images are 25–34% smaller than comparable JPEG images at the same SSIM (structural similarity) quality index. For lossless, WebP is 26% smaller than PNG.
- Largest Contentful Paint (LCP) improvements. LCP — the time until the largest image on a page finishes loading — is one of Google's Core Web Vitals signals used in search ranking. Smaller images download faster, directly improving LCP.
- Google's recommendation. Google Lighthouse and PageSpeed Insights explicitly flag JPG and PNG images with the audit "Serve images in next-gen formats" and recommend WebP as the fix. Passing this audit removes a common reason for failing the performance section of PageSpeed.
- Bandwidth savings. A site serving 500 images per day at an average of 200 KB each sends 100 MB of image data daily as JPG. Converting to WebP reduces that to roughly 65–75 MB — saving 25–35 MB per day in egress costs and faster load times for users on mobile or slow connections.
- Universal browser support. As of 2024, over 97% of global browser usage supports WebP: Chrome (since 2014), Firefox (since 2019), Edge, Opera, and Safari 14+ (September 2020). You can safely serve WebP to virtually all users today.
What Happens Technically During JPG to WebP Conversion?
Understanding the conversion process helps you make better decisions about quality settings and use cases.
JPG uses the Discrete Cosine Transform (DCT) compression algorithm. When you save a JPG, pixel data is converted into frequency coefficients, and low-frequency detail is preserved while high-frequency detail (fine texture, sharp edges) is discarded according to the quality setting. The result is a lossy file — some pixel data is permanently removed.
When you convert JPG to WebP in lossy mode, the file is decoded back to raw pixels and then re-encoded using the VP8 codec. VP8 is more efficient than DCT — it groups pixels into 4×4 or 16×16 macroblocks and uses inter-frame prediction techniques borrowed from video encoding to reduce redundancy more aggressively than JPEG's algorithm.
The practical implication: because you are decoding and re-encoding, there is a second generation of lossy compression. If your source JPG was already heavily compressed (quality 60 or lower), converting it to WebP at low quality will compound the artifacts. Always convert from the highest-quality JPG available, or better yet, from the original uncompressed source.
WebP also supports lossless mode — which performs lossless prediction and entropy coding (similar to PNG's DEFLATE but more efficient). Lossless WebP is 26% smaller than PNG on average, but it will always be larger than a lossy WebP for photographic content. Use lossless WebP for images that contain text, logos, or screenshots where every pixel must be exact.
Quality Setting Guide — What 80 vs 90 vs 100 Actually Means
Every WebP encoder accepts a quality parameter from 0 (maximum compression, lowest quality) to 100 (minimum compression, highest quality). Unlike JPG quality where the relationship between the number and file size is non-linear, WebP quality behaves similarly — higher numbers produce larger files with less compression artifacts.
Best for blog photos, backgrounds, decorative images. Typically 30–35% savings vs equivalent JPG. Artifacts are visible only under close inspection at 200%+ zoom.
Balanced sweet spot for product images, portfolio photos, editorial content. 20–28% savings. Virtually indistinguishable from the source for 99% of viewers.
For high-detail images — medical, art, print preview. 10–18% savings. Quality difference is imperceptible even to trained eyes on calibrated monitors.
Avoid for web use. File size explodes — often larger than the source JPG — while still being lossy. Use lossless mode instead if you need perfect quality.
Zero quality loss — pixel-perfect output. Best for screenshots, UI mockups, images with text, logos. File size is larger than lossy WebP but 26% smaller than PNG on average.
Our recommendation: Start with quality 82 for most websites. Run a visual comparison between your source JPG and the WebP output at 100% zoom on screen. If you see no visible difference, that quality setting is your sweet spot. If you spot ringing or banding artifacts, bump up to 85.
Method 1: Convertlo Browser Tool — No Upload, Free, Batch Conversion
- Open convertlo.pro/jpg-to-webp.html in any browser on any device.
- Drag and drop your JPG or JPEG files onto the upload area — or click Browse Files to select them from your device.
- Adjust the quality slider if desired. The default is 82, which is the recommended starting point for most web images.
- Click Convert to WebP. The conversion runs entirely inside your browser using the WebAssembly-compiled WebP encoder — your images never leave your device and are never uploaded to any server.
- Click Download WebP (or Download All for batch conversions). Files are saved with
.webpextension, retaining the original filename.
Batch conversion: Drop multiple JPG files at once. The converter processes them in parallel using your device's available CPU cores. A batch of 50 images typically completes in under 30 seconds on a modern laptop. Works on Windows, Mac, Linux, iPhone (Safari), and Android (Chrome).
Method 2: cWebP Command-Line Tool
cWebP is the official command-line encoder from Google. It gives you the most control over quality, method, and format settings — ideal for build pipelines, CI/CD workflows, and batch processing hundreds of files.
-
Install cWebP:
- Windows: Download the prebuilt binary from developers.google.com/speed/webp/download. Extract the ZIP and add the
bin/folder to your PATH. - macOS: Run
brew install webp(requires Homebrew). Orport install webpvia MacPorts. - Linux (Debian/Ubuntu): Run
sudo apt install webp. On Fedora/RHEL:sudo dnf install libwebp-tools.
- Windows: Download the prebuilt binary from developers.google.com/speed/webp/download. Extract the ZIP and add the
- Verify installation: Run
cwebp -versionin your terminal. You should see the version number printed. - Convert a single file: Run the basic conversion command (see below).
- For batch conversion: Use the shell script shown below to convert all JPGs in a folder.
cWebP Command Syntax
# Convert a single JPG to WebP at quality 82 cwebp -q 82 input.jpg -o output.webp # Lossless conversion (no quality loss) cwebp -lossless input.jpg -o output.webp # Higher quality (85) with slower but better encoding (method 6) cwebp -q 85 -m 6 input.jpg -o output.webp # Batch: convert all JPGs in current folder (Linux/macOS bash) for f in *.jpg; do cwebp -q 82 "$f" -o "${f%.jpg}.webp" done # Batch: Windows PowerShell Get-ChildItem *.jpg | ForEach-Object { cwebp -q 82 $_.FullName -o ($_.BaseName + ".webp") }
The -m flag sets the compression method from 0 (fastest, larger file) to 6 (slowest, smallest file). For production pipelines where encoding time matters, use -m 4. For maximum compression offline, use -m 6. The default is -m 4.
Method 3: Squoosh by Google
- Go to squoosh.app in your browser.
- Drag your JPG onto the Squoosh interface, or click to browse for it.
- On the right panel, open the compress dropdown and select WebP.
- Adjust the Quality slider. Squoosh shows a split-screen preview — drag the divider left and right to compare your source JPG (left) with the WebP output (right) at 100% zoom in real time.
- The estimated file size appears below the preview. Once satisfied, click the Download button (the arrow icon) to save the WebP file.
Squoosh runs entirely in your browser (WebAssembly), so no upload occurs. It does not support batch conversion — use Convertlo or cWebP for multiple files. Squoosh is excellent for finding the right quality setting by visual comparison before running a batch conversion.
Method 4: Adobe Photoshop
- Open your JPG in Photoshop.
- Go to File → Export → Export As… (not "Save for Web" — that dialog predates WebP support).
- In the Format dropdown on the right panel, select WebP.
- Adjust the Quality slider (0–100). We recommend 82 as a starting point.
- You can also check Convert to sRGB to ensure correct color rendering in browsers.
- Click Export All, choose your save location, and click Save.
Older Photoshop versions (pre-CC 2023): WebP was not natively supported before Photoshop CC 2023. Install the free WebP plugin from Adobe's plugin directory. After installation, WebP appears as an export option in Save As. Photoshop CC 2023 and later include WebP support natively — no plugin required.
Method 5: GIMP — Free Alternative
- Open your JPG in GIMP (download free at gimp.org).
- Go to File → Export As… (not "Overwrite" — that would overwrite the original JPG).
- In the filename field, change the extension to
.webp— for example,photo.webp. GIMP detects the format from the extension. - Click Export. The WebP export options dialog appears.
- Set the Quality value (default is 90; lower to 80–85 for smaller files). Optionally enable Lossless for pixel-perfect output.
- Click Export again to save the file.
GIMP supports WebP natively since version 2.10. No plugin needed. For batch conversion in GIMP, use Script-Fu or the GIMP batch processor plugin. For simpler batch work, cWebP or Convertlo are easier options.
Method 6: WordPress Plugins — Automatic Conversion
If your site runs WordPress, you do not need to manually convert images. These plugins convert JPGs to WebP automatically when you upload them and serve WebP to supported browsers.
-
ShortPixel Image Optimizer — Converts JPG, PNG, and GIF to WebP on upload. Serves WebP automatically via a
<picture>element with JPG fallback. Free plan: 100 images/month. Paid plans from $4.99/month. - Smush — Popular all-in-one image optimization plugin. WebP conversion is available in the Smush Pro plan. Also handles lazy loading and CDN delivery. Free plan available with basic features.
-
Imagify — From the makers of WP Rocket. Converts and serves WebP with
<picture>fallback. Free plan: 20 MB of images/month. The "WebP Compatibility" setting automatically handles browser detection. -
WebP Express — Free plugin that uses cWebP server-side to convert images and serves WebP via
.htaccessrules or<picture>tags. Requires server-side WebP support (most shared hosts have this).
All four plugins handle the <picture> element automatically — you do not need to touch your theme files. They also convert existing images in your media library in bulk via a one-click "bulk optimize" feature.
Batch Conversion — Converting Hundreds of JPGs at Once
If you have a large folder of images to convert — a product catalog, a photo library, a set of blog images — manual conversion is impractical. Here are the three fastest options for batch JPG to WebP conversion:
Convertlo Batch Mode
Drop up to hundreds of JPG files at once on convertlo.pro/jpg-to-webp.html. Files convert in parallel in your browser. Download as a ZIP archive. No upload, no server, no limits.
cWebP Shell Script
The bash for loop shown above handles any number of files. Pipe it into GNU Parallel for even faster multi-core processing: find . -name "*.jpg" | parallel cwebp -q 82 {} -o {.}.webp
ImageMagick
Convert using mogrify -format webp -quality 82 *.jpg. ImageMagick is available on all platforms and integrates easily with build scripts. Install via Homebrew, apt, or the Windows installer.
Node.js sharp
For developers: the sharp npm package wraps libvips and converts at native speed. Ideal for build pipelines and CMS integrations. sharp('input.jpg').webp({quality:82}).toFile('output.webp')
Lossy vs Lossless WebP — When to Use Each
| Use Case | Recommended Mode | Why |
|---|---|---|
| Blog photos, hero images | Lossy (quality 80–85) | Maximum file size savings; quality loss imperceptible |
| Product photos (e-commerce) | Lossy (quality 85–90) | Detail matters; slightly larger file is worth the fidelity |
| Screenshots, UI mockups | Lossless | Text and pixel-level detail must be crisp and exact |
| Logos, icons with flat color | Lossless or PNG | Compression artifacts on flat color are visible; use SVG if possible |
| Images with transparency | Lossy WebP with alpha | WebP supports partial alpha channel; PNG replacement with savings |
| Archival / master files | Lossless | Preserve pixel data for future re-editing or re-export |
| Thumbnails, avatars | Lossy (quality 75–80) | Small display size hides compression artifacts; max savings |
Serving WebP with HTML Fallback — the <picture> Element
Even though over 97% of browsers support WebP, you may want to provide a JPG fallback for the small percentage of users on older browsers (primarily very old Safari on older iOS devices). The HTML <picture> element handles this elegantly — the browser picks the first format it supports and ignores the rest.
<!-- Serve WebP to modern browsers, JPG to older ones --> <picture> <source srcset="photo.webp" type="image/webp"> <img src="photo.jpg" alt="Description of the image" width="800" height="600"> </picture> <!-- With responsive sizes for different viewports --> <picture> <source srcset="photo-400.webp 400w, photo-800.webp 800w, photo-1200.webp 1200w" sizes="(max-width:600px) 400px, (max-width:900px) 800px, 1200px" type="image/webp"> <img src="photo-800.jpg" srcset="photo-400.jpg 400w, photo-800.jpg 800w, photo-1200.jpg 1200w" sizes="(max-width:600px) 400px, (max-width:900px) 800px, 1200px" alt="Description of the image" width="800" height="600" loading="lazy"> </picture>
How it works: A browser that supports WebP reads the <source> element and loads photo.webp. A browser that does not support WebP (older Safari, IE) skips the <source> and falls back to the <img> tag, loading photo.jpg. The user always sees the correct image — just from different format sources.
If you use a CDN (Cloudflare, Fastly, AWS CloudFront), you can configure it to automatically serve WebP to browsers that send Accept: image/webp in their request headers, without changing any HTML. Cloudflare's Polish feature and Cloudinary's f_auto parameter both do this automatically.
How Much File Size Will You Save?
Savings vary significantly by image content. Photographs with lots of color variation save more than flat-color graphics. Here are typical real-world results converting common image types from JPG to WebP at quality 82:
| Image Type | Typical JPG Size | WebP at Q82 | Savings |
|---|---|---|---|
| Outdoor / travel photograph | 280 KB | 185 KB | 34% |
| Portrait / person | 220 KB | 150 KB | 32% |
| E-commerce product on white | 180 KB | 130 KB | 28% |
| Food photography | 350 KB | 240 KB | 31% |
| Screenshot (UI / desktop) | 90 KB | 70 KB | 22% |
| Graphic / flat illustration | 60 KB | 48 KB | 20% |
| Stock photo (high detail) | 500 KB | 340 KB | 32% |
Real savings depend on the specific image and the quality of the source JPG. An already heavily compressed JPG (saved at quality 60) will show smaller savings because much of the redundant data is already gone. A high-quality JPG (quality 90+) has the most room to benefit from WebP's more efficient algorithm.
Ready to Shrink Your Images?
Convert your JPG files to WebP right now — free, no upload, no limits. Batch mode converts hundreds of images at once.
Frequently Asked Questions
Does converting JPG to WebP lose quality?
Is WebP better than JPG for websites?
Can I convert JPG to WebP for free?
Does WebP work in all browsers?
<picture> element with a JPG fallback — the browser automatically loads the format it supports.