Convert
... Loading the encoder.Images to WebP or AVIF, and video to WebM converter. Everything runs in your browser, on your device. Nothing is uploaded, and it keeps working offline after the first load.
Drag the slider to compare. Left is the original, right is the WebP.
Drop images or click to browse
JPG · PNG · HEIC · WebP · AVIF · BMP · GIF · pick several for bulk
+ drop or click to add more, converts as a batch
Compressing
WebP vs AVIF, and which mode?
- WebP is fast and supported everywhere. Good default.
- AVIF is often 10 to 30 percent smaller than WebP for photos, but slow to encode here (single-threaded). Uses the Quality slider only. Not smaller for every image, especially graphics.
- Auto (WebP) encodes lossy and lossless, keeps whichever is smaller. Safe pick.
- Lossy (WebP) is for photos. 25 to 60 percent smaller than JPEG at quality 60 to 80.
- Lossless (WebP) is for screenshots, logos, text and flat graphics. Beats PNG, pixel-perfect.
- Animated GIF or WebP inputs are fine, but only the first frame is kept. This tool makes still images, not animated ones.
- HEIC / HEIF (iPhone photos) is decoded in the browser with libheif. The first HEIC of a session fetches about 1.5 MB, then it is cached.
- Already-compressed JPEGs or tiny images can come out larger in any format. Lower the quality or keep the original.
Drop a video or click to browse
MP4 · MOV · AVI · MKV · GIF
Working 0% · 0:00
What do Small / Balanced / High mean?
- Each sets a CRF (constant rate factor) quality target plus a matching audio bitrate. The encoder holds that quality and the file size lands wherever it lands. Lower CRF means better quality and a bigger file. VP9 and VP8 use different CRF scales, so the two numbers below are VP9 then VP8.
- Small size (CRF 38 / 18, audio 64 to 96k) is the most compression, with visible softness on detailed footage. Good for background loops and screencasts.
- Balanced (CRF 32 / 14, audio 128k) is solid quality at a reasonable size. The default for most web video.
- High (CRF 27 / 9, audio 192k) is near-original quality, much larger. For fast motion or hero video where size is not a concern.
- In the browser the encoder runs at its fastest setting no matter the preset (the wasm build cannot afford the slow paths); only the CRF, a per-preset bitrate ceiling (1 / 2 / 6 Mbps) and audio bitrate change. The server encoder honours the full preset and targets pure CRF.
- Subtitle and timecode tracks in the source are always dropped.
FAQ
WebP and AVIF, how do they compare and when to use them?
- WebP is Google's all-purpose image format. It does lossy (like JPEG), lossless (like PNG), transparency and animation in one format. Every current browser supports it.
- AVIF is an image built on the AV1 video codec. Wider colour (10-bit and HDR), transparency and animation. Often smaller than WebP for photos, but sometimes larger, especially for flat graphics, so compare the two. Chrome, Edge, Firefox and Safari 16+ support it. It is slow to encode here because it runs single-threaded.
- Against JPEG, WebP is roughly 25 to 35 percent smaller at the same quality and can hold an alpha channel. AVIF is often about 50 percent smaller. Neither degrades as harshly at low quality.
- Against PNG, for flat graphics, screenshots, logos and text, WebP lossless is about 20 to 30 percent smaller and pixel-perfect. For photos saved as PNG, lossy WebP or AVIF is dramatically smaller.
- Against GIF, an animated WebP or AVIF is far smaller and full-colour (GIF is capped at 256 colours). For motion, a muted WebM video is usually the better choice (see below).
- Which to pick. Photos where you want the smallest file, use AVIF. Anything, fast and safe, use WebP Auto. Screenshots, logos or text, use WebP Lossless. Must run on very old browsers, keep the original JPEG or PNG.
- The Quality slider only affects lossy encoding (75 to 82 is a good range for photos). An already-small JPEG or a tiny image can come out larger. The tool says so and you keep the original.
WebM, how does it compare to MP4, GIF or MOV and when to use it?
- WebM is an open, royalty-free video container holding VP8 or VP9 video with Vorbis or Opus audio. It is a delivery format, small files meant for the web, not for editing.
- Against MP4 and H.264, WebM is smaller at the same
quality, modestly so from the in-browser encoder here. MP4 has
broader hardware and iOS or Safari support, so it is the safer
single choice. The common pattern is WebM with an MP4 fallback in
the same
<video>. - Against GIF, a muted WebM loop is typically 5 to 20 times smaller than the same GIF, full-colour and smooth. Use WebM (plus an MP4 fallback) for any GIF-style autoplay loop.
- Against MOV and AVI, those are capture or editing containers. Large, not web-ready. WebM is what you ship.
- Input formats. MP4, MOV, M4V, MKV, AVI, WebM and
GIF are all accepted. iPhone "High Efficiency" clips (HEVC / H.265
in a
.mov) decode and convert fine here; only the live "before" preview may stay blank, since Chrome and Firefox on Windows can't play HEVC. The conversion itself is unaffected. - Codec. In the browser this outputs VP8.
It attempts VP9 first where the wasm encoder can handle it, but that
build traps on most setups and it quietly falls back to VP8, so
plan around VP8.
?codec=vp8skips the attempt; Convert on server does real VP9 (smaller, better) when you have a connection. - Small, Balanced, High set a CRF quality target (VP9 38 / 32 / 27, VP8 18 / 14 / 9) and a matching audio bitrate (64 to 96k, 128k, 192k). Lower CRF means better quality and a larger file. In-browser encodes also cap the bitrate per preset (1 / 2 / 6 Mbps), so Balanced stays smaller than the source; the server encoder targets pure CRF.
- Subtitles and timecode are dropped. If the source has an embedded caption track it will not carry into the WebM.
- Use it for background video, muted autoplay loops and hero clips. Anywhere you want a small web video and can add an MP4 fallback. For background or autoplay, keep Mute audio on, since browsers block autoplay with sound and it shrinks the file.