TweakPNG — специализированная настольная утилита Jason Summers для просмотра и ручного изменения внутренней структуры файлов PNG. Она работает не как обычный фоторедактор: пользователь видит последовательность чанков, их размер, CRC, свойства и расшифрованное содержимое там, где программа знает формат данных. Такой подход нужен при разборе метаданных, текстовых блоков, палитры, прозрачности, цветовых параметров, физических размеров пикселя, служебных APNG-чанков и структуры тестовых файлов. Последний опубликованный бинарный релиз TweakPNG 1.4.6 датирован 7 сентября 2014 года и остаётся текущей готовой загрузкой; исходный код доступен отдельно и помечен как версия 1.4.6+. Поэтому TweakPNG остаётся доступным инструментом, но оценивать его нужно как узкую техническую утилиту с давно не обновлявшимся готовым релизом, а не как современный универсальный редактор изображений.
Скачать TweakPNG бесплатно
Рекомендуемый аналог
ФотоМАСТЕР
Фоторедактор для Windows и macOS с русским интерфейсом
- Ретушь портретов и точная коррекция фото
- Понятный интерфейс на русском языке
- Подходит новичкам, легко освоить
- Обработка отдельных снимков и серий фотографий
TweakPNG
Программа для работы с изображениями и графикой на русском языке
- Меньше инструментов для точной локальной коррекции
- Часть расширенных функций доступна только платно
- Набор инструментов зависит от версии и платформы
- Может не подойти для сложного профессионального монтажа
Основные параметры TweakPNG
| Параметр | Подтверждённое состояние |
|---|---|
| Разработчик | Jason Summers |
| Назначение | Просмотр и ручное изменение структуры и части метаданных PNG на уровне чанков |
| Тип продукта | Настольная низкоуровневая утилита, не фоторедактор |
| Актуальный публичный релиз | 1.4.6 от 7 сентября 2014 года |
| Платформа | Windows; пакет содержит x86- и x64-исполняемые файлы |
| Распространение | ZIP-архив без отдельного установщика |
| Лицензия | Свободное ПО по GNU GPL версии 3; исходный код доступен |
| Основной формат | PNG; также присутствует ограниченная работа с MNG/JNG и чанками APNG |
| Интерфейс | Англоязычный интерфейс Windows |
| Регистрация и подписка | Не требуются |
| Облачная обработка | В штатном рабочем процессе отсутствует; файлы обрабатываются локально |
| Пакетная обработка | Отдельного встроенного пакетного режима нет |
| ИИ-функции | Отсутствуют |
| Мобильная и веб-версия | Не предусмотрены |
Что представляет собой TweakPNG и чем он отличается от обычного PNG-редактора
PNG хранит изображение как последовательность структурных блоков. После восьмибайтовой сигнатуры идут чанки, каждый из которых содержит длину данных, четырёхсимвольный тип, сами данные и CRC. TweakPNG показывает эту структуру напрямую. В результате пользователь работает не с кистями, слоями, кривыми или кадрированием, а с IHDR, PLTE, IDAT, tEXt, iTXt, gAMA, pHYs, tRNS и другими блоками. Такой уровень представления полезен при разработке программ, проверке нестандартных PNG, исследовании метаданных и создании тестовых изображений.
Разработчик прямо определяет TweakPNG как низкоуровневую утилиту и отдельно предупреждает, что программа не является полноценным редактором изображения или просмотрщиком. Встроенное окно просмотра только показывает текущее состояние файла. Оно помогает увидеть визуальное следствие изменений, но не превращает TweakPNG в графический редактор: изменение поля в IHDR не пересчитывает пиксели, не выполняет интерлейсинг и не конвертирует цветовую модель изображения.
Название также не следует смешивать с программами оптимизации PNG. TweakPNG действительно умеет удалять ненужные чанки и объединять несколько IDAT, из-за чего файл иногда становится немного меньше. Однако объединение IDAT экономит только служебные 12 байт на каждый устранённый чанк и не запускает перебор фильтров или повторное сжатие пиксельного потока. Для реальной оптимизации размера предназначены другие инструменты, например pngcrush.
Разработчик, версия и текущий статус
TweakPNG написал Jason Summers. Проект существует с 1999 года; линейка опубликованных версий прослеживается от 1.0.0 до 1.4.6. Последний ZIP-бинарник имеет номер 1.4.6 и дату 2014-09-07. В него вошли функция Copy Image для копирования картинки из встроенного просмотрщика в буфер обмена и возможность отключать коррекцию непрямоугольных пикселей в просмотрщике.
Исходный код не полностью заморожен на состоянии 2014 года. В марте 2023 года в репозитории обновлялись даты и служебная информация, файл для разработчиков помечен как 1.4.6+, а в дереве проекта есть конфигурация для Visual Studio 2022. Это не равно выпуску новой пользовательской версии: готовая загрузка в 2026 году по-прежнему имеет номер 1.4.6. Программа доступна и её исходники опубликованы, но нового бинарного релиза после 2014 года нет.
Такой возраст имеет практическое следствие. Текущая заявленная граница совместимости — Windows XP и выше, тогда как старое описание релиза 1.4.6 ещё перечисляет Windows 2000, XP, Vista и 7. Отдельной современной таблицы совместимости с конкретными сборками Windows 10 или Windows 11 нет. Поэтому корректно говорить о заявленной поддержке Windows XP и более новых версий без отдельной сертификации конкретных современных сборок.
Платформы, установка и удаление
TweakPNG является Windows-приложением. Архив содержит две сборки: x86tweakpng.exe и x64tweakpng.exe. Для 32-битной Windows предназначена x86-версия; в 64-битной Windows запускаются обе, при этом x64 рекомендуется как основная сборка. Нативных сборок для macOS, Linux, Android или iOS в проекте нет, веб-приложение также отсутствует.
Отдельная инсталляция не требуется. Архив распаковывается в выбранную папку, после чего запускается соответствующий EXE-файл. Такая схема не использует мастер установки, обязательную учётную запись, лицензирующий клиент или сетевую активацию. Для удаления достаточно стереть папку программы. После включения интеграции с Проводником Windows в профиле пользователя может сохраниться раздел реестра HKEY_CURRENT_USERSOFTWAREGenericTweakPNG; его можно удалить отдельно вместе с настройками приложения.
В настройках есть пункт Add TweakPNG to Explorer context menu. Он добавляет команду TweakPNG в контекстное меню файлов с расширениями .png, .mng и .jng. Двойной щелчок при этом не переназначается: файл продолжает открываться приложением, назначенным в Windows по умолчанию. Это важно для тех, кто хочет держать TweakPNG как диагностический инструмент, не заменяя обычный просмотрщик изображений.
Интерфейс: что находится в главном окне

