Перевод изображения для сайта: таблицы, формулы и онлайн-конвертер

💻 IT и кодОбновлено: 11 июля 2026 г.6 мин чтения
Вы загрузили изображение на сайт, а оно тормозит загрузку страницы и выглядит размытым на Retina-экранах? Стандартный <img> с src — прошлый век. Разберём, как перевести любое изображение в современные форматы, рассчитать правильные размеры и автоматизировать конвертацию. Без воды — только формулы, таблицы и рабочий код.
⚡ Коротко: главное
  • WebP даёт сжатие на 25–35% лучше JPEG при том же качестве, AV1 — ещё на 20%.
  • Для Retina (2x) ширина изображения должна быть вдвое больше контейнера: 1200px при контейнере 600px.
  • Стандартные размеры для ширины контейнера: 320, 640, 1024, 1440, 1920 px.
  • Используйте с multiple sources: WebP для современных браузеров, JPEG/PNG — fallback.
  • Сжатие без потерь (lossless) для PNG даёт экономию до 50% объёма без артефактов.

Формула идеального размера изображения для Retina-экранов

Пиксельная плотность дисплеев (DPR) — это коэффициент, показывающий, сколько физических пикселей приходится на один CSS-пиксель. Для обычного экрана DPR=1, для Retina (iPhone, многие мониторы 4K) — чаще 2 или 3.

Ширина изображения (px) = Ширина контейнера (CSS px) × DPR

Пример: контейнер 400px, DPR 2 → изображение должно быть 800px по ширине. Если поставить 400px, на Retina оно будет размытым. Если 1200px — избыточный вес.

Для автоматического подбора используйте атрибут srcset в теге <img>:

<img src="photo-800.jpg"
     srcset="photo-400.jpg 400w,
             photo-800.jpg 800w,
             photo-1200.jpg 1200w"
     sizes="(max-width: 600px) 100vw, 50vw"
     alt="описание">

Подводный камень: браузер использует не только DPR, но и размер окна (viewport). Указывайте sizes — без него браузер возьмёт 100vw и скачает самое большое.

Таблица форматов: когда какой использовать (актуально на 2026)

ФорматСжатиеПрозрачностьКогда использовать
JPEGС потерямиНетФотографии, сложные градиенты
PNGБез потерьДаЛоготипы, иконки, скриншоты
WebPС потерями / безДаОсновной формат для современных браузеров (98% поддержки)
AVIFС потерями / безДаЛучшее сжатие, медленное кодирование, 85% поддержки
SVGВекторДаИконки, диаграммы, адаптивные элементы

Для совместимости используйте тег <picture> с несколькими источниками:

<picture>
  <source srcset="photo.avif" type="image/avif">
  <source srcset="photo.webp" type="image/webp">
  <img src="photo.jpg" alt="описание">
</picture>
Важно: порядок источников определяет приоритет — ставьте AVIF первым, WebP вторым, JPEG последним.

Пошаговый пример: конвертация и оптимизация изображения для интернет-магазина

Допустим, у нас есть исходное фото товара (6000×4000 px, 12 МБ, JPEG). Хотим показать его на странице товара и в карусели.

  1. Определите максимальные размеры контейнеров: детальная карточка — 800px, миниатюра — 200px.
  2. Рассчитайте размеры для Retina: для детальной 800×2=1600px, для миниатюры 200×2=400px.
  3. Сконвертируйте в WebP: используйте cwebp или онлайн-конвертер. Пример команды:
    cwebp -q 80 source.jpg -o product-1600.webp
    cwebp -q 80 source.jpg -resize 400 0 -o thumb-400.webp
  4. Создайте fallback в JPEG тех же размеров:
    convert source.jpg -resize 1600x1600 product-1600.jpg
    convert source.jpg -resize 400x400 thumb-400.jpg
  5. Вставьте в HTML с :
    <picture>
      <source srcset="product-1600.webp" media="(min-width: 800px)">
      <source srcset="product-1600.jpg" media="(min-width: 800px)">
      <img src="product-800.jpg" alt="Товар">
    </picture>

Результат: вес загрузки уменьшился с 12 МБ до ~350 КБ (WebP). Если нужно быстро перевести несколько файлов, используйте наш Конвертер изображения для сайта.

