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.

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

Format
Mode
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.

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=vp8 skips 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.