OptiPNG: утилита для оптимизации PNG
OptiPNG — это специализированная программа для тех случаев, когда PNG-файл нужно сделать меньше, не меняя его визуальное содержимое. Она не ретуширует фотографии, не рисует кистями, не добавляет эффекты и не заменяет графический редактор. Ее задача намного уже и практичнее: взять PNG, проверить структуру файла, подобрать более удачные параметры сжатия, при необходимости убрать лишние служебные данные и сохранить изображение в более компактном виде.
Скачать OptiPNG
Для сжатия и оптимизации файлов
Главная особенность OptiPNG — работа через командную строку. У программы нет классического окна с кнопками Open, Save, Export или панелью инструментов. Пользователь запускает файл optipng.exe в Windows или команду optipng в macOS и Linux, указывает путь к изображению и добавляет параметры обработки. Такой формат кажется непривычным, если раньше вы пользовались только программами с графическим интерфейсом, но именно он делает OptiPNG удобной для пакетной обработки, скриптов, сборки сайтов и автоматической оптимизации графики перед публикацией.
OptiPNG работает с PNG как с основным форматом, а также умеет создавать оптимизированные PNG из BMP, GIF, PNM и TIFF. Программа выполняет оптимизацию без потери смысловой информации, проверяет целостность файлов, умеет запускать восстановление проблемных изображений через -fix и поддерживает точную настройку алгоритмов сжатия через параметры -o, -f, -zc, -zm, -zs, -zw. Актуальная стабильная версия OptiPNG — 7.9.1.
Содержание
- 1 Что делает OptiPNG
- 2 Интерфейс OptiPNG
- 3 Установка OptiPNG на Windows
- 4 Установка OptiPNG на macOS
- 5 Установка OptiPNG на Linux
- 6 Первый запуск OptiPNG
- 7 Базовая оптимизация PNG
- 8 Уровни оптимизации -o
- 9 Резервные копии и безопасная обработка файлов
- 10 Пакетная обработка PNG
- 11 Удаление метаданных через -strip all
- 12 Проверка и восстановление проблемных PNG через -fix
- 13 Конвертация BMP, GIF, PNM и TIFF в PNG
- 14 Режим симуляции -simulate
- 15 Настройка PNG-фильтров через -f
- 16 Настройки zlib: -zc, -zm, -zs, -zw
- 17 Параметры, которые запрещают отдельные виды уменьшения
- 18 Interlace и параметр -i
- 19 Работа с многоизображениями, анимацией и -snip
- 20 Практическая инструкция: как сжать PNG для сайта
- 21 Практическая инструкция: как оптимизировать один логотип
- 22 Практическая инструкция: как обработать папку скриншотов
- 23 Практическая инструкция: OptiPNG в скрипте сборки
- 24 Что показывает вывод OptiPNG
- 25 Основные параметры OptiPNG
- 26 Что OptiPNG делает особенно хорошо
- 27 Ограничения OptiPNG
- 28 Типичные ошибки при работе с OptiPNG
- 29 Полезные команды для разных задач
- 30 Пример рабочего процесса для веб-разработчика
- 31 Пример рабочего процесса для автора статей и документации
- 32 Пример рабочего процесса для администратора сайта
- 33 Сравнение с аналогами
- 34 Сравнительная таблица
- 35 Кому подойдет OptiPNG
- 36 Кому OptiPNG не подойдет
- 37 Практические рекомендации по выбору параметров
- 38 Итоговая оценка OptiPNG
Что делает OptiPNG
OptiPNG уменьшает размер PNG-файла за счет более эффективной внутренней упаковки данных. Для пользователя это выглядит просто: был файл logo.png, после запуска команды он остался таким же визуально, но стал занимать меньше места. Программа не меняет разрешение изображения, не снижает качество как JPEG-компрессор, не размывает детали и не превращает картинку в другой формат, если пользователь явно не передает внешний BMP, GIF, PNM или TIFF для конвертации в PNG.
Внутри PNG есть сжатый поток изображения IDAT, палитра, служебные блоки, параметры фильтрации строк, информация о прозрачности и дополнительные метаданные. OptiPNG пытается найти более компактное представление этих данных. Она может уменьшить битовую глубину, тип цвета и палитру, если это не меняет само изображение, затем выполняет несколько попыток сжатия и выбирает лучший результат. Дополнительно программа объединяет содержимое IDAT в один блок, чтобы убрать лишние заголовки и CRC, а также подбирает размер zlib-окна, если пересоздается новый поток IDAT.
На практике OptiPNG особенно полезна для:
-
PNG-иконок сайта;
-
скриншотов интерфейса;
-
логотипов с прозрачным фоном;
-
UI-графики;
-
небольших иллюстраций;
-
PNG-экспорта из графических редакторов;
-
папок с изображениями, которые нужно оптимизировать перед загрузкой на сайт;
-
автоматической подготовки ассетов в проекте.
OptiPNG не обещает одинаковый процент экономии для всех файлов. Иногда PNG уже хорошо сжат, и программа оставит его почти без изменений. Иногда удается заметно уменьшить размер за счет удаления лишних данных, изменения структуры IDAT, более удачных фильтров и повторной компрессии. Важный момент: корректные PNG, которые OptiPNG не может улучшить, обычно не увеличиваются в размере, если пользователь специально не включает принудительную запись через -force.
Интерфейс OptiPNG
Интерфейс OptiPNG — это командная строка. В Windows программа запускается через Command Prompt, PowerShell или Windows Terminal. В macOS — через Terminal. В Linux — через любой терминальный эмулятор, например GNOME Terminal, Konsole, Xfce Terminal или терминал внутри среды разработки.
У команды базовая структура такая:
optipng [options] [--] files...
На практике пользователь вводит:
optipng image.png
или более точную команду:
optipng -o5 -strip all image.png
В первой команде программа работает с настройками по умолчанию. Во второй задается уровень оптимизации -o5 и удаление метаданных -strip all.
Так как у OptiPNG нет отдельной панели настроек, все управление сосредоточено в параметрах командной строки. Это не недостаток, а особенность программы. Для разовой обработки одного файла GUI-инструмент может быть проще, но для повторяемого процесса командный интерфейс гораздо удобнее: одну и ту же команду можно сохранить в .bat, .sh, npm-скрипт, Makefile, задачу CI/CD или инструкцию для команды.

