Формат JPEG появился в 1992 году и стал де-факто стандартом хранения фотографий в интернете. Спустя более 30 лет появляются всё более эффективные и продвинутые альтернативы: WebP, AVIF, JPEG XL и другие. Однако даже в 2025 году JPEG продолжает доминировать. Почему так происходит, несмотря на очевидные преимущества новых форматов? В этой статье мы проведем обзор форматов и разберёмся в причинах.


Обзор современных форматов изображений
JPEG
-
Кто и когда создал: Joint Photographic Experts Group, 1992
-
Качество: Среднее, потери при каждом сохранении
-
Сжатие: Базовое
-
Прозрачность: ❌
-
Анимация: ❌
-
Лицензия: Свободная
-
Поддержка: Абсолютно везде
-
Доп. возможности: только одно изображение, только 8-бит, без прозрачности, без метаданных кроме EXIF
WebP
-
Кто и когда создал: Google, 2010
-
Качество: Хорошее (lossy и lossless)
-
Сжатие: ~25–35% лучше JPEG
-
Прозрачность: ✅
-
Анимация: ✅
-
Лицензия: Свободная
-
Поддержка: Широкая (Chrome, Firefox, Safari с 2020, Android)
-
Доп. возможности: альфа-канал, анимация (многокадровость), EXIF, ICC, XMP, lossless режим
AVIF
-
Кто и когда создал: Alliance for Open Media (Google, Mozilla, Netflix и др.), 2019
-
Качество: Отличное (лучшая эффективность на сегодня)
-
Сжатие: ~50% лучше JPEG и WebP
-
Прозрачность: ✅
-
Анимация: ✅
-
Лицензия: Свободная
-
Поддержка: Расширяется (Chrome, Firefox, Android, частично Safari)
-
Доп. возможности: HDR, альфа, 8/10/12-бит, анимация, слои, ICC, EXIF, XMP, глубина цвета до 12 бит
JPEG XL
-
Кто и когда создал: Google и Cloudinary, 2020
-
Качество: Отличное, особенно при повторном сохранении
-
Сжатие: ~50–60% лучше JPEG
-
Прозрачность: ✅
-
Анимация: ✅
-
Лицензия: Свободная (BSD)
-
Поддержка: Частичная (Firefox nightly, Safari Tech Preview, Chrome экспериментально, отозвано)
-
Доп. возможности: обратимая конвертация из JPEG, слои, ресайз без потерь, перемасштабируемость, HDR, ICC, EXIF, XMP, глубина до 32 бит float
HEIC / HEIF
-
Кто и когда создал: MPEG Group, 2013 (широко продвигается Apple)
-
Качество: Отличное (основано на HEVC)
-
Сжатие: ~50% лучше JPEG
-
Прозрачность: ✅ (в HEIF, не всегда в HEIC)
-
Анимация: ✅
-
Лицензия: Проприетарная (HEVC требует лицензий)
-
Поддержка: iOS, macOS, частично Windows, плохо на Android
-
Доп. возможности: HDR, многокадровость (Live Photos), 10/12-бит, прозрачность, EXIF/ICC/XMP
FLIF
-
Кто и когда создал: Jon Sneyers и др., 2015
-
Качество: Без потерь, лучше PNG
-
Сжатие: ~50% лучше PNG, лучше JPEG (в без потерь)
-
Прозрачность: ✅
-
Анимация: ❌
-
Лицензия: Свободная
-
Поддержка: Практически отсутствует, проект не развивается
-
Доп. возможности: универсальность (один режим), адаптация к содержимому, поддержка альфа-канала
BPG
-
Кто и когда создал: Fabrice Bellard, 2014
-
Качество: Очень высокое
-
Сжатие: ~50% лучше JPEG
-
Прозрачность: ✅
-
Анимация: ✅
-
Лицензия: Патентованная (HEVC требует роялти)
-
Поддержка: Отсутствует в браузерах, используется только энтузиастами
-
Доп. возможности: альфа, глубина цвета, HDR, XMP/EXIF, анимация
Сравнительная таблица форматов
|
Формат |
Качество |
Сжатие |
Лицензия |
Поддержка |
|---|---|---|---|---|
|
JPEG |
Среднее |
Базовое |
Свободная |
Везде |
|
WebP |
Хорошее |
~25–35% |
Свободная (Google) |
Широкая |
|
AVIF |
Отличное |
~50% |
Свободная (AOM) |
Расширяется |
|
JPEG XL |
Отличное |
~50–60% |
Свободная (BSD) |
Частичная |
|
HEIC/HEIF |
Отличное |
~50% |
Проприетарная (Apple) |
Ограниченная (Apple) |
|
FLIF |
Отличное (без потерь) |
~50% (PNG) |
Свободная |
Почти нет |
|
BPG |
Отличное |
~50% |
Патентованная (HEVC) |
Почти нет |
Возможность адаптивной отдачи форматов
Да, современная веб-разработка поддерживает адаптивную подстановку изображений в разных форматах для разных браузеров. Это достигается с помощью HTML-тега <picture> или механизма content negotiation на уровне сервера. Пример использования:
<picture> <source srcset="image.avif" type="image/avif"> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="Пример изображения"> </picture>
Современные браузеры будут использовать AVIF или WebP, если поддерживают, иначе загрузят fallback — JPEG. На стороне сервера возможно:
-
использование CDN (например, Cloudflare, Akamai, Yandex Cloud), которые автоматически перекодируют изображения в нужный формат;
-
или реализация логики content negotiation через заголовок Accept, чтобы на лету выбирать лучший формат:
Accept: image/avif,image/webp,image/*,*/*;q=0.8
Эти подходы позволяют эффективно использовать новые форматы без потери совместимости со старыми браузерами.
Почему свободные форматы не победили?
1. Консерватизм индустрии
JPEG работает везде, от старых Android-планшетов до почтовых клиентов.
2. Несовпадение интересов игроков
-
Google развивает WebP/АVIF
-
Apple продвигает HEIC
-
Mozilla выступает за JPEG XL
В результате — так и нет единого стандарта.
3. Сложность и стоимость перехода
Нужно встраивать новые кодеки, переделывать backend/кеши/обработку превью, что невыгодно.
4. Низкая поддержка от Telegram, WhatsApp, Instagram, email-сервисов
Даже если вы отправите AVIF-картинку, она часто переконвертируется обратно в JPEG.
Заключение
JPEG прожил долгую жизнь благодаря стабильности, универсальности и поддержке на всех уровнях. Технически он отстаёт от AVIF, WebP, JPEG XL и др., но, к сожалению, смена стандарта требует сложных изменений во всей цепочке: от браузеров и смартфонов до CDN, CMS и мессенджеров.
Если же у вас есть влияние на стек технологий или вы работаете с изображениями, стоит обратить внимание на AVIF, WebP и JPEG XL — за ими будущее.
PS: Почему habr.com до сих пор не поддерживает новые форматы изображений, включая WebP? Они там сговорились что ли вместе с Павлом Дуровым, который упорно не хочет слезать с JPEG? )
PS: Комментарий от Павла Шляк, одного из разработчиков браузера LadyBird
Фактически всё кроме WebP — кошмар в плане проблем потенциальных.
Кривая поддержка в браузерах ИЛИ лицензионные ограничения вообще неочевидные местами. Намучались когда свой браузер делали в том числе.> Mozilla выступает за JPEG XL
Они выступают за всё хорошее и против всего плохого. Они поддерживают вообще всё что могут по закону)
Банально в AVIF десять тысяч способов повернуть картинку (свой + exif).
В жизни все браузеры крутят по разному. Вкупе с CSS угадать поворот картинки которую загрузил пользователь и отобразить правильно — задача невыполнима.
Я много про это ругался в т.ч. с авторами стандарта CSS, но на легаси поведение браузеров оч много уже завязано в вебе.То есть мы пытались сделать совместимость и со стандартом и с другими браузерами, а они банально между собой по разному показывают блин. Прям нормально всё сделано в плане стандарта лицензий и библиотек только у Гугла с WebP по моему мнению, хоть и по сжатию они не лучшие.
Ну вот из банального, открой в разных браузерах, удивись:
https://zpl.fi/exif-orientation-in-different-formats/А ещё есть комбинация этого всего с
https://drafts.csswg.org/css-images/#the-image-orientationТо есть банально не-JPEGг может в разных браузерах бесконтрольно крутиться.
Потратил на это больше месяца и бросил.
https://github.com/LadybirdBrowser/ladybird/issues/2065
Отсюда и ещё много куда.А ещё цветовые пространства!!!
С ними тоже Мега много проблем везде что не WebP и не JPEG.
Причем не только в браузерах.Так что веб разработчикам я бы советовал наверное сегодня использовать только эти два формата, и последний только отдавать древним браузерам те современные все умеют нормально WebP.
WebP главный плюс — не что жмет сильнее, к что артефакты lossy сжатия без микроскопа не разглядеть, в отличие от JPEG. Что круто.
И про библиотеки для редких форматов. Надо не чтобы они были, надо чтобы они были ещё безопасными, а не дырявыми с кучей RCE.
Это камень в огород JPEG XL, например.Мы кодеки в жесточайшей песочнице запускали, но даже так RCE в библиотеке это опасно, а аудитов там порой.. нет )
Для браузера это прям критично критично думаю сам понимаешь.
Поворот если что — это один из примеров. Там, правда, много проблем.
ссылка на оригинал статьи https://habr.com/ru/articles/925880/
Добавить комментарий