Формат WebP — стандарт сжатия изображений от Google, поддерживаемый всеми современными браузерами и операционными системами. Конвертация JPG и PNG в WebP уменьшает размер файла на 25–35% при сравнимом визуальном качестве — это напрямую влияет на скорость загрузки страниц и показатели Core Web Vitals. Если нужна обратная операция, читайте гайд по конвертации WebP в JPG.
Коротко: чтобы перевести JPG или PNG в WebP, выберите подходящий инструмент — онлайн-сервис (Squoosh, Convertio) для разовых задач, cwebp или FFmpeg для пакетной обработки в командной строке, Python Pillow для автоматизации в скриптах, GIMP или XnView для работы через GUI. Все описанные способы бесплатны и работают на Windows, Linux и macOS.
Зачем конвертировать изображения в WebP
WebP — формат изображений, разработанный Google и представленный в 2010 году. Он объединяет возможности JPG и PNG: поддерживает lossy-сжатие (как JPG), прозрачность альфа-канала (как PNG) и анимацию (как GIF). При этом файлы получаются меньше.
По данным Google Developers, WebP-изображения в lossy-режиме на 25–34% меньше JPEG при эквивалентном индексе структурного сходства (SSIM). В lossless-режиме WebP на 26% меньше PNG. Это не маркетинговые цифры: они подтверждены независимыми тестами и зафиксированы в спецификации формата.
Где имеет смысл переводить картинки в WebP:
- Оптимизация изображений на сайте — уменьшает вес страниц, улучшает Google PageSpeed Score и показатели LCP.
- Мобильные приложения — экономия трафика пользователей.
- Хранение фотографий в облаке при ограниченном объёме — lossy WebP почти не отличим визуально от оригинала JPG.
Поддержка браузеров: все современные браузеры поддерживают WebP с 2020–2021 годов — Chrome 17+ (2012), Firefox 65+ (2019), Safari 14+ (2020), Edge 18+, Opera 11.1+. Исключение — Internet Explorer 11, который не поддерживается.
WebP может не открываться в старых программах просмотра изображений: Windows Photo Viewer без обновления KB4054517, Paint до Windows 10 версии 1903, старые версии Photoshop (до 23.2). Перед массовой конвертацией убедитесь, что рабочие инструменты команды поддерживают WebP.
Способ 1 — Онлайн-сервисы: без установки программ
Онлайн-конвертеры подходят для разовой задачи, когда нужно быстро перевести 1–10 изображений без установки программ.
Squoosh — официальный инструмент от Google
Squoosh — браузерный конвертер изображений от команды Google Chrome. Работает полностью локально: файл не отправляется на сервер, обработка происходит в браузере через WebAssembly.
- Откройте squoosh.app в браузере.
- Перетащите JPG или PNG-файл в окно или нажмите «Upload image».
- В правой панели выберите формат WebP из выпадающего списка.
- Настройте параметр Quality (рекомендуется 75–85 для фотографий) или переключитесь на Lossless для PNG с прозрачностью.
- Сравните оригинал и результат в режиме A/B (перетащите центральный разделитель).
- Нажмите кнопку загрузки (стрелка вниз) для сохранения WebP.
Поскольку обработка идёт в браузере, изображения не покидают ваш компьютер. Это единственный онлайн-конвертер, безопасный для конфиденциальных изображений.
Convertio — пакетная загрузка
Convertio поддерживает загрузку нескольких файлов одновременно — до 25 файлов и 100 МБ на файл в бесплатном тарифе. Подходит для пакетной конвертации небольших галерей без использования командной строки. Файлы передаются на серверы Convertio, поэтому не загружайте личные документы или конфиденциальные данные.
Когда онлайн-сервисы не подходят
- Нужно конвертировать сотни или тысячи файлов — используйте cwebp, FFmpeg или Python-скрипт.
- Конфиденциальные изображения — только Squoosh (локальная обработка) или десктопные инструменты.
- Требуется автоматизация и встраивание в пайплайн — Python Pillow или bash-скрипт.
Способ 2 — cwebp: официальная утилита Google
cwebp — консольная утилита из официального пакета libwebp, разработанного Google. Это наиболее прямолинейный способ конвертировать JPG в WebP или PNG в WebP с максимальным контролем над параметрами.
Установка на Windows
- Перейдите на страницу загрузки libwebp (Google Developers).
- Скачайте архив для Windows (
libwebp-x.x.x-windows-x64.zip). - Распакуйте архив в любую папку, например
C:\libwebp\. - Добавьте путь
C:\libwebp\bin\в системную переменнуюPATH(Свойства системы → Переменные среды → Path). - Проверьте установку: откройте командную строку и выполните:
cwebp -versionВ ответ должна вывестись версия, например 1.4.0.
Установка на Linux и macOS
На Ubuntu / Debian:
sudo apt install webpНа macOS через Homebrew:
brew install webpПосле установки команды cwebp и dwebp доступны напрямую из терминала.
Основные команды cwebp
Базовая конвертация JPG в WebP:
cwebp input.jpg -o output.webpКонвертация с указанием качества (0–100, рекомендуется 75–90 для веба):
cwebp -q 80 input.jpg -o output.webpLossless-конвертация (для PNG с прозрачностью — идеально для логотипов и UI):
cwebp -lossless input.png -o output.webpLossless с сохранением точного альфа-канала:
cwebp -lossless -exact input.png -o output.webpПринимает значения от 0 (минимальное качество, максимальное сжатие) до 100 (максимальное качество, минимальное сжатие). Рекомендуемый диапазон для веб-изображений — 75–90: при quality=80 разница с оригиналом JPG практически незаметна глазу, а файл на 25–30% меньше.
Способ 3 — FFmpeg
FFmpeg — универсальный мультимедийный конвертер, поддерживающий в том числе работу с изображениями. Если FFmpeg уже установлен для обработки видео, конвертировать JPG в WebP или PNG в WebP можно той же командой без дополнительного ПО.
Установка FFmpeg
На Windows: скачайте сборку с официального сайта ffmpeg.org и добавьте папку bin в PATH. На Linux: sudo apt install ffmpeg. На macOS: brew install ffmpeg.
Команды конвертации
Lossy-конвертация JPG в WebP (качество 80):
ffmpeg -i input.jpg -quality 80 output.webpLossless-конвертация PNG в WebP:
ffmpeg -i input.png -lossless 1 output.webpПакетная конвертация всех JPG в текущей папке (bash/Linux/macOS):
for f in *.jpg; do ffmpeg -i "$f" -quality 80 "${f%.jpg}.webp"; doneЕсли FFmpeg уже установлен для работы с видео или аудио, это самый быстрый путь — не нужно ставить отдельную утилиту. FFmpeg также умеет конвертировать анимированный GIF в WebP одной командой: ffmpeg -i input.gif output.webp.
Способ 4 — Python Pillow
Python Pillow (PIL fork) — библиотека обработки изображений для Python, поддерживающая WebP с версии 2.x. Идеальный выбор для автоматизации: встраивается в скрипты, Django, Flask, CI/CD-пайплайны.
Установка Pillow
pip install PillowКонвертация одного файла
from PIL import Image
img = Image.open("photo.jpg")
img.save("photo.webp", "WebP", quality=80)
print("Готово:", img.size)Конвертация PNG с сохранением прозрачности
from PIL import Image
img = Image.open("logo.png")
img.save("logo.webp", "WebP", lossless=True)
# lossless=True сохраняет альфа-канал без потерьПакетная конвертация целой директории
import os
from PIL import Image
INPUT_DIR = "./images"
OUTPUT_DIR = "./images_webp"
QUALITY = 80
os.makedirs(OUTPUT_DIR, exist_ok=True)
for filename in os.listdir(INPUT_DIR):
if filename.lower().endswith((".jpg", ".jpeg", ".png")):
in_path = os.path.join(INPUT_DIR, filename)
out_name = os.path.splitext(filename)[0] + ".webp"
out_path = os.path.join(OUTPUT_DIR, out_name)
Image.open(in_path).save(out_path, "WebP", quality=QUALITY)
print(f" {filename} → {out_name}")
print("Конвертация завершена.")Сохранение EXIF-данных при конвертации JPG
При сохранении в WebP Pillow по умолчанию не переносит EXIF. Чтобы сохранить метаданные (дату съёмки, камеру, геолокацию):
from PIL import Image
img = Image.open("photo.jpg")
exif = img.info.get("exif", b"")
img.save("photo.webp", "WebP", quality=80, exif=exif)Полный список параметров (quality, lossless, method, exact, icc_profile) — в официальной документации Pillow.
Способ 5 — Графические редакторы и программы
Если командная строка и скрипты не нужны, конвертировать JPG в WebP или PNG в WebP можно через десктопные программы с графическим интерфейсом.
GIMP (бесплатно, Windows / macOS / Linux)
GIMP поддерживает WebP нативно с версии 2.10. Порядок действий:
- Откройте изображение: Файл → Открыть.
- Выберите Файл → Экспортировать как (не «Сохранить» — GIMP сохраняет в собственном формате .xcf).
- В диалоге введите имя файла с расширением
.webpили выберите WebP из списка типов. - В окне настроек выберите режим: Lossy или Lossless, задайте качество.
- Нажмите Экспортировать.
XnView (Windows / macOS / Linux, бесплатно для некоммерческого использования)
XnView удобен для пакетной конвертации через GUI без командной строки:
- Откройте XnView и выберите изображения или папку.
- Перейдите в Сервис → Пакетное конвертирование.
- Выберите формат вывода WebP и укажите параметры качества.
- Нажмите Конвертировать.
IrfanView с плагином WebP (Windows)
IrfanView поддерживает WebP через пакет плагинов. После установки плагинов: File → Save As → WebP. Пакетная обработка доступна через File → Batch Conversion/Rename.
Пакетная конвертация нескольких файлов
При работе с большим количеством изображений ручная конвертация нецелесообразна. Ниже — три проверенных варианта пакетной обработки.
Вариант 1: bash-цикл с cwebp (Linux / macOS)
for f in *.jpg *.png; do
[ -f "$f" ] || continue
cwebp -q 80 "$f" -o "${f%.*}.webp"
echo "Готово: ${f%.*}.webp"
doneСкрипт перебирает все JPG и PNG в текущей папке, конвертирует каждый в WebP с качеством 80 и сохраняет рядом с оригиналом.
Вариант 2: bash-цикл с FFmpeg
for f in *.jpg; do
ffmpeg -i "$f" -quality 80 "${f%.jpg}.webp"
doneВариант 3: Python-скрипт (рекурсивный, кросс-платформенный)
import os
from pathlib import Path
from PIL import Image
source = Path("./photos")
dest = Path("./photos_webp")
dest.mkdir(exist_ok=True)
for img_path in source.rglob("*.[jJpPnN][pPgG]*"):
out = dest / img_path.relative_to(source).with_suffix(".webp")
out.parent.mkdir(parents=True, exist_ok=True)
Image.open(img_path).save(str(out), "WebP", quality=80)
print(f"{img_path} → {out}")Скрипт рекурсивно обходит папку photos, сохраняет структуру подпапок и конвертирует все JPG и PNG в WebP.
Конвертируйте в отдельную папку, не перезаписывая исходные файлы. WebP не поддерживается всеми приложениями: некоторые программы для просмотра фото, старые CMS и корпоративные системы работают только с JPG и PNG.
Lossy против Lossless: что выбрать
WebP поддерживает два принципиально разных режима сжатия. Правильный выбор зависит от содержимого исходного изображения и цели конвертации.
| Параметр | Lossy WebP | Lossless WebP |
|---|---|---|
| Качество | Незначительные потери (не видны при quality ≥ 80) | Пиксель-в-пиксель идентично оригиналу |
| Размер файла | На 25–35% меньше исходного JPG | На 0–26% меньше PNG (зависит от изображения) |
| Прозрачность | Да (альфа-канал с потерями) | Да (альфа-канал без потерь) |
| Лучший исходник | JPG (фотографии) | PNG (логотипы, скриншоты, UI-элементы) |
| Применение | Фотогалереи, баннеры, hero-изображения | Логотипы, иконки, диаграммы, PNG-спрайты |
| Рекомендация | quality 75–90 для баланса веса и качества | Всегда для PNG с прозрачностью |
JPG-источник → Lossy WebP (quality 80). PNG-источник с прозрачностью → Lossless WebP. PNG-источник без прозрачности (скриншот, диаграмма) → Lossy WebP, если важен вес; Lossless — если важно точное воспроизведение цветов.
Сравнение инструментов — таблица
| Инструмент | ОС | Пакетная | GUI | Цена | Сложность |
|---|---|---|---|---|---|
| Squoosh | Браузер | ✗ | ✓ | Бесплатно | Низкая |
| Convertio | Браузер | ✓ | ✓ | Бесплатно / лимит | Низкая |
| cwebp | Win / Lin / Mac | ✓ | ✗ | Бесплатно | Средняя |
| FFmpeg | Win / Lin / Mac | ✓ | ✗ | Бесплатно | Средняя |
| Python Pillow | Win / Lin / Mac | ✓ | ✗ | Бесплатно | Средняя |
| GIMP | Win / Lin / Mac | ✗ | ✓ | Бесплатно | Средняя |
| XnView | Win / Lin / Mac | ✓ | ✓ | Бесплатно (некоммерч.) | Низкая |
| IrfanView | Windows | ✓ | ✓ | Бесплатно (некоммерч.) | Низкая |
Частые вопросы
Можно ли конвертировать WebP обратно в JPG или PNG?
Да — используйте утилиту dwebp из того же пакета libwebp (dwebp input.webp -o output.png), FFmpeg (ffmpeg -i input.webp output.jpg) или Python Pillow. Подробные инструкции — в статье «Как конвертировать WebP в JPG».
Поддерживают ли все браузеры WebP?
Да, с 2020–2021 годов — Chrome, Firefox, Safari, Edge, Opera поддерживают WebP. Исключение — Internet Explorer 11, который не получил поддержку WebP и прекратил официальную поддержку Microsoft в 2022 году.
Теряется ли качество при конвертации JPG в WebP?
При lossy-конвертации с quality ≥ 80 разница практически не заметна глазу. Если качество критично, используйте lossless-режим: cwebp -lossless input.jpg -o output.webp. Однако lossless из JPG не восстанавливает потерянное при исходном сжатии JPG — данные, утраченные при создании JPG, не возвращаются.
Как сохранить прозрачность при конвертации PNG в WebP?
Используйте lossless-режим: cwebp -lossless input.png -o output.webp или Python Pillow с параметром lossless=True. WebP поддерживает альфа-канал как в lossless, так и в lossy-режиме — в обоих случаях прозрачность сохраняется.
Можно ли конвертировать анимированный GIF в WebP?
Да. FFmpeg конвертирует анимированный GIF напрямую: ffmpeg -i input.gif output.webp. Для покадровой сборки анимированного WebP из PNG-кадров используйте утилиту img2webp, входящую в пакет libwebp: img2webp frame1.png frame2.png frame3.png -o animation.webp. cwebp анимацию не поддерживает.
Почему WebP lossless иногда больше исходного PNG?
Алгоритм lossless-сжатия WebP оптимален не для всех типов изображений. Для синтетической графики с однородными областями PNG-компрессор (DEFLATE) может оказаться эффективнее. Используйте lossy WebP для фотографий — там выигрыш всегда значительный. Для UI-элементов и скриншотов сравните размер обоих форматов и выберите меньший.
Работает ли WebP в Microsoft Office и Adobe Photoshop?
В Microsoft Office 365 поддержка WebP добавлена с 2023 года — вставить WebP в Word или PowerPoint можно как обычную картинку. Adobe Photoshop поддерживает WebP нативно с версии 23.2 (выпуск 2022 года). Для более старых версий Photoshop доступны сторонние плагины.