Главное окно построено вокруг таблицы. В каждой строке находится один чанк текущего файла. Для него выводятся пять полей: Chunk, Length, CRC, Attributes и Contents. Chunk — четырёхсимвольный код типа; Length — размер только области данных; CRC — контрольное значение чанка; Attributes — свойства, закодированные регистром букв в имени типа; Contents — краткая интерпретация содержимого, если TweakPNG знает внутренний формат этого чанка.
Колонки можно растягивать и полностью скрывать, перетаскивая разделители заголовков. В нижней строке состояния отображается размер PNG-файла. Основной список поддерживает выбор нескольких элементов, что требуется для перемещения, удаления, копирования или объединения группы IDAT.
Меню File
File содержит New, Open, Reopen, Save, Save As, Close, Check Validity, File Signature и Exit. Наличие Reopen полезно при технических экспериментах: текущий файл можно перечитать с диска без полного закрытия программы. Save и Save As сохраняют структуру, а перед записью автоматически запускается встроенная проверка валидности. File Signature позволяет выбрать подпись PNG, MNG или JNG для записываемого файла, но смена сигнатуры сама по себе не конвертирует содержимое между форматами.
Меню Edit
В Edit сосредоточены операции над выбранными блоками: Edit Chunk, Delete, Move Up, Move Down, Cut, Copy, Paste, Combine Selected IDAT, Combine All IDAT, Split IDAT, Import Chunk, Export Chunk и Import ICC Profile. Редактирование чанка открывается также двойным щелчком или клавишей Enter. Буфер обмена системный, поэтому один или несколько блоков можно копировать между двумя открытыми файлами через обычные команды Copy и Paste.

Меню Insert
Insert создаёт поддерживаемые блоки с начальными значениями. В меню доступны acTL, bKGD, cHRM, fcTL, gAMA, IEND, IHDR, oFFs, pHYs, PLTE, sBIT, sCAL, sRGB, sTER, текстовые tEXt/zTXt/iTXt, tIME, tRNS и vpAg. После вставки блок не всегда оказывается в допустимом месте, поэтому структура иногда требует ручного перемещения и последующего Check Validity.
Options, Tools и отдельный просмотрщик
Options содержит Preferences и Configure Tools. В Preferences настраивается уровень сжатия новых zTXt-блоков и интеграция с контекстным меню Проводника. Configure Tools связывает TweakPNG с внешними просмотрщиками и фильтрами. Меню Tools рассчитано на шесть настраиваемых позиций.
Встроенный Show Image Viewer открывает отдельное окно. В нём есть Copy Image, Gamma Correction, несколько способов работы с фоном и альфа-каналом, настройка фонового цвета окна, Correct for Nonsquare Pixels и уровни масштабирования Fit, 12.5%, 25%, 50%, 100%, 200% и 400%. Просмотрщик не является цветоуправляемой заменой профессионального редактора: при отображении он учитывает gAMA и sRGB, но не применяет cHRM и iCCP.
Палитра и прозрачность

