AVIF is the codec JPEG should have been if it had been invented in 2019. Same photographic content, half the bytes, HDR and wide-gamut built in — all in the browser tab you already have open.
or drag and drop your image here
Supports JPG, JPEG, PNG, WEBP, SVG, GIF, HEIC, HEIF, BMP, TIFF, HDR, JP2, RAF, PSD, CR3, DNG, APNG, AVIF, AVI, ESP, EXR, J2C, J2K, JXL, PFM, PNM, PPM, PSB, SGI, MPEG, PDF
Drop camera JPEGs, stock photos, or web-sourced images. The converter handles baseline, progressive, and CMYK JPEGs.
Decoded pixels run through the AV1 encoder with intra-frame-only config (AV1 is a video codec; AVIF uses a single still frame). Quality defaults to 50 — visually matching WebP 80.
Files are typically 30–50% smaller than the source JPEG at equivalent quality. Extension changes to .avif; filenames preserved.
Convert images between these related converters
AVIF provides up to 50% better compression than JPEG
Next-generation web performance optimization
AV1-based compression with HDR and wide color gamut support
cutting-edge compression technology with advanced AVIF encoding
Perfect for modern web, high efficiency, cutting-edge browsers
Handles lossy compression, small file size, universal support from JPEG files
encoder runs via WebAssembly in your browser tab
convert portfolios, catalogs, and photo libraries in place
Three codec generations of compression research
Joint Photographic Experts Group JFIF format
Note, JPEG is a lossy compression. In addition, you cannot create black and white images with JPEG nor can you save transparency. Requires jpegsrc.v8c.tar.gz. You can set quality scaling for luminance and chrominance separately (e.g. -quality 90,70). You can optionally define the DCT method, for example to specify the float method, use -define jpeg:dct-method=float. By default we compute optimal Huffman coding tables. Specify -define jpeg:optimize-coding=false to use the default Huffman tables. Two other options include -define jpeg:block-smoothing and -define jpeg:fancy-upsampling. Set the sampling factor with -define jpeg:sampling-factor. You can size the image with jpeg:size, for example -define jpeg:size=128x128. To restrict the maximum file size, use jpeg:extent, for example -define jpeg:extent=400KB. To define one or more custom quantization tables, use -define jpeg:q-table=filename. These values are multiplied by -quality argument divided by 100.0. To avoid reading a particular associated image profile, use -define profile:skip=name (e.g. profile:skip=ICC).
Microsoft Audio/Visual Interleaved
Browser support, encoding time, HDR, and when AVIF is worth it.