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.

Quality 75–80

Best for blog photos, backgrounds, decorative images. Typically 30–35% savings vs equivalent JPG. Artifacts are visible only under close inspection at 200%+ zoom.

Quality 82–87

Balanced sweet spot for product images, portfolio photos, editorial content. 20–28% savings. Virtually indistinguishable from the source for 99% of viewers.

Quality 88–92

For high-detail images — medical, art, print preview. 10–18% savings. Quality difference is imperceptible even to trained eyes on calibrated monitors.

Quality 100 Lossy

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.

Lossless WebP

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

1
Convertlo — Browser-Based, No Upload, Batch Ready
Recommended
  1. Open convertlo.pro/jpg-to-webp.html in any browser on any device.
  2. Drag and drop your JPG or JPEG files onto the upload area — or click Browse Files to select them from your device.
  3. Adjust the quality slider if desired. The default is 82, which is the recommended starting point for most web images.
  4. 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.
  5. Click Download WebP (or Download All for batch conversions). Files are saved with .webp extension, 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

2
cWebP — Google's Official CLI Encoder
Command Line

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.

  1. 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). Or port install webp via MacPorts.
    • Linux (Debian/Ubuntu): Run sudo apt install webp. On Fedora/RHEL: sudo dnf install libwebp-tools.
  2. Verify installation: Run cwebp -version in your terminal. You should see the version number printed.
  3. Convert a single file: Run the basic conversion command (see below).
  4. 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

3
Squoosh — Free Web Tool with Visual Comparison
Free Web App
  1. Go to squoosh.app in your browser.
  2. Drag your JPG onto the Squoosh interface, or click to browse for it.
  3. On the right panel, open the compress dropdown and select WebP.
  4. 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.
  5. 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

4
Photoshop — Export As WebP
  1. Open your JPG in Photoshop.
  2. Go to File → Export → Export As… (not "Save for Web" — that dialog predates WebP support).
  3. In the Format dropdown on the right panel, select WebP.
  4. Adjust the Quality slider (0–100). We recommend 82 as a starting point.
  5. You can also check Convert to sRGB to ensure correct color rendering in browsers.
  6. 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

5
GIMP — Free, Open Source Image Editor
Free & Open Source
  1. Open your JPG in GIMP (download free at gimp.org).
  2. Go to File → Export As… (not "Overwrite" — that would overwrite the original JPG).
  3. In the filename field, change the extension to .webp — for example, photo.webp. GIMP detects the format from the extension.
  4. Click Export. The WebP export options dialog appears.
  5. Set the Quality value (default is 90; lower to 80–85 for smaller files). Optionally enable Lossless for pixel-perfect output.
  6. 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

6
WordPress — Automatic WebP via Plugin

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.

  1. 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.
  2. 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.
  3. 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.
  4. WebP Express — Free plugin that uses cWebP server-side to convert images and serves WebP via .htaccess rules 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 CaseRecommended ModeWhy
Blog photos, hero imagesLossy (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 mockupsLosslessText and pixel-level detail must be crisp and exact
Logos, icons with flat colorLossless or PNGCompression artifacts on flat color are visible; use SVG if possible
Images with transparencyLossy WebP with alphaWebP supports partial alpha channel; PNG replacement with savings
Archival / master filesLosslessPreserve pixel data for future re-editing or re-export
Thumbnails, avatarsLossy (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 TypeTypical JPG SizeWebP at Q82Savings
Outdoor / travel photograph280 KB185 KB34%
Portrait / person220 KB150 KB32%
E-commerce product on white180 KB130 KB28%
Food photography350 KB240 KB31%
Screenshot (UI / desktop)90 KB70 KB22%
Graphic / flat illustration60 KB48 KB20%
Stock photo (high detail)500 KB340 KB32%

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?
Only if you choose lossy WebP at a low quality setting. At quality 80–90, lossy WebP is visually indistinguishable from the source JPG for most photos — and the file is 25–34% smaller. The conversion does involve a second round of lossy compression (decode JPG to pixels, re-encode as WebP), so always start from the highest-quality JPG you have. If you need pixel-perfect fidelity, choose lossless WebP mode — zero quality loss, and the output is typically 26% smaller than a lossless PNG.
Is WebP better than JPG for websites?
Yes, for virtually all web use cases. WebP achieves 25–34% smaller file sizes than JPG at equivalent visual quality. Smaller images mean faster page loads, better Largest Contentful Paint (LCP) scores, and less bandwidth — especially on mobile connections. All modern browsers (Chrome, Edge, Firefox, Safari 14+) support WebP. The only reason to keep JPG today is for maximum compatibility with very old browsers or for images that will be printed (where JPG's wider software support is still relevant).
Can I convert JPG to WebP for free?
Yes. Convertlo's JPG to WebP converter is completely free — no signup, no file size limit, no watermarks. The entire conversion runs in your browser using WebAssembly, so your images never leave your device and are never uploaded to any server. Google's cWebP tool is also free and open source. GIMP is free and open source. Squoosh (by Google) is a free web app.
Does WebP work in all browsers?
All modern browsers support WebP: Chrome (since 2014), Firefox (since 2019), Edge, Opera, and Safari 14+ (September 2020). According to caniuse.com, over 97% of global users are on browsers that support WebP. The small remaining percentage are users on very old Safari (iOS 13 and earlier) or Internet Explorer. For those users, use the HTML <picture> element with a JPG fallback — the browser automatically loads the format it supports.
What is the best quality setting for JPG to WebP conversion?
For most website photos, quality 82 is the recommended starting point. It provides excellent visual quality with 28–34% file size reduction compared to a JPG saved at quality 90. For product images where fine detail matters (e-commerce, portfolios), try quality 85–88. For screenshots or images with text, use lossless mode instead. Avoid quality 100 lossy — the file size increases dramatically with little visible benefit over quality 90, and it is still technically lossy (use lossless mode for true pixel-perfect output).