Для палитровых PNG отдельный редактор Palette используется при изменении PLTE, а также связанных с палитрой bKGD и tRNS. Поле Colors in palette задаёт число цветов. Уменьшение палитры требует осторожности: удаление используемых индексами элементов делает файл структурно несогласованным с пиксельными данными. TweakPNG не перестраивает изображение автоматически, поэтому такая операция относится к низкоуровневому редактированию, а не к безопасному сокращению палитры.
Режим Edit alpha позволяет менять прозрачность отдельных палитровых цветов. Значение 0 означает полную прозрачность, 255 — полную непрозрачность. Для работы альфа-значений нужен tRNS. Отдельный режим Set bkgd назначает палитровый элемент фоновым цветом через bKGD. Для некоторых grayscale-файлов программа создаёт визуально похожую серую шкалу, чтобы выбрать фоновое или прозрачное значение, хотя настоящей PLTE в таком изображении нет.
Этот механизм хорошо показывает философию TweakPNG. В индексированном PNG пиксели ссылаются на номера элементов палитры. Изменение самого элемента PLTE меняет вид всех пикселей, которые на него ссылаются, без рисования по изображению. Именно поэтому утилита полезна при изучении устройства формата, но требует понимания зависимости между структурными блоками.
Какие данные показывает TweakPNG
Колонка Attributes опирается на правила именования PNG-чанков. Регистр букв в четырёхсимвольном типе кодирует свойства блока, в том числе критический или вспомогательный характер и допустимость безопасного копирования неизвестного блока после изменений. Пользователь видит эти свойства без ручного разбора битов имени. Это особенно полезно при анализе частных или редких расширений: даже при отсутствии специализированного редактора остаются тип, длина, CRC, позиция и базовые атрибуты.
Contents расшифровывает данные только для известных типов. Для IHDR она показывает параметры заголовка изображения; для pHYs — физическую плотность или соотношение сторон пикселя; для tIME — время; для текстовых блоков — текст и служебные поля; для PLTE и tRNS — параметры палитры и прозрачности. У некоторых типов поддерживается лишь часть данных. Например, для iCCP TweakPNG показывает блок и позволяет редактировать имя профиля, но не превращает ICC-профиль в полноценный набор редактируемых цветовых параметров.
Поддержка PNG-чанков
Поддержка неодинакова: одни блоки можно просматривать, редактировать и создавать, другие доступны лишь частично, а IDAT намеренно не редактируется как распакованный пиксельный поток. Ниже приведены наиболее важные группы, которые отражают реальное назначение программы.
| Группа | Что делает TweakPNG | Практический смысл |
|---|---|---|
| IHDR | Просмотр, редактирование, создание | Изменение заголовочных полей без автоматической переработки пикселей |
| PLTE, bKGD, tRNS | Просмотр, редактирование, создание | Работа с индексированной палитрой, фоном и прозрачностью |
| gAMA, cHRM, sRGB, sBIT | Просмотр, редактирование, создание | Изменение части цветовых и точностных параметров |
| tEXt, zTXt, iTXt | Просмотр, редактирование, создание | Работа с обычным, сжатым и международным текстом |
| pHYs, tIME | Просмотр, редактирование, создание | Физический размер пикселя и время изменения |
| iCCP | Просмотр, редактирование имени; отдельный импорт ICC-профиля | Встраивание профиля из .icc и ограниченное редактирование |
| IDAT | Нет содержимого для ручного редактирования; доступны объединение и разбиение блоков | Структурная работа с контейнером сжатых данных без редактирования пикселей |
| acTL, fcTL | Просмотр, редактирование, создание | Работа с управляющими блоками APNG |
| fdAT | Показывается и редактируется номер последовательности | Частичная работа с APNG-данными кадра |
| MHDR, JHDR | Просмотр без полноценного редактора | Ограниченная работа с MNG/JNG |
Текстовые блоки
TweakPNG поддерживает tEXt, zTXt и iTXt. Диалог содержит Keyword, флаг Compressed, International text, Language tag и Translated keyword. Это позволяет добавлять обычный текст, сжатый текст и международный Unicode-текст. Публичный бинарный пакет начиная с версии 1.3.0 собирался как Unicode-приложение, поэтому iTXt относится к штатно поддерживаемым возможностям релиза 1.4.6.
Для анализа современных PNG это полезно, потому что служебные программы и генераторы иногда сохраняют пояснения, параметры обработки или другие строки именно в текстовых чанках. TweakPNG не распознаёт предметный смысл таких строк и не имеет специального анализатора данных генеративных моделей: оно показывает стандартный текстовый блок как часть PNG. При отсутствии текста в tEXt, zTXt или iTXt программа не извлекает информацию из пикселей и не восстанавливает удалённые метаданные.
ICC-профили
Команда Import ICC Profile читает внешний .icc-файл и создаёт iCCP. Обычный редактор iCCP ограничен: можно увидеть блок и изменить имя профиля, но не редактировать весь профиль через поля TweakPNG. При визуальной проверке нужно учитывать ещё одно ограничение: встроенный просмотрщик не применяет iCCP и cHRM для цветокоррекции, хотя учитывает gAMA и sRGB. Поэтому совпадение цвета во встроенном окне не является достаточной проверкой файла с ICC-профилем.
APNG
В TweakPNG есть поддержка управляющих APNG-блоков acTL и fcTL: они доступны для просмотра, изменения и создания. Для fdAT программа работает с номером последовательности, но не предоставляет полноценного редактора содержимого кадра. Это техническая поддержка структуры APNG, а не монтаж анимации. В интерфейсе нет временной шкалы, списка кадров с длительностями как в анимационном редакторе или отдельного рендера последовательности кадров.
MNG и JNG
Поддержка MNG в TweakPNG неофициальная и ограниченная. Программа не интерпретирует содержимое большинства MNG-специфических блоков и не даёт полноценно их редактировать; такие элементы можно перемещать или удалять. В MNG также ненадёжно сопоставление нескольких PLTE, bKGD и tRNS, а Check Validity иногда объявляет допустимые для MNG блоки ошибочными. Для JNG присутствует работа на уровне сигнатуры и отдельных заголовочных структур, но TweakPNG не является полноценным JNG-редактором.
Основные функции
Просмотр структуры в порядке хранения
Главная ценность TweakPNG — сохранение реального порядка блоков. В обычных программах метаданные показываются как абстрактный список полей, тогда как здесь видно, где конкретный чанк расположен относительно IHDR, PLTE, IDAT и IEND. Это позволяет заметить дубли, необычные расширения, несколько IDAT, частные блоки и некорректное расположение данных.
Редактирование и создание поддерживаемых блоков
Поддерживаемый чанк открывается отдельным диалогом с полями, соответствующими его структуре. Новые блоки вставляются через Insert. TweakPNG не гарантирует правильную позицию для каждого вновь созданного блока, поэтому после добавления требуется проверить порядок. Такая модель даёт высокий контроль, но сознательно переносит ответственность за корректность на пользователя.
Удаление и перестановка
Delete удаляет выбранные чанки, Move Up и Move Down меняют их положение. Несколько блоков можно перемещать как группу. Для IDAT действует важное ограничение: при наличии нескольких IDAT их порядок нельзя произвольно переставлять, потому что они образуют один последовательный поток сжатых данных. Нарушение последовательности делает изображение нечитаемым.
Копирование чанков между файлами
Cut, Copy и Paste используют системный буфер обмена и поддерживают множественный выбор. Поэтому, например, текстовый блок или набор вспомогательных блоков можно перенести из одного PNG в другой без ручного сохранения каждого на диск. После вставки по-прежнему требуется учитывать правила расположения и совместимость данных с целевым изображением.
Объединение и разбиение IDAT
Combine All IDAT и Combine Selected IDAT объединяют последовательные блоки данных изображения. Это не меняет распакованное содержимое и не улучшает алгоритм Deflate. Экономия размера равна служебным накладным расходам удалённых блоков — 12 байтам на каждый устранённый IDAT. Split IDAT выполняет обратную операцию и позволяет задать размер первой части, а режим Repeat делит поток на несколько блоков выбранного размера.
Эта возможность нужна скорее для тестирования декодеров и исследования контейнера. Для обычной подготовки картинок к сайту выигрыш от объединения IDAT обычно слишком мал по сравнению с реальной повторной оптимизацией PNG.
Импорт и экспорт отдельного чанка
Import Chunk вставляет данные из внешнего файла специального формата. Первые четыре символа такого файла должны быть идентификатором чанка, а оставшаяся часть — его данные. Длина и CRC в экспортируемый контейнер не включаются. Export Chunk создаёт файл того же вида из выбранного блока и работает с одним чанком за операцию. Благодаря этому допускается перенос даже частных незарегистрированных блоков, хотя для подготовки их данных иногда нужен отдельный бинарный редактор.
Проверка валидности
Check Validity анализирует общую структуру и главным образом ищет неверный порядок и отсутствие обязательных блоков. Проверка автоматически выполняется перед сохранением; при найденной проблеме TweakPNG просит подтвердить запись. Это защитная мера, но не полноценный валидатор. Документация прямо ограничивает её возможности: проверка не гарантирует корректность файла и не анализирует всю внутреннюю валидность данных каждого чанка.
Внешние просмотрщики и фильтры
Configure Tools позволяет связать текущий документ с внешней программой. Для viewer TweakPNG записывает текущий документ во временный файл и передаёт его выбранному приложению. Для filter используются параметры %1 и %2: первый заменяется именем входного временного файла, второй — выходного. После выполнения фильтра TweakPNG читает полученный PNG обратно и удаляет временные файлы. Такой механизм расширяет программу без встроенного пакетного движка.
Воспроизводимый рабочий сценарий
Типичный безопасный сценарий — исследовать метаданные копии PNG и удалить только заведомо ненужный текстовый блок, не касаясь пиксельных данных. Работа начинается с File → Open и выбора копии исходного файла. После открытия главный список показывает IHDR, вспомогательные блоки, один или несколько IDAT и IEND в фактическом порядке.
- Сначала просматривают строки tEXt, zTXt и iTXt. Двойной щелчок открывает поддерживаемый текстовый блок и показывает его тип и содержимое.
- Перед изменением полезно запомнить размер файла и убедиться, что встроенный Show Image Viewer отображает изображение. Это не доказывает полную корректность, но даёт исходную визуальную точку сравнения.
- Ненужный текстовый чанк выбирают и удаляют через Delete. Цветовые блоки gAMA, sRGB, cHRM, iCCP и физический pHYs не следует удалять автоматически только ради уменьшения размера: они имеют самостоятельное назначение.
- File → Check Validity проверяет порядок и наличие обязательных блоков. После этого результат сохраняют через Save As в новый файл, чтобы исходник остался нетронутым.
- Новый PNG повторно открывают в TweakPNG, проверяют, что нужный текст исчез, а структура содержит обязательные IHDR, IDAT и IEND. Для более строгой диагностики CRC и сжатого потока используют специализированный валидатор вроде pngcheck.
Этот пример показывает подход TweakPNG без превращения обзора в инструкцию. Программа не предлагает команду «очистить все метаданные». Она показывает конкретные блоки, а решение об удалении принимает пользователь. Такой контроль полезен при точечной работе, но менее удобен для сотен изображений и требует понимания назначения каждого типа.
Импорт, сохранение и форматы
Основной рабочий объект — PNG. На уровне оболочки программа также учитывает расширения MNG и JNG, умеет записывать соответствующую сигнатуру и содержит ограниченную поддержку отдельных MNG/JNG-структур. Это не означает полноценной конвертации между форматами: смена File Signature меняет подпись, но не преобразует остальные чанки и кодированный контент в другой стандарт.
APNG находится внутри PNG-контейнера, поэтому TweakPNG работает с его acTL, fcTL и частично fdAT. Отдельного расширения или отдельного типа проекта для APNG не требуется. Встроенный импорт ICC использует .icc. Импорт и экспорт Chunk работает с собственным простым бинарным представлением «4 байта типа плюс данные» и предназначен для структурных блоков, а не для экспорта картинки в JPEG, WebP, TIFF или другие растровые форматы.
Сохранение выполняется как PNG-подобный поток с текущим набором и порядком блоков. У TweakPNG нет концепции проекта, слоёв или истории обработки, которую можно открыть позже. Редактируемым исходником фактически остаётся сам файл и его резервная копия.
Чего в TweakPNG нет
Ограничения здесь важнее, чем в типичном фоторедакторе, потому что название иногда создаёт ожидание инструмента для «улучшения PNG». TweakPNG не содержит кадрирования, ресайза, рисования, коррекции экспозиции, удаления шума, ретуши, работы со слоями или преобразования RAW. Оно не редактирует IDAT как изображение и не перекодирует пиксели после изменения заголовочных полей.
В программе нет собственного пакетного интерфейса для списка файлов, очереди задач или массового применения одного набора операций к папке. Настраиваемые Filters работают с текущим документом. Для массовой обработки разумнее использовать ExifTool, pngcrush или ImageMagick в зависимости от задачи.
Также отсутствуют облачный кабинет, синхронизация, командная работа, мобильное приложение и функции на основе машинного обучения. Официальный рабочий процесс построен вокруг локального EXE-файла и локальных изображений. Для самой программы не нужны регистрация, подписка или сетевой аккаунт.
Системные требования и зависимость от интернета
Текущее заявленное системное требование — Windows XP и выше. Архив включает 32- и 64-битные исполняемые файлы. Для сборки варианта с просмотрщиком нужны libpng и zlib, а для сжатого текста используется zlib; готовый пользовательский архив не требует отдельно устанавливать эти библиотеки.
Интернет для обычного открытия, редактирования и сохранения локального PNG не является частью документированного процесса. TweakPNG не загружает изображение на сервер для обработки. При использовании Configure Tools ситуация зависит от выбранной внешней программы: TweakPNG передаёт ей временный файл, а дальнейшая обработка определяется уже этим сторонним приложением.
Приватность и работа с временными файлами
С точки зрения приватности TweakPNG отличается от онлайн-редакторов тем, что штатно работает с файлами на компьютере. Для пользователей, которые разбирают изображения с внутренними метаданными, это существенное свойство: содержимое не требуется отправлять в браузерный сервис или облако.
Но локальность не отменяет других рисков. Текстовые и частные ancillary-чанки способны содержать данные, не заметные в обычном просмотрщике. Удаление одного tEXt не означает автоматическую очистку всех служебных сведений. TweakPNG специально даёт низкоуровневый доступ, поэтому проверять нужно весь список блоков и понимать назначение каждого удаляемого элемента.
Ещё один нюанс связан с внешними Tools. Для запуска viewer текущий документ записывается во временный файл, который повторно используется. Для filter создаются временные входной и выходной файлы, после чего они удаляются. При работе с конфиденциальными изображениями следует учитывать не только поведение TweakPNG, но и политику выбранного внешнего приложения и расположение системной временной папки.
Стоимость, редакции и лицензирование
TweakPNG распространяется бесплатно как свободное ПО по GNU General Public License версии 3. Условия GPL разрешают распространение и изменение программы при соблюдении требований лицензии. Исходный C++-код включён в пакет и опубликован отдельно.
Коммерческих тарифов, подписки, ограниченной бесплатной редакции и пробного периода нет. x86 и x64 — не разные уровни продукта, а сборки под разные архитектуры Windows. Функции не разблокируются оплатой, лицензирующим ключом или регистрацией.
Плюсы и минусы
Плюсы ✔️
- Показывает PNG как реальную последовательность чанков с типом, длиной, CRC, атрибутами и расшифрованным содержимым известных блоков.
- Позволяет просматривать, редактировать и создавать многие стандартные PNG-чанки, включая текст, палитру, прозрачность, gamma, pHYs и служебные APNG-блоки.
- Поддерживает структурные операции: удаление, перестановку, копирование между файлами, импорт и экспорт отдельного чанка, объединение и разбиение IDAT.
- Имеет встроенный просмотрщик, проверку структуры перед сохранением и подключение внешних viewer/filter-программ.
- Работает локально, не требует учётной записи, подписки или облачной загрузки.
- Поставляется как небольшой ZIP с x86 и x64 EXE, а исходный код доступен по GPL.
Минусы ❌
- Официальный готовый релиз 1.4.6 не обновлялся с 2014 года, хотя исходный репозиторий позднее получал служебные изменения.
- Программа предназначена только для Windows и не имеет нативных мобильных, macOS, Linux или веб-версий.
- Нужны знания внутреннего устройства PNG; неправильное изменение IHDR, палитры или порядка блоков способно сделать файл нечитаемым.
- Это не фоторедактор и не полноценный оптимизатор: пиксельная обработка и повторное эффективное сжатие IDAT отсутствуют.
- Встроенная Check Validity проверяет лишь часть структурных условий и не гарантирует полную корректность данных.
- Поддержка MNG/JNG ограничена, а отдельные PNG-чанки доступны только для просмотра или частичного редактирования.
- Встроенный просмотрщик не учитывает cHRM и iCCP при цветокоррекции, поэтому не подходит для строгого контроля ICC-управляемого цвета.
- Нет штатной пакетной обработки папки или очереди файлов.
Кому подойдёт
- Разработчикам декодеров и конвертеров PNG, которым нужно видеть точную последовательность структурных блоков и создавать тестовые варианты файлов.
- Специалистам по цифровой обработке изображений, которым требуется вручную изучить текст, палитру, прозрачность, цветовые и физические метаданные.
- Пользователям, разбирающим нестандартный PNG и желающим удалить, переставить или перенести отдельный известный чанк без полной перекодировки картинки.
- Тем, кому нужен локальный GUI для обучения устройству PNG вместо просмотра всех байтов только в шестнадцатеричном редакторе.
- Техническим пользователям Windows, которые готовы хранить исходную копию и проверять результат внешним валидатором после низкоуровневых изменений.
Кому не подойдёт
- Фотографам, которым нужны экспозиция, цветокоррекция, ретушь, шумоподавление, резкость, RAW и каталогизация.
- Дизайнерам, ожидающим слои, маски, кисти, текстовые объекты и монтаж нескольких изображений.
- Тем, кто хочет просто уменьшить размер PNG: специализированный оптимизатор выполняет эту задачу лучше и автоматизируемее.
- Пользователям macOS, Linux, Android и iOS, которым требуется нативная программа без совместимого Windows-окружения.
- Тем, кому нужно массово обработать сотни файлов одинаковым правилом: у TweakPNG нет встроенной пакетной очереди.
- Новичкам, которые не знают разницы между IHDR, IDAT, PLTE, tRNS и ancillary-блоками и не готовы изучать спецификацию перед изменением структуры.
Альтернативы TweakPNG
| Альтернатива | В чём отличается | Когда рациональнее выбрать |
|---|---|---|
| pngcheck | Командная утилита для проверки целостности PNG/JNG/MNG, CRC, распаковки данных и вывода подробной информации о чанках; не ориентирована на интерактивное редактирование структуры | Когда главная задача — диагностировать повреждение или строго проверить файл после изменений |
| ExifTool | Кроссплатформенная командная система для чтения и записи метаданных множества форматов, а не GUI-редактор порядка PNG-чанков | Когда нужно массово читать, изменять или удалять метаданные в папках и работать не только с PNG |
| pngcrush | Командный PNG-оптимизатор, который перебирает параметры фильтрации и Deflate, умеет удалять вспомогательные блоки и добавлять некоторые метаданные | Когда цель — уменьшить размер PNG и автоматизировать обработку, а не вручную изучать каждый блок |
| ImageMagick | Набор командных инструментов для конвертации, изменения размеров, цветовых преобразований и просмотра свойств множества графических форматов | Когда нужно менять само изображение, строить скрипты обработки или конвертировать форматы |
Из этих вариантов pngcheck ближе всего к TweakPNG по диагностике структуры, но сильнее именно в проверке, а не в редактировании. ExifTool удобнее для массовых метаданных. pngcrush нужен для реальной оптимизации PNG. ImageMagick решает задачи пиксельной обработки и конвертации, которыми TweakPNG принципиально не занимается.
Частые проблемы и диагностика
После изменения IHDR изображение перестало открываться
Редактирование IHDR меняет описание изображения, но не конвертирует закодированный поток IDAT. Например, смена флага interlace не выполняет реальное интерлейсирование. Аналогично нельзя произвольно изменить разрядность или цветовой тип и ожидать, что пиксельные данные автоматически перестроятся. Для восстановления нужно вернуть исходные поля из резервной копии или заново сформировать PNG инструментом, который действительно перекодирует изображение.
Check Validity не показывает ошибку, но другой декодер ругается
Встроенная проверка не является исчерпывающей. Она в основном отслеживает общий порядок и наличие обязательных структур, не проверяя всю семантику содержимого. Для проверки CRC и распаковки IDAT подходит pngcheck. Смысл внешней проверки особенно велик после ручного импорта частного блока или изменения полей, для которых TweakPNG не выполняет глубокую валидацию.
После перестановки IDAT файл повреждён
Несколько IDAT образуют единый последовательный поток. Их разрешено объединять или делить без изменения порядка, но нельзя переставлять местами. После такой ошибки правильный путь — восстановить исходный порядок из копии, а не пытаться подобрать расположение наугад.
Изменение палитры дало неожиданные цвета
Пиксели индексированного PNG хранят номера элементов PLTE. Одна запись палитры способна использоваться большим числом пикселей. Поэтому изменение одного цвета может изменить крупную область изображения. Уменьшение количества элементов ещё опаснее: при наличии пикселей, ссылающихся на удалённые индексы, файл становится недопустимым. Перед правкой палитры нужна копия и последующая визуальная и структурная проверка.
ICC-профиль встроен, но встроенный viewer показывает другой цвет
Просмотрщик TweakPNG применяет собственную коррекцию на основе gAMA и sRGB, но не использует cHRM и iCCP. Поэтому его картинку нельзя принимать за эталон для профилированного цвета. Файл с ICC-профилем следует дополнительно открывать в приложении с полноценным управлением цветом.
Нужный чанк виден, но Edit Chunk недоступен
Это штатное ограничение. Таблица возможностей различает просмотр, изменение и создание. IDAT не редактируется как содержимое, hIST и dSIG не имеют встроенного редактора, sPLT показывается только частично, а fdAT ограничен номером последовательности. Для неизвестного или частного блока остаются экспорт, внешний бинарный редактор и обратный импорт, но такой способ требует знания точного формата данных.
Import Chunk создаёт некорректный блок
Файл импорта должен начинаться ровно с четырёхсимвольного типа, после которого идут только данные чанка. Поля Length и CRC добавлять не нужно. Ошибка в структуре импортируемых данных не исправляется автоматически. После вставки необходимо проверить положение блока, затем выполнить Check Validity и внешнюю проверку при высокой цене ошибки.
После Combine All IDAT размер почти не изменился
Команда не является алгоритмом повторного сжатия. Она удаляет границы между несколькими IDAT и экономит 12 служебных байт на каждый исчезнувший блок. При двух или трёх IDAT разница минимальна. Для заметного сокращения размера нужен оптимизатор, который переписывает Deflate-поток и подбирает фильтрацию.
TweakPNG считает MNG подозрительным
Поддержка MNG ограничена. Программа не понимает все MNG-специфические блоки и иногда помечает допустимую структуру как ошибочную. В MNG ненадёжно и сопоставление нескольких палитр с bKGD и tRNS. Для MNG встроенная проверка TweakPNG не должна быть единственным основанием для вывода о повреждении.
После удаления программы осталось контекстное меню
Само приложение удаляется стиранием распакованной папки. При ранее включённой интеграции с Проводником остаётся пользовательская настройка реестра. Документация указывает раздел HKEY_CURRENT_USERSOFTWAREGenericTweakPNG. Его удаление относится именно к очистке настроек приложения, а не к обязательному этапу обычного запуска.
Как проверить результат после редактирования
Для низкоуровневого редактора проверка важнее самой операции. Первый уровень — сохранить результат под новым именем и повторно открыть его в TweakPNG. Структура должна содержать обязательные блоки в допустимом порядке, а нужные изменения должны быть видны в списке. Второй уровень — встроенный Show Image Viewer, который помогает заметить грубое визуальное повреждение, неправильную палитру или прозрачность.
Третий уровень — независимый декодер и специализированный валидатор. pngcheck способен проверять CRC, распаковывать данные и выводить структуру в человекочитаемом виде, поэтому хорошо дополняет ограниченный Check Validity. Для файлов с ICC-профилями нужен отдельный просмотр в цветоуправляемом приложении. Для APNG полезен независимый просмотрщик анимации, поскольку TweakPNG редактирует управляющие чанки, но не является полноценным анимационным редактором.
При любых изменениях IHDR, PLTE, tRNS, bKGD или порядка блоков исходный PNG нужно сохранять отдельно. TweakPNG допускает действия, которые формально записываются на диск, но логически противоречат пиксельным данным. Это не дефект интерфейса, а прямое следствие низкоуровневой модели программы.
FAQ
Куда вставляется чанк после Paste?
Paste не заменяет выделенные строки. Скопированные блоки вставляются непосредственно перед первым выбранным чанком. Если перенос выполняется между двумя PNG, после вставки всё равно нужно проверить допустимость позиции и связи данных с новым файлом.
Можно ли удалить IDAT нулевой длины?
Да. PNG допускает IDAT с нулевой длиной данных, а TweakPNG позволяет удалить такой блок. Удаление не должно менять декодированный пиксельный поток, но порядок остальных IDAT сохраняют без перестановки.
Можно ли сделать несколько одинаковых по размеру IDAT?
Да. В Split IDAT задаётся размер первой части. Параметр Repeat повторяет деление столько раз, сколько позволяет объём исходного потока, поэтому один крупный IDAT можно разрезать на последовательность блоков заданного размера.
Обязательно ли указывать внешнюю программу в Configure Tools?
Нет. Для viewer поле Program можно оставить пустым: тогда временный PNG открывается приложением Windows, назначенным для этого типа файлов. Если указан исполняемый файл, TweakPNG запускает именно его и передаёт путь к временному документу.
Чем viewer отличается от filter в Configure Tools?
Viewer получает текущий PNG для просмотра или другой обработки без возврата изменённого файла в TweakPNG. Filter определяется параметрами %1 и %2: TweakPNG создаёт входной и выходной временные файлы, запускает внешнюю программу, затем загружает её результат обратно в текущий документ.
Можно ли задать прозрачность не для всей палитры?
Да. tRNS для индексированного PNG может содержать меньше альфа-значений, чем PLTE содержит цветов. Элементы палитры без отдельного альфа-значения считаются полностью непрозрачными. Значения 255 в конце tRNS избыточны, поскольку непрозрачность и так является значением по умолчанию.
Что означает частичная поддержка sPLT и pCAL?
Для sPLT и pCAL TweakPNG показывает только имя соответствующей структуры. Полноценного встроенного редактора остальных полей для этих типов нет. Поэтому присутствие строки в списке чанков не означает, что весь её бинарный формат доступен через форму редактирования.
Работают ли Combine и Split с MNG-данными?
Функции объединения и разбиения IDAT также применяются к JDAT. Это одно из немногих специальных действий, распространяющихся на ограниченную MNG/JNG-часть программы. Общая поддержка MNG при этом остаётся неполной, а встроенная проверка может неверно оценивать допустимые MNG-чанки.
Можно ли использовать TweakPNG без встроенного просмотрщика?
Исходный код предусматривает сборки без viewer: вариант только с поддержкой сжатия требует zlib, а минимальная конфигурация обходится без libpng и zlib. Готовый пользовательский архив распространяется с обычной сборкой, где Show Image Viewer доступен.
Что происходит с временными файлами внешнего filter?
Перед запуском filter TweakPNG записывает входной временный файл и ожидает выходной файл от внешней программы. После чтения результата оба временных файла удаляются. Для viewer используется один временный файл, который повторно применяется при последующих запусках.
Итог по сценариям использования
Для разработчика, исследующего устройство PNG, TweakPNG остаётся редким сочетанием графического интерфейса и прямого доступа к структуре файла. Оно показывает порядок чанков, CRC и свойства, позволяет вручную менять поддерживаемые блоки и быстро смотреть визуальное следствие правок. В этом сценарии возраст интерфейса менее важен, чем прозрачность операций.
Для точечного удаления текста, переноса палитры, анализа прозрачности или подготовки тестового PNG программа также полезна, но только при работе с копией и последующей независимой проверке. Check Validity снижает риск грубой ошибки, однако не заменяет pngcheck и не гарантирует корректность каждого блока.
Для фотографической обработки, массовой оптимизации, конвертации форматов и мобильной работы TweakPNG выбирать не следует. Здесь сильнее специализированные инструменты: ImageMagick для обработки и преобразований, ExifTool для массовых метаданных, pngcrush для оптимизации, pngcheck для строгой диагностики.
Главное ограничение TweakPNG одновременно является его основной особенностью: программа почти не скрывает внутреннюю механику PNG и не пытается защитить пользователя от всех технически допустимых, но логически опасных правок. Поэтому она ценна как инженерный редактор структуры, а не как универсальный инструмент для обычной фотографии.







