Skip to content

Compress WebP on Windows

Compress WebP on Windows with FFmpeg quality flags, Photos resize first, and GetCompress batch presets. Shrink web images locally without upload.

By Petr Samokhin

The deploy folder holds 120 WebP heroes exported at 3840 px wide. PageSpeed flags LCP because each file is still 900 KB despite the WebP label. WebP is efficient, but oversized sources and quality 95 exports behave like bloated PNG files with a different extension. Resize to layout width, then tune quality.

Treat existing WebP files like any other raster format: inspect pixel dimensions first, then encoder settings. Renaming a huge PNG export to .webp without re-encoding does not magically shrink bytes.

When WebP compression matters

WebP supports lossy and lossless modes. Marketing sites use lossy WebP for photos and heroes; UI assets with transparency may use lossless WebP or stay PNG when editors require it.

ScenarioTypical fix
Hero still over 500 KBReduce width to 2x CSS size; lower quality to 80 to 85
Icons with alphaTry lossless WebP or keep PNG after oxipng
Mixed CMS uploadsPair WebP with JPEG fallback in markup
Email attachmentsConvert to JPEG; many clients ignore WebP

See PNG to WebP on Windows for the conversion workflow from design exports. For the broader format picture, read how to compress images on Windows .

Quality settings for WebP

Lossy WebP quality maps differently from JPEG sliders in Paint. In FFmpeg, -quality for libwebp runs roughly 0 to 100; 80 to 85 is a common web range after proper resize.

Content typeQuality starting point
Photo hero80 to 85
Blog inline photo75 to 82
Flat illustration85 to 90 or lossless
Screenshot with text82 to 88; verify edges

Read lossy vs lossless compression before you pick lossless WebP for every asset. Lossless helps transparency and flat UI; photos usually benefit from lossy encoding at modest quality.

Resize before encoding

Photos and Paint shrink PNG or JPEG sources before conversion:

  1. Open the source in Photos or Paint.
  2. Resize to roughly 2x the CSS display width.
  3. Save a copy, then encode to WebP with FFmpeg or cwebp.

A 3840 px PNG converted to WebP without resize stays heavy. Match export width to the layout in your CMS or Figma frame before you encode.

Compress with FFmpeg

Install FFmpeg with winget:

winget install --id Gyan.FFmpeg -e

Encode a resized PNG to lossy WebP:

ffmpeg -i input.png -c:v libwebp -quality 82 output.webp

Re-encode an existing WebP by decoding to PNG, resizing in Paint, then running FFmpeg again on the smaller source.

Online WebP tools upload your heroes to a third party. For unreleased campaigns and staging assets, compress locally. See are online file compressors safe on Windows for what upload actually means.

Batch WebP folders

Batch encode with PowerShell:

mkdir webp-out
Get-ChildItem *.png | ForEach-Object {
  ffmpeg -i $_.Name -c:v libwebp -quality 82 "webp-out\$($_.BaseName).webp"
}

Install cwebp through winget if you prefer the reference encoder:

winget install webp
cwebp -q 82 -m 6 input.png -o output.webp

Write quality and max width in your deploy README so the next sprint does not reintroduce 3840 px sources.

Compare one hero in your browser network panel before and after. A 40% byte drop is common when resize precedes encoding.

Name output files with width suffixes (for example hero-1920.webp) so static site generators and WordPress imports pick up the correct variant without manual renaming during deploy night.

When a WebP already looks soft, lowering quality further will not help. Return to the PNG or JPEG master, resize again, and re-encode rather than chaining lossy passes on the same WebP file.

Using GetCompress

GetCompress handles mixed image folders on Windows without upload. Useful when build pipelines receive PNG from design and must ship WebP to production.

  • Drop a folder of sources and set max width, WebP quality, and output format in one panel.
  • Apply a saved preset (for example “web WebP 1920px”) instead of retyping FFmpeg flags each deploy.
  • Preview before export when text overlays and gradients must stay smooth.
  • Batch compress WebP on Windows alongside JPEG fallbacks for <picture> elements.
  • Convert PNG to WebP in the same pass when the site template expects modern formats.

GetCompress does not replace FFmpeg in a fully scripted CI job. It pays off when marketers and designers compress assets locally before handoff to engineering. Folder monitoring can watch an export directory and produce WebP automatically when design tools drop fresh PNG files into a shared folder.

Keep a JPEG fallback generation step in your workflow for email and older browser paths discussed in PNG to WebP on Windows .

Audit hero file sizes monthly. CMS re-uploads and plugin regenerations can reintroduce oversized WebP sources when editors bypass the local prep folder.

Buy GetCompress now for local media compression with reusable presets and no media upload.