Коротко
Для фотографий JPEG по-прежнему годится, а AVIF намного компактнее. WebP находится посередине, и его выигрыш перед хорошо закодированным JPEG меньше, чем обычно заявляют в рекламе. Для скриншотов, логотипов, схем и всего, где есть заливка однородным цветом или прозрачность, подходит PNG или WebP без потерь, но никогда не JPEG. Ниже цифры, на которых это основано, полученные реальным кодированием, а не из графика производителя.
Что должно значить «меньше»
Сравнивать форматы при одинаковой настройке «качество 80» бессмысленно: у каждого кодировщика своя шкала качества. Честное сравнение одно: тот же визуальный результат, какой размер? Для этой статьи каждый формат кодировали с возрастающим качеством, пока он не достигал одинаковой структурной схожести (SSIM 0,98 относительно оригинала, по яркости), и записывали размер в этой точке. Две тестовые фотографии: чашка эспрессо на столе (1200 × 800) и портрет (1024 × 1024), обе из общественного достояния. Кодировщики: libjpeg-turbo, libwebp (method 6) и libavif (speed 4) через Pillow 12. Инструменты самого сайта используют MozJPEG, который обычно срезает с результата JPEG ещё 5–10 %.
| Формат | Фото 1 (1200×800) | Фото 2 (1024×1024) | Достигнутая настройка |
|---|---|---|---|
| JPEG | 95 КБ | 86 КБ | q68 / q66 |
| WebP | 104 КБ | 76 КБ | q86 / q84 |
| AVIF | 59 КБ | 47 КБ | q60 / q58 |
| PNG (без потерь) | 1 223 КБ | 1 034 КБ | без настройки |
| WebP без потерь | 860 КБ | 701 КБ | без настройки |
Выделяются две вещи. AVIF при том же SSIM на 38–46 % меньше JPEG, и эта часть истории правдива. WebP на этих фото примерно равен JPEG: на одном на 9 % больше, на другом на 12 % меньше. Часто цитируемые «на 25–34 % меньше JPEG» взяты из исследования Google 2010 года, где сравнение шло с неоптимизированным кодировщиком JPEG при фиксированных настройках качества. С современным кодировщиком при равном качестве разрыв почти исчезает. Одна оговорка в пользу WebP: на низких битрейтах он немного лучше JPEG передаёт мелкие детали и резкие края, а SSIM это недооценивает. Одна против: WebP ограничен цветовой субдискретизацией 4:2:0, поэтому насыщенный красный текст на фото слегка расплывается там, где JPEG с 4:4:4 остался бы чётким.
Оговорка о самом тесте: оба исходника уже были в JPEG, так что каждый кодировщик сжимал вместе с картинкой и артефакты прежнего сжатия. При исходнике в RAW или PNG все три формата с потерями вышли бы чуть меньше, а порядок не изменился бы.
PNG предназначен для картинок другого рода
В таблице PNG в двенадцать раз больше JPEG. Дело не в том, что PNG плохой: от него требуют не той работы. PNG сохраняет изображение без потерь, каждый пиксель восстанавливается точно, а в каждом пикселе фотографии есть шум, который не сжимается. На третьем тестовом изображении, вырезанной иллюстрации с однородными заливками и прозрачным фоном (900 × 600), картина обратная:
| Формат | Размер |
|---|---|
| PNG | 66 КБ |
| WebP без потерь | 55 КБ |
| AVIF q80 | 54 КБ |
| JPEG q90 | 76 КБ, и прозрачность пропала |
Однородные заливки, текст, скриншоты, графики, логотипы: PNG или WebP без потерь. В JPEG-скриншоте вокруг каждой буквы видны ореолы, и обычно он больше PNG. Фото, сохранённое в PNG, оборачивается лишними мегабайтами, которые заметны по скорости загрузки страниц и по возвращённым письмам.
Поддержка в браузерах и программах
- JPEG: везде, с 1992 года. Надёжный выбор для всего, что уходит из-под вашего контроля: фотопечать, государственные формы, старые телефоны на Android, документы Word.
- PNG: везде примерно с 2005 года.
- WebP: все актуальные браузеры (Safari с версии 14, 2020). «Фотографии» в Windows его открывают; старые версии Office, большинство фотокиосков и многие формы загрузки до сих пор нет.
- AVIF: Chrome 85+, Firefox 93+, Safari 16.4+ (2023), Edge 121+. За пределами браузера поддержка слабая: Windows нужно расширение из Store, macOS Ventura и новее открывает его сама, большинство остальных программ нет. На 2026 год это формат для показа изображений в вебе, а не для передачи их людям.
- HEIC: на практике только устройства Apple, подробнее в статье Что такое HEIC.
Что выбрать
- Отправляете фото человеку или в форму: JPEG, качество 80–85. Всё, что выше 90, удваивает размер ради разницы, которую никто не увидит.
- Фото на собственном сайте: AVIF с запасным JPEG (
<picture>) или WebP, если ваш конвейер обработки изображений пока не умеет AVIF. - Скриншот, логотип, схема, всё с прозрачностью: PNG; WebP без потерь, если файл будет открывать браузер.
- Архив собственных фото: храните оригинал в каком бы формате он ни был и не «конвертируйте ради экономии места», потому что каждое перекодирование с потерями что-то отнимает.
Конвертер изображений переводит файлы между всеми четырьмя форматами в браузере, а Сжать изображение показывает «до» и «после» рядом вместе с итоговым размером. Так можно остановиться на качестве, которое действительно выглядит так же, а не на том, что стоит на ползунке по умолчанию.