Convert PNG to WebP Free
Convert PNG images to WebP locally in your browser or with Google's cwebp, while preserving transparency and choosing the right quality.
Direct answer: Convert a PNG to WebP for free with a browser tool that processes the file locally, or use Google’s official cwebp command-line utility. Choose lossless WebP when every pixel and transparent edge must remain exact; choose lossy WebP when a smaller file matters more and you can check the result visually.
Choose the right free method
| Method | Best for | Privacy | Batch and automation |
|---|---|---|---|
| Local browser converter | One-off files and quick downloads | The file stays on your device when the tool performs local processing | Usually limited to the tool’s browser interface |
cwebp |
Repeatable scripts, CI builds and local folders | Local processing | Excellent; script it with shell, Python or Node.js |
FreeWebP says its browser conversion is local, preserves transparency, supports adjustable quality and can process up to 20 images for a ZIP download. FreeTinyPNG says it uses the browser’s native WebP encoder, supports lossy and lossless output and does not require an upload. These are vendor claims, so check their current limits before relying on them.
Convert PNG to WebP in a browser
- Open a converter that explicitly says processing happens locally in the browser.
- Select one or more PNG files.
- Choose lossless for logos, screenshots, diagrams and graphics with fine alpha edges. Choose lossy for photographs or when reducing bytes is the priority.
- Set quality if the converter exposes a quality slider. Start near a high setting, then compare the output at its actual display size.
- Enable transparency or alpha preservation when that option is available.
- Convert and download the WebP file. Open it in your target browser or application before replacing the PNG.
For a private file, avoid a service that uploads it unless you have reviewed its handling terms. A local browser encoder can convert without sending the image to a server.
Convert PNG to WebP with Google cwebp
Google documents this basic command for the official WebP encoder:
cwebp -q 80 image.png -o image.webp
See Google’s cwebp documentation for the available encoder flags.
Install and verify cwebp
Install the WebP tools using your operating system’s package manager or Google’s published binaries, then verify that the executable is available:
cwebp -version
If your shell reports that cwebp is not found, install the WebP command-line tools and ensure their directory is on your PATH.
Lossy conversion
cwebp -q 80 input.png -o output.webp
The -q value controls lossy quality. Try several values on representative images; the best setting depends on edges, gradients, text and photographic detail.
Lossless conversion
cwebp -lossless input.png -o output.webp
Lossless WebP reconstructs the original pixels. It is useful for line art, UI screenshots, logos and images where compression artifacts are unacceptable.
Convert a folder of PNG files
On macOS or Linux, this shell loop converts every PNG in the current directory:
for file in *.png; do
cwebp -q 80 "$file" -o "${file%.png}.webp"
done
Keep the original PNG files until you have checked dimensions, transparency and visual quality of the generated set.
Transparency, quality and file size
WebP supports transparency as well as lossy and lossless compression. A transparent PNG can therefore remain transparent after conversion, provided you select an encoder mode and workflow that preserve alpha.
Lossless output keeps pixel data but may not be smaller for every source. Lossy output can be substantially smaller, but it discards image information. Inspect thin lines, text, shadows, semi-transparent edges and flat-color areas before publishing.
Google reports that WebP lossless images are 26% smaller than PNG images in its cited comparison, and that WebP lossy images are 25–34% smaller than comparable JPEG images at equivalent SSIM quality. The referenced Google pages do not display a publication year for those figures, and results vary by image.
A practical comparison checklist
- Compare the WebP and PNG at the size users will see.
- Check transparent corners, shadows and anti-aliased edges against a light and dark background.
- Check small text and one-pixel lines for ringing or blur.
- Measure actual byte size; a complex PNG may not shrink as expected with lossless WebP.
- Keep a PNG master when you need an editable source or compatibility with older software.
Browser and application compatibility
Google lists native WebP support in Chrome, Safari, Firefox, Edge and Opera. Its FAQ lists Safari 14 and later for lossy, lossless and alpha support. Confirm the browsers, design tools, CMS and image pipelines used by your audience before removing PNG fallbacks.
If an older application cannot open WebP, retain the PNG or generate a compatible fallback. For websites, verify that your build system, image optimizer and CDN preserve the image/webp content type.
Convert screenshots to WebP with ScreenshotNeo
If the PNG is a website screenshot you still need to capture, ScreenshotNeo can return a WebP directly from one GET request. It can capture a full page, a CSS-selected element, a chosen viewport or a device preset, then apply options such as dark mode, custom CSS, JavaScript, waits, hidden selectors and lazy-image loading. The API also supports image resizing and caching with a TTL you choose.
After capture, the response identifies the page result with X-Page-Verdict and whether it was billed with X-Billed. Clean shots are billed; bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing.
Or skip the browser setup
Use the API documented at ScreenshotNeo docs and request WebP output:
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({
access_key: 'YOUR_API_KEY',
url: 'https://stripe.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = Buffer.from(await res.arrayBuffer());
require('fs').writeFileSync('shot.webp', data);
Cookie banners, newsletter popups and chat widgets are removed before the shot. Bot checks, blank pages and failed loads are never billed. An MCP server lets AI agents use take_screenshot, get_page_info and capture_pdf. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Performance, reliability and cost notes
- Browser conversion: Fast for a few files and avoids upload time when processing is local. Large images still use browser memory.
- cwebp: Repeatable and suitable for build pipelines. Use a fixed command and quality policy so outputs are consistent between runs.
- Quality: Lossless is safer for graphics; lossy usually saves more bytes. Measure your own images rather than assuming a fixed percentage.
- Reliability: Preserve source PNGs and validate output files before deleting or replacing originals.
- ScreenshotNeo: Use caching when the same URL is captured repeatedly. Cache hits are not billed, and failed or unusable page results are not billed.
Troubleshooting
The output has a white or opaque background
Use an encoder mode that preserves alpha and confirm the source actually contains transparency. Test the WebP against both light and dark backgrounds; some viewers display transparency as white.
The WebP is larger than the PNG
Try lossless and lossy modes separately, then compare bytes. PNG can already be efficient for flat-color graphics, so WebP is not guaranteed to be smaller for every image.
Edges or text look blurry
Raise the lossy quality value or switch to -lossless. Screenshots, logos and line art often need lossless output or a higher quality setting.
cwebp cannot open the PNG
Check the path, filename case and file permissions. Confirm the file is a valid PNG and that the installed WebP tools include cwebp.
The WebP will not open in a target app
That app may lack WebP support. Keep a PNG fallback or convert for that specific destination after checking its supported formats.
The screenshot request returns an unusable page
Inspect X-Page-Verdict and X-Billed. Add a selector wait, delay or network-idle wait for pages that render asynchronously, or block problematic requests and resources using the API options.
FAQ
Can I convert PNG to WebP without uploading the image?
Yes. Use a local browser converter or run cwebp on your computer. Both approaches can keep the source file local.
Does WebP keep transparency?
Yes. WebP supports alpha transparency. Verify the converter’s alpha setting and inspect the result in a viewer that displays transparency correctly.
Should I use lossless or lossy WebP?
Use lossless for exact graphics and lossy when a smaller file is more important and the visual result passes inspection.
Is WebP supported in Safari?
Google’s FAQ lists Safari 14 and later for lossy, lossless and alpha WebP support. Check your actual audience and software requirements.
Can I automate conversion in a deployment?
Yes. cwebp is suitable for shell loops and build scripts. Keep the command, quality value and source files under version control so results are reproducible.