Скриншот показывает типичный запуск OptiPNG в Windows: пользователь открывает командную строку, переходит в папку с программой и запускает optipng.exe. В выводе отображается синтаксис команды, поддерживаемые форматы и базовые параметры: -?, -h, -help, -o <level>, -v.
Установка OptiPNG на Windows
В Windows OptiPNG обычно используют как портативную консольную программу. Достаточно скачать архив сборки, распаковать его и запускать optipng.exe. Инсталлятора с мастером Next → Next → Finish у программы не требуется: исполняемый файл можно положить в отдельную папку, например:
C:Toolsoptipng
После распаковки есть два варианта работы.
Первый вариант — запускать optipng.exe из папки программы. Например, если OptiPNG лежит в C:Toolsoptipng, можно открыть Command Prompt, перейти в эту папку и выполнить:
cd C:Toolsoptipngoptipng.exe -h
Второй вариант — добавить папку с optipng.exe в переменную среды PATH. Тогда команда optipng будет доступна из любой папки. Это удобнее, если PNG-файлы лежат в разных проектах и не хочется каждый раз копировать программу рядом с изображениями.
Проверка установки выполняется командой:
optipng -version
или:
optipng -h
Если команда выводит справку, значит программа запускается корректно. Если Windows пишет, что optipng не является внутренней или внешней командой, папка с программой не добавлена в PATH, либо командная строка открыта не в той директории.
Установка OptiPNG на macOS
На macOS удобнее всего установить OptiPNG через Homebrew:
brew install optipng
После установки проверка выполняется так:
optipng -version
или:
optipng -h
Homebrew распространяет OptiPNG как формулу optipng; текущая стабильная версия в формуле — 7.9.1. Формула описывает программу как PNG file optimizer и подтягивает необходимые зависимости для работы с PNG.
Для ежедневного использования на macOS команда ничем принципиально не отличается от Windows:
optipng ~/Pictures/example.png
Если нужно обработать все PNG в папке:
cd ~/Sites/project/assetsoptipng *.png
Установка OptiPNG на Linux
В Linux OptiPNG обычно ставится через пакетный менеджер дистрибутива. В Debian, Ubuntu и производных системах используется команда:
sudo apt install optipng
В Fedora:
sudo dnf install optipng
В Arch Linux:
sudo pacman -S optipng
После установки проверяется доступность команды:
optipng -version
или:
man optipng
В Linux OptiPNG особенно удобно использовать для серверных и пакетных сценариев: обработка папок с изображениями, подготовка ассетов перед деплоем, оптимизация скриншотов для документации, автоматическое сжатие PNG в каталогах статического сайта.
Первый запуск OptiPNG
Первый запуск лучше начинать не с оптимизации реального файла, а со справки:
optipng -h
Команда выводит краткую справку: синтаксис, поддерживаемые форматы, основные параметры, уровни оптимизации и примеры использования. Расширенная справка вызывается похожими вариантами:
optipng -?optipng -help
Для просмотра версии и информации о сборке используется:
optipng -version
или короткий вариант:
optipng -v
Параметр -v включает вывод версии и подробный режим, поэтому его удобно использовать, когда нужно понять, какая сборка стоит в системе и как именно программа обрабатывает файл.
На этом скриншоте видна расширенная справка OptiPNG: блок General options, параметры резервного копирования, вывода в отдельный файл, режима симуляции, а также настройки PNG-оптимизации -f, -i, -zc, -zm, -zs, -zw, -full, -nb, -nc, -np, -nx, -nz.
Базовая оптимизация PNG
Самый простой сценарий — оптимизировать один файл:
optipng image.png
OptiPNG откроет image.png, проверит его, выполнит оптимизацию и, если получившийся файл меньше исходного, заменит оригинал оптимизированной версией. Для пользователя это значит, что файл остается с тем же именем, но его размер на диске уменьшается.
Для безопасной первой проверки лучше работать не с единственным экземпляром изображения, а с копией. Например:
copy image.png image-test.pngoptipng image-test.png
В macOS и Linux:
cp image.png image-test.pngoptipng image-test.png
Так можно увидеть результат без риска случайно перезаписать рабочий файл. OptiPNG обычно не увеличивает корректный PNG, если не удается найти более компактный вариант, но при первом знакомстве привычка проверять на копии полезна.
Типичный вывод после обработки содержит имя файла, параметры изображения, результаты попыток и итоговую экономию. Если программа сообщает, что файл уже оптимален, это не ошибка. Это значит, что внутри PNG уже нет очевидного запаса для уменьшения при выбранных настройках.
Уровни оптимизации -o
Параметр -o задает уровень оптимизации. Он принимает значения от 0 до 7:
optipng -o0 image.pngoptipng -o1 image.pngoptipng -o2 image.pngoptipng -o5 image.pngoptipng -o7 image.png
Уровень -o0 выполняет минимальные операции. При нем OptiPNG не меняет такие характеристики изображения, как битовая глубина и тип цвета, и не пересжимает существующий поток IDAT. Это режим для быстрой и осторожной обработки.
Уровень -o1 выполняет одну попытку IDAT-сжатия. OptiPNG выбирает вариант, который считает наиболее перспективным. Это быстрый режим для случаев, когда нужно обработать много файлов и не тратить лишнее время.
Уровни -o2 и выше запускают несколько попыток сжатия. Чем выше уровень, тем больше вариантов проверяет программа. На -o5 обработка обычно медленнее, но результат может быть лучше. На -o7 программа делает особенно тщательный подбор, но прирост по сравнению с -o5 не всегда заметен. Максимальные режимы имеют смысл для небольшого количества важных изображений: логотипов, иконок, графики интерфейса, файлов шаблона сайта.
Для повседневной работы часто достаточно:
optipng -o2 image.png
или:
optipng -o5 image.png
Для финальной подготовки набора PNG перед публикацией можно использовать:
optipng -o5 *.png
Для максимальной проверки одного файла:
optipng -o7 logo.png
Важная практическая деталь: не стоит автоматически использовать -o7 для тысяч изображений. На больших папках разница во времени может быть существенной, а выигрыш в размере часто оказывается небольшим. Уровень -o5 обычно выглядит разумным компромиссом между временем обработки и итоговым размером файла.

