How to Export WebP from Figma (Figma Can't — Here's the Fix)
Open Figma's export panel and count the formats: PNG, JPG, SVG, PDF. No WebP. In 2026, with every performance audit on earth telling you to serve WebP, the design tool most of the web is built in still won't export it.
There are three real workarounds. Which one fits depends on how many images you're moving and where they're going.
Why bother with WebP at all
Because it's the same image at a fraction of the weight. WebP files come out roughly 25–35% smaller than an equivalent JPG, and dramatically smaller than PNG when transparency is involved. Smaller files mean faster Largest Contentful Paint, which Google measures and ranks on.
Browser support stopped being a question years ago — every browser that matters has handled WebP since 2020, and WordPress has accepted WebP uploads natively since version 5.8. There's no catch left. The only friction is getting the file out of Figma.
Option 1: Export PNG, convert afterwards
The classic route. Export your layers as PNG at 2x (see our export settings guide for why 2x), then convert:
- Squoosh (squoosh.app) — free, in-browser, one image at a time. Fine for a handful of files.
- cwebp — Google's command-line tool, best for batches:
for f in *.png; do cwebp -q 80 "$f" -o "${f%.png}.webp"; done
It works, and the output quality is excellent. The cost is workflow: every image now makes a round trip through your downloads folder and a second tool, and you still have to upload the results to your site by hand.
Option 2: A converter plugin inside Figma
The Figma Community has a pile of small plugins that add WebP export — search "WebP" and take your pick. They convert selected layers and hand you the files as downloads.
This kills the separate-converter step, which is real progress. You're still left holding a folder of files that need renaming and uploading, but for non-WordPress destinations it's the right level of tooling.
Option 3: Convert and upload in the same click
If the destination is a WordPress site, the download step itself is the waste. Fig2WP Image Uploader converts selected layers to WebP — with a quality slider and max-dimension control — and sends them straight to your Media Library over an API key. No files touch your disk.
- Select layers on the canvas.
- Pick WebP as the output format and set quality (80 is a good default).
- Set file names and alt text in the plugin list.
- Upload. The finished WebP files appear in Media Library seconds later.
Which option should you use?
| Situation | Best route |
|---|---|
| A few images, any destination | PNG export + Squoosh |
| Big batches, developer comfort with a terminal | PNG export + cwebp loop |
| Assets going to an app or non-WP site | Community WebP plugin |
| Images going to a WordPress site | Fig2WP: convert + upload in one step |
Quality settings that hold up
WebP quality 75–85 is the working range for photos and UI images. At 80, a typical 400 KB Figma PNG lands around 60–90 KB with no visible difference. Below 70 you'll see banding in gradients and smudged fine detail. Above 90 the file size climbs steeply for changes no one can see.
For graphics with hard edges and flat color — think illustrations, not photos — WebP still wins over PNG, but check text edges at your chosen quality before batch-converting a whole design system.
FAQ
Does Figma support WebP export natively?
No. PNG, JPG, SVG, and PDF only. Every WebP route goes through a converter or a plugin.
Does WordPress accept WebP?
Yes, since WordPress 5.8 (2021). Thumbnails and all registered image sizes are generated from WebP uploads just like from JPG.
Should I use AVIF instead?
AVIF compresses even harder and WordPress has accepted it since 6.5. But encoding is slower, tooling is thinner, and the real-world gap versus WebP at sane quality settings is modest. WebP is still the pragmatic default; see our format comparison for the full picture.
WebP without the workaround
Fig2WP converts Figma layers to WebP and uploads them to your WordPress Media Library in one click — quality slider included, downloads folder untouched.