PNG или JPG: какой формат выбрать на самом деле

Половина изображений на вашем компьютере, скорее всего, хранится не в том формате. Не сломаны, не повреждены, просто тихо занимают в четыре раза больше места, чем должны, или выглядят чуть хуже, чем могли бы. Вопрос «PNG или JPG» звучит как мелочь для викторины, но именно он определяет размер ваших файлов и то, насколько хорошо они выглядят. А ответ умещается в один абзац.

Вот он: JPG для фотографий, PNG для всего с чёткими краями. Скриншоты, логотипы, диаграммы, текст, макеты интерфейсов: PNG. Всё, что вышло из камеры: JPG. Это правило покрывает примерно 95% реальных случаев. Интереснее другое: почему так, ведь стоит один раз понять причину, и вы больше никогда не перепутаете форматы.

Что на самом деле делает JPG

JPG стандартизировали в 1992 году, и его главный трюк до сих пор впечатляет. Вместо того чтобы честно хранить каждый пиксель, формат разбивает изображение на маленькие блоки и описывает каждый блок как смесь узоров, оставляя те узоры, которые замечает глаз, и выбрасывая те, которые не замечает. Человеческое зрение отлично улавливает яркость и плохо различает тонкие оттенки цвета, поэтому JPG тратит байты именно так.

Для фотографии это почти бесплатный обед. Снимки полны мягких градиентов, шума и органической текстуры: именно того материала, где можно выбросить половину данных, и никто не укажет, чего не хватает. Изображение на 20 МБ прямо с датчика камеры превращается в JPG на 3 МБ, который выглядит одинаково на любом экране.

Цена появляется, когда изображение не фотография. Дайте JPG скриншот с чётким чёрным текстом, и выброшенные узоры вернутся размытым ореолом вокруг каждой буквы. Формат делает именно то, для чего создан. Вы просто поручили ему не ту работу.

Что на самом деле делает PNG

PNG появился в 1996 году из-за патентного спора вокруг GIF и сделал ставку на противоположное: никогда ничего не выбрасывать. Он сжимает так же, как ZIP-архив: находит повторения и кодирует их эффективно, а затем возвращает вам каждый пиксель именно таким, каким тот пришёл. Открывайте и пересохраняйте PNG хоть тысячу раз, он не потеряет ни бита.

Именно поэтому PNG не знает равных для синтетических изображений. Скриншот в основном состоит из плоского цвета и повторяющихся форм, а сжатие без потерь проглатывает такие данные без усилий: файл остаётся небольшим, а текст остаётся острым, как бритва. PNG также поддерживает настоящую прозрачность, поэтому каждый логотип, который вы когда-либо вставляли в презентацию, был именно PNG.

Но направьте его на фотографию, и логика переворачивается. В снимке почти нет точных повторов, поэтому PNG не находит, что сжимать, и файл раздувается. Тот же самый кадр, из которого получается JPG на 3 МБ, в PNG обычно весит 15 МБ, и вот неприятный момент: выглядит он при этом ничуть не лучше. На обычной фотографии при обычном размере просмотра хорошо сделанный JPG и PNG визуально неотличимы. Вы платите впятеро больше за разницу, которую не видите.

Шпаргалка

У вас естьИспользуйтеПочему
Фото с любой камеры или телефонаJPGОгромная экономия, незаметные потери
Скриншот с текстом или интерфейсомPNGЧёткие края остаются чёткими
Логотип или иконка, которым нужна прозрачностьPNGУ JPG прозрачности вообще нет
Диаграмма, схема или рисунокPNGПлоские цвета сжимаются без потерь
Фото, которое будете редактировать снова и сноваPNG (или оригинал)Каждое пересохранение в JPG теряет ещё немного

Последняя строка заслуживает отдельного пояснения. Потери JPG незаметны один раз, но они накапливаются. Отредактировали, сохранили, снова отредактировали, снова сохранили: и через десяток таких циклов размытость становится вполне реальной. Поэтому редактируйте в формате без потерь и экспортируйте в JPG один раз, в самом конце.

Так когда же конвертировать?

Чаще всего нужно направление из PNG в JPG, обычно потому что фотография где-то по пути оказалась заперта в PNG: экспорт из редактора, сохранённая с сайта картинка, скан. Обратная конвертация в JPG может сократить размер файла на 70-80% без заметной потери качества, а это важно, когда вы отправляете снимок по почте или наблюдаете, как заполняется облачное хранилище.

Обратное направление, из JPG в PNG, встречается реже, и здесь стоит быть честными: оно не может вернуть детали, которые JPG уже отбросил. Зато оно может остановить дальнейшие потери, а это именно то, что нужно перед тем, как открыть файл для многократного редактирования.

Ещё кое-что стоит знать перед тем, как вы начнёте что-либо конвертировать. Большинство сайтов-конвертеров работают так: загружают ваше изображение на свой сервер, а ваши скриншоты и фотографии заслуживают лучшего, чем путешествие туда и обратно через чужой компьютер. Эта конвертация: обычная математика, и с ней справится ваше собственное устройство. Конвертер ниже работает целиком в вашем браузере: без загрузки на сервер, без регистрации, без ограничений по размеру, и он работает, даже если выключить Wi-Fi. Загрузите PNG и убедитесь сами.