На скриншоте показан вывод справки OptiPNG в cmd.exe: видны параметры -backup, -fix, -force, -preserve, -quiet, -simulate, -out, -dir, а также блок настроек сжатия. Это именно тот интерфейс, с которым пользователь работает в OptiPNG.
Резервные копии и безопасная обработка файлов
По умолчанию OptiPNG работает с PNG-файлом на месте: если оптимизация успешна, исходный файл заменяется оптимизированным. Для рабочей папки сайта или дизайн-проекта это не всегда удобно. Поэтому в программе есть параметры, которые помогают защитить исходники.
Параметр -backup сохраняет резервную копию измененного файла:
optipng -backup image.png
После такой обработки рядом с исходным файлом создается резервная копия с суффиксом .bak. Этот режим полезен, если нужно быстро оптимизировать PNG, но оставить возможность отката.
Параметр -out записывает результат в отдельный файл:
optipng -out optimized.png image.png
Здесь image.png остается исходником, а оптимизированный результат сохраняется как optimized.png. У этого параметра есть важное ограничение: в командной строке должен быть ровно один входной файл. Нельзя написать optipng -out optimized.png *.png, потому что программа не сможет сложить несколько разных PNG в один выходной файл.
Параметр -dir сохраняет выходные файлы в отдельную папку:
optipng -dir optimized image.png
или для группы файлов:
optipng -dir optimized *.png
Такой вариант удобен, когда нужно сохранить структуру работы чистой: исходники лежат в одной папке, оптимизированные файлы — в другой.
Параметр -preserve сохраняет атрибуты файла, где это возможно:
optipng -preserve image.png
Он полезен, когда важны временные метки, права доступа или другие свойства файла. Например, если изображения участвуют в процессе сборки, где дата изменения влияет на кэширование.
Пакетная обработка PNG
OptiPNG хорошо подходит для пакетной обработки. Можно передать несколько файлов одной командой:
optipng image1.png image2.png image3.png
Можно использовать маску:
optipng *.png
Можно сразу задать уровень оптимизации:
optipng -o5 *.png
Для папки с изображениями сайта команда может выглядеть так:
cd assets/imagesoptipng -o5 -strip all *.png
Эта команда обрабатывает все PNG в текущей папке, использует уровень оптимизации -o5 и удаляет метаданные через -strip all.
В Windows PowerShell удобно использовать Get-ChildItem:
Get-ChildItem *.png | ForEach-Object { optipng -o5 $_.FullName }
Для рекурсивной обработки подпапок:
Get-ChildItem -Recurse -Filter *.png | ForEach-Object { optipng -o5 $_.FullName }
В Linux и macOS можно использовать find:
find ./images -name "*.png" -exec optipng -o5 {} ;
Если нужно убрать метаданные:
find ./images -name "*.png" -exec optipng -o5 -strip all {} ;
Для больших проектов лучше сначала выполнить тест на отдельной папке:
mkdir test-optimizedcp images/*.png test-optimized/cd test-optimizedoptipng -o5 -strip all *.png
После проверки результата можно переносить команду в рабочий процесс.
Удаление метаданных через -strip all
PNG может содержать дополнительные данные: текстовые комментарии, сведения о программе, цветовые профили, временные метки и другие вспомогательные блоки. Они не всегда нужны для отображения изображения на сайте. Если задача — уменьшить размер PNG для веба, часто имеет смысл удалить лишние метаданные.
В OptiPNG для этого используется:
optipng -strip all image.png
Параметр -strip работает с объектами метаданных PNG. Поддерживаемый вариант — -strip all. При этом tRNS не считается обычными метаданными для удаления, потому что он отвечает за прозрачность как часть изображения. Это важно для логотипов, иконок и UI-графики с прозрачным фоном: удаление метаданных не должно превращать прозрачность в белый или черный фон.
Для сайта часто используют команду:
optipng -o5 -strip all image.png
Для группы файлов:
optipng -o5 -strip all *.png
Но -strip all не всегда нужно применять бездумно. Если PNG используется как исходник, где важны комментарии, сведения о цветовом профиле или другая служебная информация, лучше сохранить оригинал отдельно. Для публикации на сайте удаление метаданных обычно оправдано, а для архива исходников — не всегда.
Проверка и восстановление проблемных PNG через -fix
OptiPNG умеет не только сжимать PNG, но и выполнять проверку целостности. Если файл поврежден, программа может попытаться восстановить данные через параметр -fix:
optipng -fix broken.png
Этот режим не нужен для обычных корректных изображений. Он включается, когда PNG читается с ошибками, не открывается в некоторых просмотрщиках или вызывает проблемы при обработке. При -fix OptiPNG пытается восстановить как можно больше данных. Если для восстановления критически важной структуры потребуется увеличить файл, программа может пойти на это, потому что в этом режиме целостность важнее минимального размера.
Практический сценарий:
optipng -fix -backup broken.png
Такой запуск сначала создает резервную копию, а затем пытается исправить файл. Для поврежденных изображений это безопаснее, чем сразу перезаписывать единственный экземпляр.
При этом -fix не является магическим восстановителем любых PNG. Если повреждение слишком серьезное, программа не сможет вернуть недостающие данные. Но для частично проблемных файлов режим полезен: он позволяет быстро проверить PNG и попытаться привести его в рабочее состояние без отдельного графического редактора.
Конвертация BMP, GIF, PNM и TIFF в PNG
OptiPNG может принимать на вход не только PNG, но и внешние растровые форматы: BMP, GIF, PNM и TIFF. В этом случае программа создает оптимизированную PNG-версию файла.
Пример для BMP:
optipng image.bmp
На выходе создается файл:
image.png
Пример для GIF:
optipng banner.gif
Пример для TIFF:
optipng scan.tiff
Это не универсальный конвертер изображений уровня ImageMagick. OptiPNG не предназначен для сложной обработки многостраничных TIFF, цветовых преобразований, ресайза или изменения разрешения. Его задача — получить PNG и сразу применить оптимизацию. Для TIFF есть ограничение: поддерживаются несжатые PNG-совместимые изображения в оттенках серого, RGB и RGBA. Метаданные из внешних форматов в PNG не импортируются.
Для простого сценария есть BMP-иконка, нужно сделать компактный PNG, OptiPNG подходит хорошо:
optipng -o5 icon.bmp
Если нужно сохранить результат в отдельную папку:
optipng -o5 -dir png icon.bmp
Режим симуляции -simulate
Параметр -simulate выполняет пробные операции, но не создает выходные файлы:
optipng -simulate image.png
Это удобный режим для проверки. Он показывает, что OptiPNG собирается делать с файлом, но не перезаписывает оригинал. Такой запуск полезен перед массовой обработкой папки, особенно если команда включает несколько параметров:
optipng -simulate -o5 -strip all *.png
Симуляция помогает убедиться, что маска файлов выбрана правильно, команда запускается в нужной папке, программа видит изображения и не возникает ошибок чтения.
Для более подробного вывода можно добавить -verbose:
optipng -simulate -verbose image.png
Для тихого режима без лишних сообщений используется:
optipng -quiet image.png
или:
optipng -silent image.png
-quiet удобен в скриптах, где нужно снизить объем логов. -verbose, наоборот, нужен при разборе поведения программы, сравнении параметров и диагностике.
Этот скриншот дополнительно показывает консольный характер OptiPNG: программа выводит синтаксис, примеры команд и доступные режимы работы прямо в терминале. Для OptiPNG такие изображения важнее обычных скриншотов интерфейса, потому что именно командная строка является рабочей средой программы.
Настройка PNG-фильтров через -f
PNG использует фильтры строк перед сжатием. Эти фильтры помогают сделать данные более удобными для zlib-компрессии. В OptiPNG фильтры задаются параметром -f.
Пример:
optipng -f0-5 image.png
Значения фильтров:
| Значение | Фильтр PNG | Смысл |
|---|---|---|
0 |
None | без фильтрации |
1 |
Left | предсказание по левому пикселю |
2 |
Up | предсказание по пикселю сверху |
3 |
Average | среднее по левому и верхнему |
4 |
Paeth | Paeth-предсказатель |
5 |
Adaptive | адаптивная фильтрация через libpng |
Обычно пользователю не нужно вручную указывать -f: OptiPNG сам выбирает набор фильтров в зависимости от уровня -o. Но для продвинутой настройки можно ограничить или расширить поиск.
Например:
optipng -o5 -f0-5 image.png
или:
optipng -o5 -f0,3-5 image.png
Параметры можно записывать несколькими способами:
optipng -f0,3-5 image.pngoptipng -f 0,3-5 image.pngoptipng -f=0,3-5 image.png
Для обычной оптимизации сайта достаточно -o5. Ручной подбор -f имеет смысл, когда пользователь сравнивает результаты на специфических PNG: скриншотах, пиксельной графике, больших изображениях с плоскими цветами или файлах, где стандартные уровни не дают нужного результата.
Настройки zlib: -zc, -zm, -zs, -zw
OptiPNG позволяет управлять параметрами zlib-сжатия. Это уже продвинутый уровень, но именно эти параметры делают программу интересной для тех, кто хочет контролировать процесс глубже, чем просто выбрать -o5.
Параметр -zc задает уровни zlib compression:
optipng -zc6-9 image.png
Параметр -zm задает memory level:
optipng -zm8-9 image.png
Параметр -zs задает стратегии сжатия:
optipng -zs0-3 image.png
Параметр -zw задает размер zlib-окна:
optipng -zw32k image.png
Можно объединять настройки:
optipng -o5 -zc6-9 -zm8-9 -zs0-3 image.png
Но для большинства пользователей такой уровень детализации избыточен. OptiPNG уже содержит готовые уровни оптимизации, которые выбирают набор пробных комбинаций. Ручные zlib-параметры нужны тогда, когда есть конкретная причина: тестирование на наборе PNG, строгие требования к размеру, сравнение компрессоров, подготовка ассетов для проекта с большим числом повторяющихся изображений.
Важно понимать: больше параметров не всегда означает меньший файл. Иногда дополнительная проверка дает тот же результат, но занимает больше времени. Поэтому рациональный подход такой:
optipng -o2 image.pngoptipng -o5 image.pngoptipng -o7 image.png
Затем сравнить размер и время. Если разница между -o5 и -o7 минимальна, для пакетной обработки лучше оставить -o5.
Параметры, которые запрещают отдельные виды уменьшения
OptiPNG может выполнять lossless image reductions: уменьшать битовую глубину, тип цвета и палитру, если это не меняет изображение. Иногда такие операции нужно отключить. Для этого есть параметры -nb, -nc, -np, -nx.
-nb запрещает уменьшение битовой глубины:
optipng -nb image.png
-nc запрещает уменьшение типа цвета:
optipng -nc image.png
-np запрещает уменьшение палитры:
optipng -np image.png
-nx отключает все lossless image reductions сразу:
optipng -nx image.png
Такие параметры полезны, если PNG является техническим ассетом, где важно сохранить внутренние характеристики, а не только внешний вид. Например, файл используется в тестах, пайплайне сравнения изображений, графическом движке или другой системе, где важен не только визуальный результат, но и тип представления данных.
Есть еще параметр -nz:
optipng -nz image.png
Он запрещает пересоздание IDAT-потоков, но операции оптимизации, не требующие recoding, все равно выполняются. Это узкий режим для случаев, когда нужно минимально вмешиваться во внутреннее сжатие PNG.
Interlace и параметр -i
Параметр -i задает тип interlace:
optipng -i0 image.pngoptipng -i1 image.png
-i0 делает PNG non-interlaced, то есть без прогрессивной развертки.
-i1 включает Adam7 interlace. Такой PNG может отображаться постепенно: сначала грубая версия, затем детализация. Это было особенно полезно на медленных соединениях, но сегодня чаще важнее общий размер файла и скорость декодирования.
По умолчанию OptiPNG сохраняет тот же тип interlace, который был во входном PNG. Поэтому вручную задавать -i нужно только тогда, когда есть конкретное требование к способу отображения.
Для веб-иконок, логотипов и UI-графики чаще используют обычный non-interlaced PNG:
optipng -i0 -o5 image.png
Работа с многоизображениями, анимацией и -snip
Параметр -snip нужен для извлечения одного изображения из multi-image, animation или video files:
optipng -snip file.gif
В зависимости от входного формата OptiPNG выбирает первое или наиболее релевантное изображение, например самое крупное. Это не редактор анимации и не полноценный инструмент разборки GIF по кадрам. Но для случая, когда нужно получить один PNG из внешнего файла, параметр может быть полезен.
Если задача — обработка анимированного GIF как анимации, OptiPNG не является подходящим инструментом. Для этого нужны специализированные программы. OptiPNG в этом сценарии интересен именно как инструмент получения PNG-версии отдельного изображения.
Практическая инструкция: как сжать PNG для сайта
Для сайта обычно важны три вещи: сохранить внешний вид, уменьшить размер и не сломать прозрачность. OptiPNG подходит для такого сценария, если изображения уже подготовлены в правильном размере и формате.
Сначала сложите PNG в отдельную папку, например:
project/ assets/ png-source/ logo.png icon-search.png icon-user.png banner.png
Создайте папку для оптимизированных файлов:
mkdir png-optimized
Скопируйте туда исходники:
cp png-source/*.png png-optimized/
Перейдите в папку:
cd png-optimized
Запустите оптимизацию:
optipng -o5 -strip all *.png
После завершения проверьте размер:
ls -lh
В Windows PowerShell:
Get-ChildItem *.png | Select-Object Name, Length
Затем откройте оптимизированные изображения в просмотрщике или браузере. Нужно проверить:
-
сохранилась ли прозрачность;
-
не изменились ли цвета;
-
корректно ли выглядит логотип;
-
не пропали ли элементы интерфейса;
-
не появились ли артефакты;
-
совпадает ли разрешение.
Так как OptiPNG выполняет lossless-оптимизацию, визуальное содержимое должно остаться прежним. Но проверка нужна всегда, особенно если вместе с оптимизацией используется -strip all, а изображения участвуют в верстке, где важны прозрачность и цветовое поведение.
Для проекта на сайте можно использовать более аккуратный вариант с резервными копиями:
optipng -backup -o5 -strip all *.png
Если нужно не трогать исходную папку:
optipng -o5 -strip all -dir ../png-optimized ../png-source/*.png
Практическая инструкция: как оптимизировать один логотип
Логотипы часто бывают PNG с прозрачным фоном. Они могут содержать лишние метаданные, неудачные параметры сжатия или избыточную палитру. Для логотипа лучше не спешить и сравнить несколько режимов.
Создайте копии:
cp logo.png logo-o2.pngcp logo.png logo-o5.pngcp logo.png logo-o7.png
Запустите разные уровни:
optipng -o2 logo-o2.pngoptipng -o5 logo-o5.pngoptipng -o7 logo-o7.png
Сравните размер:
ls -lh logo*.png
Если нужна версия без метаданных:
cp logo.png logo-web.pngoptipng -o5 -strip all logo-web.png
После этого откройте logo.png и logo-web.png рядом. Визуально они должны совпадать. Если логотип используется на сайте, проверьте его на темном и светлом фоне, потому что ошибки прозрачности заметны именно там.
Для финального файла обычно достаточно:
optipng -o5 -strip all logo.png
Если выигрыш от -o7 заметен и файл важен, можно использовать:
optipng -o7 -strip all logo.png
Практическая инструкция: как обработать папку скриншотов
Скриншоты интерфейса часто хорошо подходят для PNG: в них много резких границ, текста, однотонных областей и повторяющихся элементов. OptiPNG может уменьшить такие файлы без потери четкости.
Для папки screenshots:
cd screenshotsoptipng -o5 *.png
Если скриншоты идут в статью или документацию, можно убрать метаданные:
optipng -o5 -strip all *.png
Если нужно сохранить исходники:
optipng -backup -o5 -strip all *.png
Для рекурсивной обработки документации:
find ./docs -name "*.png" -exec optipng -o5 -strip all {} ;
Скриншоты после OptiPNG остаются PNG-файлами, поэтому их можно сразу вставлять в Markdown:

или использовать на сайте:
<img src="/images/settings.png" alt="Настройки программы">
OptiPNG не меняет размеры скриншота. Если изображение слишком большое по ширине или высоте, сначала нужно уменьшить его в редакторе или через другой инструмент, а уже потом прогнать через OptiPNG. Это важное разграничение: OptiPNG оптимизирует PNG, но не является программой для ресайза.
Практическая инструкция: OptiPNG в скрипте сборки
OptiPNG удобно использовать в автоматической сборке проекта. Например, есть папка:
src/images/
и папка для готовых ассетов:
dist/images/
Простой shell-скрипт:
#!/bin/shmkdir -p dist/imagescp src/images/*.png dist/images/optipng -o5 -strip all dist/images/*.png
Такой сценарий подходит для статического сайта, документации, шаблона, темы CMS или небольшого frontend-проекта. Команда копирует PNG в выходную папку и оптимизирует уже копии, не трогая исходники.
Для npm-скрипта можно добавить команду в package.json:
{ "scripts": { "optimize:png": "optipng -o5 -strip all public/images/*.png" }}
После этого запуск:
npm run optimize:png
Для CI/CD лучше не перезаписывать исходники в репозитории, а оптимизировать файлы в выходной папке сборки. Это делает процесс повторяемым: исходные изображения остаются стабильными, а публикация получает уменьшенные PNG.
Что показывает вывод OptiPNG
При запуске OptiPNG выводит информацию о файле и результате обработки. В зависимости от версии и параметров в выводе могут отображаться:
-
имя входного файла;
-
формат и параметры изображения;
-
выбранные методы;
-
количество выполненных trials;
-
информация о
IDAT; -
исходный размер;
-
итоговый размер;
-
процент экономии;
-
сообщение о том, что файл уже оптимален;
-
предупреждения или ошибки.
Если программа пишет, что файл не был изменен, это не значит, что команда не сработала. Возможны разные причины:
-
PNG уже оптимизирован;
-
выбранный уровень не нашел лучшего результата;
-
файл содержит структуру, которую программа не стала перезаписывать без
-force; -
выходной файл оказался бы больше;
-
файл поврежден и нужен
-fix; -
команда запущена без прав записи в папку.
Для диагностики используйте:
optipng -verbose image.png
Для проверки без записи:
optipng -simulate -verbose image.png
Для вывода полной информации по IDAT:
optipng -full image.png
Параметр -full может замедлить обработку, поэтому его не используют в обычном пакетном сценарии. Он нужен для анализа.
Основные параметры OptiPNG
| Параметр | Назначение | Пример |
|---|---|---|
-?, -h, -help |
показать справку | optipng -h |
-version |
показать версию и сведения о сборке | optipng -version |
-v |
включить -verbose и -version |
optipng -v image.png |
-o level |
выбрать уровень оптимизации | optipng -o5 image.png |
-backup |
сохранить резервную копию измененного файла | optipng -backup image.png |
-keep |
синоним резервного копирования | optipng -keep image.png |
-out file |
записать результат в отдельный файл | optipng -out new.png old.png |
-dir directory |
записать результат в папку | optipng -dir out image.png |
-preserve |
сохранить атрибуты файла | optipng -preserve image.png |
-quiet, -silent |
тихий режим | optipng -quiet image.png |
-verbose |
подробный вывод | optipng -verbose image.png |
-simulate |
выполнить пробные операции без записи | optipng -simulate image.png |
-fix |
попытаться восстановить поврежденный файл | optipng -fix broken.png |
-force |
принудительно записать новый выходной файл | optipng -force image.png |
-strip all |
удалить метаданные PNG | optipng -strip all image.png |
-f filters |
задать PNG-фильтры | optipng -f0-5 image.png |
-zc levels |
задать уровни zlib-сжатия | optipng -zc6-9 image.png |
-zm levels |
задать zlib memory levels | optipng -zm8-9 image.png |
-zs strategies |
задать zlib strategies | optipng -zs0-3 image.png |
-zw size |
задать размер zlib window | optipng -zw32k image.png |
-i type |
задать interlace type | optipng -i0 image.png |
-nb |
не уменьшать bit depth | optipng -nb image.png |
-nc |
не уменьшать color type | optipng -nc image.png |
-np |
не уменьшать palette | optipng -np image.png |
-nx |
отключить все lossless reductions | optipng -nx image.png |
-nz |
не пересоздавать IDAT datastreams | optipng -nz image.png |
-- |
остановить разбор параметров | optipng -- -file.png |
Что OptiPNG делает особенно хорошо
OptiPNG хорош там, где нужна предсказуемая оптимизация PNG без потери качества. Он не пытается быть универсальным редактором и за счет этого остается точным инструментом для конкретной задачи.
Сильная сторона программы — работа с PNG на уровне формата. Она не просто сохраняет изображение заново, а выполняет несколько операций: проверяет изображение, пробует параметры сжатия, выбирает компактный вариант, оптимизирует IDAT, может убирать метаданные и сохранять файл без изменения визуального результата. Для пользователя это выражается в простой команде, но внутри программа выполняет достаточно тонкую работу.
Вторая сильная сторона — автоматизация. Командная строка легко встраивается в любые процессы: от локального .bat-файла до серверной сборки. Если на сайте сотни PNG-иконок, вручную перетаскивать их в GUI-программу неудобно. Команда optipng -o5 -strip all *.png решает задачу быстрее и повторяемо.
Третья сильная сторона — контроль. Пользователь может выбрать уровень -o, включить или отключить отдельные виды уменьшения, сохранить резервные копии, указать отдельный выходной файл, запустить симуляцию, включить подробный вывод. Это особенно важно для разработчиков и администраторов, которым нужно понимать, что именно происходит с файлами.
Четвертая сильная сторона — минимализм. OptiPNG не требует тяжелой установки, не навязывает интерфейс, не зависит от онлайн-сервиса и не отправляет изображения на внешний сервер. Файлы обрабатываются локально, что важно для закрытых проектов, внутренних интерфейсов, скриншотов админ-панелей и любых изображений, которые нельзя загружать в онлайн-компрессоры.
Ограничения OptiPNG
Главное ограничение OptiPNG — отсутствие графического интерфейса. Для опытного пользователя это плюс, но новичку придется разобраться с командной строкой, путями к файлам, кавычками в названиях и параметрами.
Второе ограничение — узкая специализация. OptiPNG не оптимизирует JPEG, WebP, AVIF, SVG, PDF и другие форматы. Если в проекте смешаны PNG, JPEG, SVG и WebP, одной OptiPNG будет мало. Для PNG она хороша, но для всего набора изображений может понадобиться связка инструментов.
Третье ограничение — отсутствие ресайза. Программа не уменьшает изображение с 3000×2000 до 1200×800. Если файл слишком большой по разрешению, OptiPNG не решит эту проблему. Сначала нужно изменить размер в редакторе, ImageMagick, графическом конвертере или другом инструменте, а затем оптимизировать PNG.
Четвертое ограничение — не всегда заметная экономия. Если файл уже прошел через хороший PNG-оптимизатор, OptiPNG может почти ничего не уменьшить. Это нормально. Программа не должна ухудшать изображение ради процента сжатия.
Пятое ограничение — не все внутренние преобразования реализованы полностью. У программы есть ограничения по некоторым lossless reductions, большим IDAT, TIFF, метаданным внешних форматов, потокам, extended file attributes и ACL. Для обычной оптимизации веб-графики это редко мешает, но для нестандартных производственных процессов такие детали важны.
Типичные ошибки при работе с OptiPNG
Частая ошибка — ожидать графическое окно. Пользователь запускает optipng.exe, видит черное окно, которое быстро закрывается, и считает, что программа не работает. На самом деле OptiPNG нужно запускать из командной строки, а не двойным щелчком как обычный редактор. Двойной щелчок по optipng.exe не дает нормального рабочего процесса.
Вторая ошибка — запуск команды не из той папки. Например, файл лежит в C:UsersUserPictures, а командная строка открыта в C:WindowsSystem32. Тогда команда:
optipng image.png
не найдет файл. Нужно либо перейти в нужную папку:
cd C:UsersUserPicturesoptipng image.png
либо указать полный путь:
optipng "C:UsersUserPicturesimage.png"
Третья ошибка — забывать кавычки в путях с пробелами:
optipng C:My Imageslogo.png
Правильно:
optipng "C:My Imageslogo.png"
Четвертая ошибка — запускать -strip all на единственном исходнике, где важны метаданные. Для веб-версии это часто нормально, но для архива исходников лучше использовать копию.
Пятая ошибка — использовать -force без понимания. Этот параметр принудительно записывает новый файл даже там, где программа обычно отказалась бы это делать, например если результат больше исходника. Для обычной оптимизации сайта -force почти никогда не нужен.
Шестая ошибка — ставить -o7 для огромной папки и ждать моментального результата. Максимальный уровень может работать заметно дольше. Для массовой обработки рациональнее начинать с -o2 или -o5.
Полезные команды для разных задач
Для простой оптимизации:
optipng image.png
Для хорошего баланса размера и скорости:
optipng -o5 image.png
Для максимальной оптимизации одного важного PNG:
optipng -o7 image.png
Для веб-графики с удалением метаданных:
optipng -o5 -strip all image.png
Для всех PNG в папке:
optipng -o5 -strip all *.png
Для сохранения резервной копии:
optipng -backup -o5 image.png
Для отдельного выходного файла:
optipng -out image-optimized.png image.png
Для отдельной папки вывода:
optipng -dir optimized *.png
Для проверки без записи:
optipng -simulate -o5 image.png
Для подробного вывода:
optipng -verbose -o5 image.png
Для восстановления проблемного файла:
optipng -fix -backup broken.png
Для отключения lossless reductions:
optipng -nx image.png
Для сохранения атрибутов файла:
optipng -preserve image.png
Пример рабочего процесса для веб-разработчика
Веб-разработчик получает от дизайнера папку с PNG-иконками:
icons/ menu.png close.png search.png user.png cart.png
Сначала он делает копию:
cp -r icons icons-optimized
Переходит в копию:
cd icons-optimized
Запускает OptiPNG:
optipng -o5 -strip all *.png
Проверяет результат:
ls -lh
Затем открывает страницу сайта локально и смотрит, не изменились ли иконки. Если все нормально, оптимизированная папка идет в проект. Такой процесс легко повторить для нового набора иконок.
Если проект использует Git, лучше оптимизировать изображения до коммита, чтобы в репозиторий не попадали лишние килобайты. OptiPNG можно добавить в pre-commit hook, но только если команда работает достаточно быстро и не мешает разработке. Для больших папок лучше запускать оптимизацию отдельной командой перед релизом.
Пример рабочего процесса для автора статей и документации
Автор делает скриншоты интерфейса программы для обзора. Скриншоты сохраняются в PNG, потому что текст и элементы интерфейса должны оставаться четкими. Перед публикацией он запускает:
optipng -o5 screenshots/*.png
Если скриншоты не содержат важной служебной информации:
optipng -o5 -strip all screenshots/*.png
После этого файлы вставляются в Markdown:

Такой подход уменьшает вес статьи, ускоряет загрузку страницы и сохраняет четкость интерфейса. OptiPNG особенно хорошо вписывается в этот сценарий, потому что PNG-скриншоты часто остаются визуально идентичными, но становятся компактнее.
Пример рабочего процесса для администратора сайта
Администратор сайта может периодически оптимизировать папку с загруженными PNG, но здесь нужна осторожность. Нельзя без проверки запускать команду по всей медиатеке, если там могут быть пользовательские файлы, оригиналы, изображения с важными метаданными или автоматически генерируемые миниатюры.
Правильнее сделать тестовую копию:
rsync -a uploads/ uploads-test/find uploads-test -name "*.png" -exec optipng -o5 -strip all {} ;
После этого сравнить размер папок:
du -sh uploads uploads-test
И визуально проверить типовые изображения. Только после теста можно переносить процесс в рабочую среду.
Для регулярной обработки новых файлов можно использовать отдельную папку входящих изображений. Например:
find incoming-png -name "*.png" -exec optipng -o5 -strip all {} ;
После обработки файлы переносятся в основную директорию сайта.
Сравнение с аналогами
OptiPNG стоит сравнивать не с графическими редакторами, а с конкретными программами для оптимизации изображений и PNG-компрессии. У него своя ниша: локальная консольная lossless-оптимизация PNG с хорошим контролем параметров.
OptiPNG и pngcrush
pngcrush — один из ближайших аналогов OptiPNG. Это тоже консольный оптимизатор PNG. Его основная задача — уменьшать размер IDAT-потока, пробуя разные уровни сжатия и методы PNG-фильтрации. Также pngcrush умеет работать с ancillary chunks: удалять или добавлять отдельные служебные блоки, включая gAMA, tRNS, iCCP и текстовые chunks.
OptiPNG в повседневной работе проще. Команда:
optipng -o5 image.png
понятна и коротка. У pngcrush часто нужно точнее задавать входной и выходной файл:
pngcrush in.png out.png
или использовать более сложные параметры. Для пользователя, которому нужно быстро уменьшить PNG без ручного управления chunks, OptiPNG выглядит удобнее. Для специалиста, который хочет точечно работать с внутренними блоками PNG, pngcrush может быть гибче.
OptiPNG и pngquant
pngquant решает другую задачу. Это не строгий аналог OptiPNG, а инструмент для lossy PNG compression. Он уменьшает размер файла за счет преобразования изображения в более компактный 8-битный PNG с альфа-каналом. За счет этого pngquant может давать очень сильное уменьшение размера, но подход отличается: это уже не тот же lossless-сценарий, который предлагает OptiPNG.
Если нужно сохранить изображение без потери качества, выбирают OptiPNG:
optipng -o5 image.png
Если допустимо слегка изменить изображение ради сильного уменьшения веса, используют pngquant:
pngquant --quality=65-80 image.png
В веб-практике эти инструменты иногда комбинируют: сначала pngquant уменьшает цветовую палитру, затем lossless-оптимизатор дополнительно упаковывает результат. Но для обзора OptiPNG важно разделять эти подходы: OptiPNG не предназначен для агрессивной потери качества, а pngquant как раз строится вокруг такого компромисса.
OptiPNG и Oxipng
Oxipng — современный PNG/APNG-оптимизатор, написанный на Rust. Он работает через командную строку, поддерживает многопоточность и позиционируется как быстрый lossless PNG/APNG compression optimizer. Типичная команда для веб-графики выглядит так:
oxipng -o 4 --strip safe --alpha *.png
Oxipng интересен там, где важна скорость на многоядерных системах и обработка больших наборов PNG. OptiPNG, в свою очередь, остается классическим и понятным инструментом с хорошо известными параметрами -o, -strip all, -backup, -out, -dir.
Для пользователя, который уже использует OptiPNG в скриптах, переход на Oxipng не всегда обязателен. Если же нужно быстро обрабатывать тысячи PNG и задействовать многопоточность, Oxipng стоит рассмотреть как альтернативу.
OptiPNG и ImageOptim
ImageOptim — популярная macOS-программа с графическим интерфейсом. Она объединяет несколько оптимизаторов и позволяет просто перетащить изображения в окно приложения. По умолчанию ImageOptim аккуратно сохраняет качество, но при включении lossy-режимов может применять более агрессивные методы для JPEG, SVG, анимированных GIF и PNG.
OptiPNG удобнее для командной строки и автоматизации. ImageOptim удобнее для ручной работы на Mac. Если дизайнеру нужно быстро перетащить несколько файлов мышью, ImageOptim проще. Если разработчику нужно встроить сжатие PNG в сборку, OptiPNG подходит лучше.
Разница хорошо видна по интерфейсу:
| Задача | OptiPNG | ImageOptim |
|---|---|---|
| Оптимизация PNG без GUI | да | нет, основной сценарий через окно |
| Drag-and-drop | нет как основной интерфейс | да |
| Автоматизация в скриптах | удобно | не основной сценарий |
| Поддержка нескольких форматов | ограниченно | шире |
| Точная настройка PNG-параметров | сильная сторона | скрыта за интерфейсом |
| Подходит для macOS-пользователя без терминала | хуже | лучше |
OptiPNG и FileOptimizer
FileOptimizer — Windows-программа для lossless-оптимизации большого количества форматов. Она интересна тем, что пользователь может оптимизировать не только PNG, но и JPEG, GIF, SVG, PDF, архивы, офисные документы и другие типы файлов.
OptiPNG значительно уже: он работает именно с PNG и несколькими входными растровыми форматами для преобразования в PNG. Но за счет узкой специализации его проще встроить в командный процесс. FileOptimizer удобен, когда нужно перетащить разные файлы в одну программу и получить уменьшенный размер. OptiPNG удобен, когда в проекте есть конкретная задача: оптимизировать PNG-папку командой.
Для Windows-пользователя выбор зависит от сценария:
-
нужен GUI и много форматов — FileOptimizer;
-
нужна командная строка и точный контроль PNG — OptiPNG;
-
нужно быстро обработать PNG в скрипте — OptiPNG;
-
нужно оптимизировать разнородную папку документов и изображений — FileOptimizer.
OptiPNG и Trimage
Trimage — графический и командный оптимизатор изображений для сайтов. Он использует optipng, pngcrush, advpng и jpegoptim в зависимости от типа файла; поддерживает PNG и JPG, выполняет lossless-компрессию и удаляет EXIF/metadata.
Trimage удобен на Linux, когда нужен простой GUI для оптимизации изображений. Но внутри для PNG он опирается на такие инструменты, как OptiPNG. Поэтому OptiPNG можно рассматривать как один из базовых компонентов, а Trimage — как более удобную оболочку для пользователей, которым не хочется вручную писать команды.
Если нужен контроль над параметрами -o, -strip, -backup, -out, лучше запускать OptiPNG напрямую. Если нужен простой графический интерфейс для нескольких изображений, Trimage может быть удобнее.
OptiPNG и TinyPNG
TinyPNG — онлайн-сервис для уменьшения PNG и JPEG. Его плюс — простота: пользователь открывает сайт, загружает файл и скачивает результат. Но это онлайн-инструмент, а значит файлы отправляются на внешний сервер. Для публичных иконок это может быть нормально, для внутренних скриншотов, закрытых интерфейсов и клиентских материалов — не всегда.
OptiPNG работает локально. Это важное отличие. Файл не покидает компьютер или сервер. Кроме того, OptiPNG можно запускать в скриптах, без браузера и ручной загрузки. TinyPNG удобнее для разовой ручной обработки, OptiPNG — для контролируемой локальной оптимизации.
Сравнительная таблица
| Программа | Интерфейс | Основной подход | Форматы | Где удобнее |
|---|---|---|---|---|
| OptiPNG | командная строка | lossless PNG optimization | PNG, входные BMP/GIF/PNM/TIFF в PNG | скрипты, сайты, разработка |
| pngcrush | командная строка | lossless PNG optimization и работа с chunks | PNG | тонкая работа с PNG-структурой |
| pngquant | командная строка | lossy PNG compression через палитру | PNG | сильное уменьшение размера при допустимых изменениях |
| Oxipng | командная строка | многопоточная lossless PNG/APNG optimization | PNG/APNG | быстрая пакетная обработка |
| ImageOptim | GUI macOS | объединение оптимизаторов | JPEG, PNG, GIF, SVG и др. | ручная работа на Mac |
| FileOptimizer | GUI Windows | lossless-оптимизация разных файлов | много форматов | универсальная оптимизация на Windows |
| Trimage | GUI и CLI | оболочка для нескольких оптимизаторов | PNG, JPG | Linux-пользователи, сайты |
| TinyPNG | онлайн | агрессивное уменьшение через сервис | PNG, JPEG, WebP | быстрая ручная онлайн-обработка |
Кому подойдет OptiPNG
OptiPNG подойдет веб-разработчикам, которым нужно регулярно уменьшать PNG для сайта. Особенно если в проекте много иконок, скриншотов, небольших UI-элементов и прозрачной графики.
Программа подойдет администраторам сайтов, которые хотят локально оптимизировать PNG без загрузки файлов в онлайн-сервисы. Это важно для приватных изображений, внутренних систем, клиентских проектов и корпоративных материалов.
OptiPNG подойдет авторам документации и технических статей. PNG-скриншоты после оптимизации остаются четкими, а страницы с изображениями загружаются быстрее.
Программа подойдет разработчикам, которые хотят встроить PNG optimization в сборку. Команда легко добавляется в shell-скрипт, npm script, Makefile или CI/CD.
OptiPNG подойдет тем, кто понимает ценность командной строки. Если пользователь не боится параметров и путей к файлам, программа быстро становится удобной.
Кому OptiPNG не подойдет
OptiPNG не подойдет пользователям, которым нужен редактор изображений. В программе нельзя обрезать картинку, заменить фон, добавить текст, изменить яркость, наложить фильтр или нарисовать стрелку.
OptiPNG не подойдет тем, кто хочет визуальный интерфейс с предпросмотром. Здесь нет окна до/после, ползунка качества, миниатюр и панели экспорта.
OptiPNG не подойдет для JPEG-оптимизации. Для JPEG нужны jpegoptim, mozjpeg, ImageOptim, FileOptimizer или другие инструменты.
OptiPNG не подойдет для конвертации в WebP или AVIF. Это другая задача, которую решают cwebp, avifenc, Squoosh, ImageMagick и специализированные конвертеры.
OptiPNG не подойдет для сильного уменьшения PNG ценой небольшой потери качества. Для такого сценария лучше смотреть в сторону pngquant или онлайн-сервисов с lossy-компрессией.
Практические рекомендации по выбору параметров
Для большинства случаев начните с:
optipng -o5 image.png
Для сайта:
optipng -o5 -strip all image.png
Для папки сайта:
optipng -o5 -strip all *.png
Для первого теста:
optipng -simulate -o5 image.png
Для безопасной обработки:
optipng -backup -o5 image.png
Для максимально осторожной обработки без удаления метаданных:
optipng -o2 image.png
Для технических PNG, где нельзя менять внутреннее представление:
optipng -nx image.png
Для отдельного результата без изменения исходника:
optipng -out optimized.png image.png
Для массовой обработки лучше не начинать с -o7. Сначала стоит проверить -o2 и -o5, сравнить размер и время. Если -o7 дает заметный выигрыш на конкретном наборе файлов, его можно применять точечно.
Итоговая оценка OptiPNG
OptiPNG — это сильный, компактный и точный инструмент для оптимизации PNG без потери качества. Он не пытается заменить графический редактор и не предлагает красивый интерфейс, но отлично выполняет свою основную задачу: уменьшает PNG-файлы, проверяет их структуру, подбирает параметры сжатия, умеет удалять метаданные и хорошо встраивается в автоматизированные процессы.
Главный плюс программы — надежность в узкой задаче. Команда:
optipng -o5 -strip all *.png
закрывает типичный сценарий подготовки PNG для сайта. Команда:
optipng -backup -o5 image.png
позволяет работать безопасно. Команда:
optipng -simulate -verbose image.png
помогает проверить поведение без перезаписи файла.
OptiPNG особенно хорош для веб-разработчиков, технических авторов, администраторов сайтов и всех, кто хочет локально оптимизировать PNG через командную строку. Его слабые стороны очевидны: нет GUI, нет редактирования, нет JPEG/WebP/AVIF, нет ресайза. Но эти ограничения не мешают программе быть полезной именно в своей нише.
Если нужен универсальный графический оптимизатор, лучше выбрать ImageOptim, FileOptimizer или Trimage. Если нужно сильное уменьшение размера PNG с допустимой потерей точности, стоит рассмотреть pngquant. Если нужна быстрая многопоточная обработка PNG/APNG, интересен Oxipng. Но если задача формулируется как уменьшить PNG без потери качества, локально, предсказуемо и через командную строку, OptiPNG остается одним из самых практичных вариантов.