JPEG и PNG — это два основных формата для изображений, которые используются на сайтах. В некоторых случаях лучше использовать JPEG, а в некоторых — PNG. Неверный выбор формата обычно приводит к кратному возрастанию размера изображения и, следовательно, к долгой загрузке изображений на медленном интернет-канале (мобильный интернет, например).
Современные форматы изображений, используемые в веб‑разработке
Выбор правильного формата изображения — важный аспект оптимизации производительности веб‑страниц. От него зависят скорость загрузки, качество контента, а значит и пользовательский опыт. Рассмотрим популярные форматы, поддерживаемые современными браузерами, их особенности и сферы применения.
JPEG
JPEG (Joint Photographic Experts Group) — стандартный формат для фотографий. Использует сжатие с потерями, что уменьшает размер файла, но может снижать качество.
- Не поддерживает прозрачность.
- Идеален для изображений с большим количеством цветов (фотографии, градиенты).
- Артефакты сжатия при низком качестве, большой размер при высоком качестве.
- Поддерживается всеми браузерами, в том числе устаревшими.
PNG
PNG (Portable Network Graphics) — формат со сжатием без потерь, подходит для изображений с прозрачностью.
- Поддержка альфа‑канала (прозрачность).
- Лучший выбор для логотипов, иконок и графики с четкими границами.
- Больший размер файла по сравнению с JPEG на изображениях с большим количеством цветов.
- Поддерживается всеми браузерами, в том числе устаревшими.
GIF
GIF (Graphics Interchange Format) — формат для простой анимации и изображений с ограниченной палитрой (8-битный, максимум 256 цветов).
- Поддерживает анимацию и прозрачность, но прозрачность без полутонов — каждый пиксель может быть полностью прозрачным или полностью окрашенным.
- Низкое качество для сложных изображений (лимит в 256 цветов).
- Устаревший формат, уступает APNG и WebP по качеству и функциональности.
- Поддерживается всеми браузерами, включая устаревшие.
WebP
Современный формат от Google, сочетающий высокое сжатие и качество.
- Поддерживает сжатие с потерями и без потерь, прозрачность и анимацию.
- На 25–35% меньше размера, чем JPEG/PNG, при том же качестве.
- Поддерживает ICC‑профили, метаданные и EXIF‑данные.
- Поддерживается всеми современными браузерами (Chrome, Firefox, Safari, Edge, Opera).
AVIF
AVIF (AV1 Image File Format) — формат на основе кодека AV1, обеспечивает сверхвысокую степень сжатия и энергоэффективность.
- Лучшее качество при меньшем размере, чем WebP и JPEG.
- Поддерживает HDR, глубину цвета до 12 бит, прозрачность и анимацию.
- Позволяет сжимать изображения с потерями и без потерь.
- Поддерживается всеми современными браузерами (Chrome, Firefox, Safari, Edge, Opera).
APNG
APNG (Animated Portable Network Graphics) — расширение PNG для анимации с поддержкой 24-битных цветов и альфа‑канала.
- Альтернатива GIF с лучшим качеством и поддержкой полутоновой прозрачности.
- Поддерживается современными браузерами (Chrome, Firefox, Safari, Edge, Opera), но не поддерживается Internet Explorer.
SVG
SVG (Scalable Vector Graphics) — векторный формат на основе XML.
- Масштабируется без потери качества.
- Идеален для иконок, логотипов, графиков и интерактивных элементов.
- Поддерживает анимацию, фильтры, градиенты и редактирование через CSS/JavaScript.
- Позволяет минифицировать файлы для уменьшения размера.
- Поддерживается всеми современными браузерами.
JPEG XL
JPEG XL — формат, технически превосходящий AVIF и WebP, но с ограниченной поддержкой на начало 2025 года.
- Поддерживает сжатие с потерями и без потерь.
- Поддерживает анимацию, прозрачность и градиенты.
- На данный момент поддерживается только в Safari (начиная с версии 17.4) и в некоторых браузерах при включённых флагах (но не по умолчанию).
Рекомендации по использованию
В зависимости от типа изображений:
- Для фотографий и сложных многоцветных изображений: WebP или AVIF (с fallback-ом в JPEG для устаревших браузеров).
- Для «рисованной» графики с прозрачностью: WebP или PNG, если поддержка AVIF/WEBP ограничена.
- Для анимации: WebP (простые анимации), APNG (сложные анимации с прозрачностью). GIF использовать только для поддержки устаревших браузеров.
- Для векторной графики: SVG. Для масштабируемых элементов и логотипов без потери качества.
Для обеспечения совместимости используйте тег <picture> с альтернативными форматами. Например:
<picture> <source srcset="image.avif" type="image/avif"> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="Описание изображения"> </picture>
Современные форматы, такие как WebP и AVIF, значительно улучшают производительность веб‑сайтов. Для автоматизации конвертации изображений используйте инструменты вроде Squoosh (от Google), ImageMagick или libvips.
В 2025 году WebP, AVIF и APNG активно используются, а AVIF активно набирает популярность благодаря поддержки во всех современных браузерах. JPEG XL пока не рекомендуется к массовому использованию из‑за ограниченной поддержки.
Тематические статьи
Изображения на сайтах могут адаптироваться как под разрешение экрана устройства для корректного отображения на мобильных устройствах, так и под экраны с высоким DPI для более детализированного отображения. Есть несколько вариантов реализации адаптивных изображений, отличаются они по сложности реализации, кроссбраузерностью и по создаваемой нагрузке на интернет-соединение. Рассмотрим самые распространённые.
Сайт может загружаться и отображаться быстрее, если выполнить следующие рекомендации по оптимизации HTML‑разметки, а без этого скорость загрузки и отрисовки будет ниже.
Время загрузки и отрисовки сайта в браузере можно заметно снизить, если воспользоваться следующими советами.
Кеширование статических ресурсов (картинок, скриптов, стилей) и неизменяющихся страниц на стороне браузера может сэкономить время загрузки страниц, если пользователь посещает сайт многократно или при посещении просматривает несколько страниц, которые используют одинаковые ресурсы.
Увеличить отзывчивость интерфейса и снизить нагрузку на сервер можно при помощи Ajax‑навигации: если не перезагружать страницу целиком, а обновлять только содержание или отдельные фрагменты, то скорость работы сайта или приложения существенно возрастёт.
Бывает так, что некоторое содержание страницы нужно не всем или не всегда, но на генерацию этого материала или для его передачи тратится много ресурсов. В этом случае имеет смысл сделать загрузку «ленивой», то есть не генерировать и не загружать в браузер информацию до тех пор, пока она не понадобится.
Сайт может работать быстрее, если выполнены следующие рекомендации по оптимизации JS‑кода. Если же этого не сделать, то сайт будет недостаточно быстро отображаться на стороне клиента.
Сжатие изображений — это один из способов ускорения загрузки сайта. Сделать изображения более «легкими» можно как уменьшив их физический размер в пикселях, так и путём оптимизации параметров сохранения. На «широких» каналах размер изображений на сайте на скорость загрузки сайта влияет не очень сильно, но для пользователей, просматривающих сайт через мобильный интернет (EDGE или 3G), большие изображения могут быть проблемой. На посещаемых сайтах также могут быть сложности с загрузкой канала сервера — неоптимизированные изображения могут существенно сказываться на объёме трафика (это проблема, если он платный) или просто «забивать» канал.
Семантическая микроразметка — это использование в HTML‑верстке дополнительных тегов, классов и иных атрибутов, которые либо дают поисковым системам дополнительную информацию о содержании страницы, либо упрощают классификацию содержания и формируют мета‑данные для содержания. Наиболее популярными на сегодняшний день являются форматы Schema.org, Open Graph и микроформаты.