Сжатие PNG
Сжимайте изображения PNG за счёт уменьшения количества содержащихся в них цветов — тот же приём, что используют настольные оптимизаторы. Прозрачность сохраняется, файлы обычно уменьшаются на 40–70%, и всё это происходит прямо в браузере.
- Файлы никогда не покидают ваше устройство
- Бесплатно, без регистрации
- Без водяных знаков
- Работает офлайн после загрузки
Как пользоваться: сжатие png
- 1
Добавьте PNG-файлы
Перетащите файлы PNG на страницу, выберите вручную или вставьте из буфера обмена.
- 2
Выберите количество цветов
256 цветов визуально неотличимы от оригинала для большинства изображений. Уменьшите значение для меньшего размера файла.
- 3
Скачайте
Сохраните каждый оптимизированный PNG по отдельности или скачайте все файлы сразу в виде ZIP-архива.
Почему формат без потерь всё же сжимается
PNG хранит каждый пиксель точно, поэтому не может отбрасывать детали так, как это делает JPEG. Зато он может использовать повторяемость. Каждая строка сначала проходит через фильтр, который кодирует пиксели как разницу с соседними, а затем результат сжимается алгоритмом DEFLATE — тем же, что используется в ZIP. Оба этапа выигрывают от предсказуемости данных: чем чаще повторяется один и тот же байтовый паттерн, тем плотнее упаковывается файл.
Именно уменьшение количества различных цветов создаёт эту предсказуемость. Скриншот прямо с телефона может содержать сорок тысяч едва отличающихся оттенков, большинство из которых — вариации в один пиксель, незаметные никому. Сведение их к палитре из 256 тщательно подобранных цветов почти ничего не меняет визуально, но делает данные пикселей значительно более повторяющимися, а остальное довершает DEFLATE. Контейнер остаётся без потерь; упрощается сначала само изображение внутри него.
Именно поэтому результаты оптимизации PNG так резко различаются в зависимости от содержимого. Логотип из восьми однородных цветов уже находится почти на пределе палитры и может уменьшиться совсем незначительно. А скриншот интерфейса, насыщенный градиентами, способен потерять 60% размера вообще без видимых изменений.
Выбор количества цветов
Правильный размер палитры полностью зависит от того, сколько непрерывных тональных переходов содержит изображение. Плоская графика выдерживает жёсткое сокращение цветов, потому что изначально их было немного; всё, что содержит градиенты, тени или фотографический контент, требует запаса, иначе появится бэндинг — плавный переход распадётся на заметные ступени.
Дизеринг — способ смягчить эту проблему. Он распределяет ошибку округления между соседними пикселями, чтобы глаз снова воспринимал их как плавный градиент, а не видел резкие границы между записями палитры. Это стоит нескольких процентов размера файла, потому что делает данные чуть менее повторяющимися, — в этом и заключается компромисс: немного размера обратно в обмен на градиенты, которые выглядят цельно. Оставляйте его включённым для всего фотографического и отключайте для плоской графики, где он только добавляет шум.
- 256 цветов
- Визуально неотличимо от оригинала практически для всего, включая большинство скриншотов. Безопасный выбор по умолчанию, если вы не уверены.
- 128 цветов
- Неотличимо на логотипах, иконках и скриншотах интерфейса. Уменьшает файл примерно вдвое. Лучший вариант по умолчанию для веб-ресурсов.
- 64 цвета
- Подходит для плоских иллюстраций и иконок. На фотографиях и градиентах при таком уровне появится заметный бэндинг даже с дизерингом.
Когда PNG — неверный выбор
PNG часто используют для изображений, которым он вообще не подходит. Фотография, сохранённая в PNG, обычно в пять-десять раз больше той же фотографии в формате JPEG с качеством 85, и никакое уменьшение палитры не устраняет этот разрыв — формат просто не рассчитан на непрерывные тональные переходы. Если изображение снято камерой и не содержит прозрачности, конвертация даст гораздо больший выигрыш, чем сжатие.
Обратная ошибка встречается не реже. Скриншоты с текстом, логотипы с резкими границами и линейная графика плохо выглядят в JPEG при любом разумном качестве, потому что основанное на частотах преобразование смазывает чёткие границы и оставляет ореолы вокруг букв. Таким изображениям место в PNG, где они зачастую оказываются даже меньше по размеру, чем JPEG, да ещё и пиксель-в-пиксель точны.
- Оставляйте PNG
- Логотипы, иконки, линейная графика, скриншоты текста, диаграммы и всё, что требует прозрачного фона.
- Конвертируйте в JPG или WebP
- Фотографии и любые полноцветные изображения без прозрачности. Экономия измеряется в разах, а не в процентах.
Часто задаваемые вопросы
Как работает сжатие PNG, если PNG — формат без потерь?
Сам контейнер PNG остаётся без потерь — меняется содержащееся в нём изображение. Уменьшение количества различных цветов делает данные гораздо более повторяющимися, а встроенное в PNG сжатие deflate затем упаковывает их намного плотнее. Это тот же подход, который используют pngquant и TinyPNG.
Сохраняется ли прозрачность?
Да. Альфа-канал остаётся полностью нетронутым, а полностью прозрачные пиксели исключаются из цветовой палитры, чтобы не искажать её. Логотипы и вырезанная графика сохраняют чистые края.
Почему экономия меньше, чем даёт TinyPNG?
Браузеры умеют записывать только 32-битные PNG, а не настоящие 8-битные палитровые PNG, поэтому нам удаётся достичь примерно половины того, чего добивается нативный оптимизатор. Взамен ваш файл никогда не покидает устройство, и никакого месячного лимита нет. Для логотипов и плоской графики разница невелика; для фотографий она заметнее.
Что делает дизеринг?
Он распределяет ошибку округления между соседними пикселями, чтобы градиенты оставались плавными, а не разбивались на заметные полосы. Это стоит нескольких процентов размера файла и оправдано для фотографий и градиентов — отключайте его для плоской графики и скриншотов.
Стоит ли вообще использовать PNG?
Для фотографий — нет: JPG или WebP при том же качестве окажутся в несколько раз меньше. PNG — правильный выбор для логотипов, иконок, скриншотов текста и всего, что требует прозрачности.
Частые задачи: сжатие png
Вам также может понадобиться
Сжатие JPG
Уменьшите размер JPG-файлов без заметной потери качества
PNG в JPG
Конвертируйте PNG-изображения в компактные JPG-файлы
Изменение размера изображения
Меняйте размеры изображения в пикселях или процентах
Конвертер WebP
Конвертируйте изображения в WebP и обратно
Удаление фона
Вырежьте фон с любой фотографии прямо в браузере
Извлечение цветовой палитры
Извлеките доминирующие цвета из изображения
Обрезка изображения
Обрезайте перетаскиванием, с готовыми пропорциями
Генератор favicon
Все размеры favicon и HTML-код для установки