Подводные камни конвертации: цветовые профили, метаданные и размеры

  • Цветовой профиль (ICC): если изображение содержит встроенный профиль (например, Adobe RGB), при конвертации цвета могут исказиться. Рекомендуется конвертировать в sRGB и удалить профиль: cwebp -noalpha -metadata none src.jpg -o out.webp.
  • EXIF-данные: ориентация, дата, GPS — обычно не нужны на сайте. Удаляйте: cwebp -metadata none или jpegtran -copy none.
  • Размеры в srcset: не используйте разные пропорции (aspect ratio) в одном srcset — браузер решит, что изображения разные, и может скачать все. Сохраняйте одинаковое соотношение сторон.
  • Lazy loading: загрузка изображений при прокрутке экономит трафик. Добавьте атрибут loading="lazy" для всех картинок ниже сгиба.

Для быстрого сжатия без потери качества попробуйте Сжать изображение онлайн — он автоматически удаляет метаданные и подбирает степень сжатия.

Процесс конвертации изображения для сайта
  1. 1
    Определить контейнеры

    Измерьте ширину CSS-контейнеров в пикселях (например, 800px и 200px).

  2. 2
    Рассчитать размеры

    Умножьте каждую ширину на DPR (обычно 2) — получите 1600px и 400px.

  3. 3
    Конвертировать в WebP/AVIF

    Используйте cwebp или онлайн-конвертер для создания файлов нужных размеров.

  4. 4
    Создать JPEG-fallback

    Для старых браузеров подготовьте JPEG тех же размеров.

  5. 5
    Встроить через

    Напишите HTML с srcset и media-запросами для адаптивной загрузки.

5 шагов от исходника до адаптивных изображений

Как отладить конвертацию: инструменты и проверки

Даже после конвертации изображение может отображаться некорректно. Используйте эти методы:

  • DevTools (Chrome/Firefox): во вкладке Network фильтр «Img» — увидите реальный размер загруженного файла. Если грузится оригинал (12 МБ) вместо WebP (350 КБ) — неверно настроен <picture>.
  • Check format support: на странице chrome://gpu проверьте поддержку WebP и AVIF («Decode image»).
  • Pixel density test: в DevTools переключитесь на Device Toolbar и выберите iPhone 12 (DPR=3). Проверьте, что ширина загружаемого изображения >= контейнера × 3.
  • Lighthouse: отчёт покажет «Serve images in next-gen formats» и «Properly size images». Стремитесь к 100 баллам.

Если после всех проверок изображение всё ещё тормозит — проверьте сервер. Возможно, не включено сжатие Brotli или gzip для самого HTML.

Для анализа цветовой палитры загруженного изображения пригодится Палитра из изображения онлайн.

Чеклист: проверка изображений на сайте

0 из 8

Автоматизация конвертации: скрипты и CI/CD

Вручную конвертировать каждое изображение — долго. Настройте автоматическую обработку при пуше в репозиторий.

Пример на Node.js (sharp):

const sharp = require('sharp');
const fs = require('fs');

async function convert(input, outputBase) {
  const image = sharp(input);
  await image
    .resize(1600)
    .webp({ quality: 80 })
    .toFile(`${outputBase}-1600.webp`);
  await image
    .resize(800)
    .toFile(`${outputBase}-800.webp`);
  await image
    .jpeg({ quality: 85 })
    .toFile(`${outputBase}-800.jpg`);
}
convert('photo.jpg', 'product');

Для CI (GitHub Actions): установите sharp и запускайте скрипт перед деплоем. Не забудьте добавить cache: sharp для ускорения.

Edge-case: если изображений много (>100), используйте очередь (Bull, RabbitMQ) — иначе сборка упадёт по таймауту.

Когда конвертация не нужна: SVG и векторные изображения

Для логотипов, иконок и иллюстраций с чёткими краями используйте SVG. Преимущества:

  • Не зависит от DPR — всегда чётко.
  • Меньший размер (часто <1 КБ).
  • Можно анимировать и менять цвета через CSS.

Когда SVG плох: для фотографий и сложных растровых изображений — размер SVG будет огромным.

Если у вас уже есть PNG-логотип, конвертируйте его в SVG через трейсер (например, Potrace), но лучше попросите исходник у дизайнера.

Оценка влияния оптимизации на конверсию: бизнес-метрика

Каждая секунда загрузки страницы снижает конверсию в среднем на 7% (данные Akamai на 2026). Оптимизация изображений — самый быстрый способ ускорить сайт.

Чтобы посчитать экономию:

  1. Измерьте текущее время загрузки (LCP в Lighthouse).
  2. Примените оптимизацию (конвертация в WebP, сжатие, srcset).
  3. Замерьте новое время — обычно сокращение на 30–50%.
  4. Умножьте процент улучшения на коэффициент конверсии.

Пример: сайт зарабатывает 1 000 000 ₽ в месяц, конверсия 2%. Ускорение на 1 сек (улучшение загрузки на 40%) даёт прирост конверсии на ~2,8% (0,4*7%). Итого: + 28 000 ₽/мес.

Посчитать точнее поможет Калькулятор конверсии сайта.

Бонус: рецепт для фоновых изображений (CSS background-image)

Фоновые изображения в CSS тоже должны быть адаптивными. Используйте image-set():

.hero {
  background-image: url('hero-800.jpg');
  background-image: image-set(
    'hero-800.webp' 1x,
    'hero-1600.webp' 2x,
    'hero-2400.webp' 3x
  );
}
Внимание: image-set() пока не поддерживает все браузеры, поэтому обязательно указывайте fallback через обычный background-image.

Для сложных проектов лучше всё же использовать <picture> внутри <div> с position: absolute.

🧮 Посчитайте сами — инструменты по теме

🧭 Разделы по теме

Частые вопросы

Какие форматы изображений лучше всего подходят для сайта в 2026 году?

Основные форматы: WebP (компрессия на 25–35% лучше JPEG, поддержка 98%) и AVIF (ещё на 20% лучше, но медленнее кодируется). Для фотографий используйте WebP с потерями, для логотипов — SVG или PNG без потерь. JPEG оставьте как fallback для старых браузеров.

Как правильно задать размеры изображения для Retina?

Используйте формулу: ширина изображения = ширина контейнера (в CSS-пикселях) × DPR. Например, для контейнера 400px и DPR 2 нужно изображение шириной 800px. В srcset укажите несколько вариантов: 400w, 800w, 1200w, а в sizes — условия вроде (max-width: 600px) 100vw.

Что делать, если изображение на сайте грузится слишком долго?

Сначала проверьте формат: переконвертируйте в WebP. Затем убедитесь, что размеры не превышают необходимые (используйте srcset). Удалите метаданные, сожмите с качеством 80-85%. Если всё равно тормозит — настройте lazy loading и проверьте серверное сжатие (Brotli/gzip).

Как автоматически конвертировать изображения при загрузке на сервер?

Напишите скрипт на Node.js с библиотекой sharp или используйте плагины для сборщиков (webpack, vite). Для CI/CD добавьте шаг с конвертацией перед деплоем. Популярные решения: Imagemin, Sharp, или облачные сервисы (Cloudinary, imgix).

Нужно ли удалять метаданные (EXIF) из изображений для сайта?

Да, за редкими исключениями. EXIF-данные (GPS, дата, модель камеры) увеличивают вес файла и не нужны пользователям. Удаляйте их при конвертации через cwebp с флагом -metadata none или через инструменты типа ExifTool. Исключение: если на сайте есть функция показа даты съёмки.

Почему мой тег не показывает WebP в Chrome?

Проверьте порядок источников: AVIF должен быть первым, WebP вторым, JPEG последним. Также убедитесь, что MIME-тип указан верно: type="image/webp". Если Chrome всё равно грузит JPEG — откройте DevTools и посмотрите, поддерживается ли WebP (вкладка Network покажет, какой файл загружен).

Как влияет оптимизация изображений на SEO?

Положительно: Google Core Web Vitals включают LCP (загрузка крупнейшего элемента), и оптимизированные изображения улучшают этот показатель. Кроме того, быстрый сайт получает более высокий рейтинг. Не забывайте про alt-тексты и описания.

Какие инструменты использовать для конвертации изображений онлайн?

Для перевода в разные форматы используйте наш Конвертер изображения для сайта. Для сжатия без потери качества — инструмент Сжать изображение онлайн. Для анализа палитры — Палитра из изображения онлайн.

Источники и нормативные документы

  1. MDN Web Docs: Responsive images
  2. WebP: Google Developers
  3. AVIF: AOMedia
  4. Can I Use: WebP & AVIF

Ещё по теме «IT и код»