В обычной программе для просмотра картинок пользователь видит только готовое изображение. В TweakPNG он видит, из чего это изображение состоит внутри: IHDR, PLTE, IDAT, IEND, tEXt, zTXt, iTXt, pHYs, gAMA, cHRM, bKGD, tRNS, iCCP и другие PNG chunks. Такой подход делает программу особенно полезной для разработчиков, тестировщиков, специалистов по цифровой сохранности, авторов графических утилит, исследователей PNG-файлов и тех, кто хочет не просто открыть картинку, а понять, какие данные в ней записаны.
Выбор редакции
Скачать TweakPNG бесплатно
ФотоМАСТЕР
- Простой интерфейс
- Ретушь и замена фона
- Фильтры и автокоррекция
- Быстрая обработка фото
TweakPNG
- Сложнее простых редакторов
- Может быть избыточна для быстрых правок
- Нужно время на освоение
- Не все функции нужны новичку
TweakPNG работает на уровне структуры файла. Она позволяет удалить лишние chunks, добавить текстовую информацию, изменить параметры прозрачности, посмотреть контрольные суммы CRC, проверить порядок блоков, импортировать ICC-профиль, объединить или разделить IDAT chunks, настроить внешний viewer или filter, а также открыть встроенный просмотрщик текущего состояния изображения. При этом программа требует аккуратности: если удалить обязательный chunk или неправильно переставить блоки, PNG может стать нечитаемым.
Краткая сводка
| Параметр | Описание |
|---|---|
| Название | TweakPNG |
| Тип программы | низкоуровневый редактор PNG-файлов |
| Основное назначение | просмотр и изменение PNG metadata, PNG chunks и служебных параметров изображения |
| Платформа | Windows |
| Интерфейс | классическое оконное приложение с меню и таблицей chunks |
| Основной объект работы | структура PNG-файла, а не визуальная ретушь изображения |
| Поддерживаемые семейства форматов | PNG, частично MNG и JNG |
| Основные элементы интерфейса | меню File, Edit, Insert, Options, Tools, Help; таблица Chunk / Length / CRC / Attributes / Contents |
| Ключевые функции | просмотр chunks, редактирование метаданных, работа с палитрой, прозрачностью, текстовыми chunks, ICC-профилями, проверка структуры файла |
| Для кого подходит | разработчики, тестировщики, специалисты по PNG, технические пользователи |
| Для кого не подходит | пользователи, которым нужен обычный редактор изображений, пакетная оптимизация или ретушь фото |
Главная особенность TweakPNG — прямой доступ к тому, что обычно остается за кадром. Программа не маскирует PNG под набор простых настроек вроде качество, размер или сжатие. Вместо этого она показывает файл почти так, как его видит программа-декодер: последовательность chunks с длиной, CRC, атрибутами и расшифровкой содержимого.

На скриншоте видно типичное главное окно TweakPNG: сверху расположено меню, ниже — таблица PNG chunks. В строках отображаются IHDR, cHRM, gAMA, PLTE, tRNS, bKGD, pHYs, tIME, IDAT. Для каждого блока показаны тип, длина, CRC, атрибуты и краткое описание содержимого. Такой интерфейс сразу показывает, что программа ориентирована не на визуальное редактирование картинки, а на работу с внутренними данными PNG.
Для чего нужна TweakPNG
TweakPNG используют тогда, когда нужно работать не с пикселями напрямую, а с тем, как PNG-файл устроен и какие служебные данные в нем записаны. В обычном редакторе изображений пользователь меняет яркость, контраст, размер, резкость или цветовой баланс. В TweakPNG он меняет метаинформацию и структуру файла.
Основные задачи, которые можно выполнить в программе:
-
посмотреть полный список chunks внутри PNG;
-
определить, какие служебные блоки присутствуют в файле;
-
удалить ненужные или нежелательные chunks;
-
добавить текстовую информацию в
tEXt,zTXtилиiTXt; -
изменить параметры палитры
PLTE; -
изменить прозрачность палитрового изображения через
tRNS; -
настроить background color через
bKGD; -
посмотреть или изменить
gAMA,cHRM,sRGB; -
проверить физический размер пикселя через
pHYs; -
посмотреть время последнего изменения через
tIME; -
импортировать ICC-профиль в
iCCP; -
экспортировать отдельный chunk во внешний файл;
-
импортировать chunk из внешнего файла;
-
проверить структуру PNG через функцию проверки валидности;
-
объединить несколько
IDATchunks; -
разделить
IDATchunk; -
создать тестовые PNG-файлы для приложений, которые читают изображения.
TweakPNG особенно полезна в ситуациях, когда картинка внешне выглядит нормально, но внутри содержит лишние или подозрительные данные. Например, файл может иметь текстовые комментарии, нестандартный профиль цвета, физическое разрешение, устаревшие chunks, лишние блоки после обработки в другой программе или необычную палитру. Обычный просмотрщик этого не покажет. TweakPNG показывает.
Еще один важный сценарий — подготовка тестовых файлов. Разработчику, который пишет PNG decoder, image viewer, оптимизатор или валидатор, часто нужны необычные изображения: с нестандартным порядком chunks, с несколькими IDAT, с палитрой и прозрачностью, с текстовыми блоками, с разными значениями gamma, с физическим размером пикселя, с ICC profile. Создавать такие файлы в обычном графическом редакторе неудобно. В TweakPNG это делается напрямую.
Чем TweakPNG отличается от обычного редактора изображений
TweakPNG не конкурирует с Photoshop, GIMP, Paint.NET или Affinity Photo. У нее другая область применения. Обычный графический редактор работает с визуальным содержимым: меняет пиксели, слои, маски, выделения, кисти, фильтры, резкость, цвет, размер холста. TweakPNG работает с контейнерной структурой PNG.
Это принципиальная разница. PNG-файл состоит не только из изображения. Внутри него есть сигнатура файла, заголовок, данные изображения, палитра, прозрачность, гамма, цветовые координаты, текстовые поля, физические размеры, профиль цвета, время изменения и другие служебные блоки. Каждый такой блок называется chunk. TweakPNG показывает эти chunks в виде таблицы и позволяет работать с ними вручную.
Например, если открыть PNG в обычном редакторе и изменить размер изображения, программа пересчитает пиксели. Если открыть PNG в TweakPNG и изменить pHYs, пиксели не изменятся. Изменится только физическая интерпретация размера: сколько пикселей приходится на метр, а значит, как изображение может восприниматься при печати или импорте в программы, учитывающие физическое разрешение.
То же самое с IHDR. Этот chunk содержит базовые параметры PNG: ширину, высоту, глубину цвета, тип цвета, метод сжатия, метод фильтрации и interlace method. TweakPNG может открыть редактор IHDR, но изменение этих полей не выполняет настоящую конвертацию изображения. Если просто поставить признак interlaced, файл не станет корректно интерлейсным. Он лишь начнет заявлять, что он interlaced. Это важное ограничение: TweakPNG дает доступ к данным, но не превращает ошибочную правку в корректное перекодирование.
Поэтому TweakPNG стоит воспринимать как технический редактор PNG metadata и PNG chunks. Это инструмент для точечной работы, диагностики, ручной правки и экспериментов, а не универсальная программа для картинок.
Интерфейс программы
Интерфейс TweakPNG построен вокруг одной главной таблицы. В ней каждая строка соответствует одному chunk в текущем файле. Порядок строк соответствует порядку chunks внутри PNG. Это удобно: пользователь сразу видит не только наличие блоков, но и их расположение относительно друг друга.
Главные элементы окна:
-
строка меню;
-
таблица chunks;
-
горизонтальная и вертикальная прокрутка;
-
строка состояния с размером PNG-файла;
-
вспомогательные окна редакторов chunks;
-
встроенный image viewer, который открывается отдельно через меню Tools.
Главное меню
В верхней части окна находятся разделы:
| Меню | Назначение |
| File | открытие, сохранение, проверка структуры, работа с сигнатурой файла |
| Edit | редактирование, удаление, копирование, вставка, перемещение chunks, операции с IDAT |
| Insert | создание новых chunks |
| Options | настройки программы и внешних инструментов |
| Tools | встроенный viewer и подключенные пользовательские tools |
| Help | справочная информация о программе |
Главное окно выглядит старомодно, но в случае TweakPNG это скорее плюс. Интерфейс не перегружен визуальными эффектами, вкладками и панелями. Вся логика программы сосредоточена на таблице chunks и контекстных действиях над выбранной строкой.
Колонки таблицы
В таблице используются пять основных колонок.
| Колонка | Что показывает |
| Chunk | четырехбуквенный код PNG chunk, например IHDR, IDAT, IEND, pHYs |
| Length | размер данных внутри chunk в байтах |
| CRC | контрольная сумма chunk |
| Attributes | свойства chunk, определяемые регистром букв в его имени |
| Contents | краткая расшифровка содержимого |
Колонка Chunk помогает быстро понять тип блока. Например, IHDR — заголовок изображения, IDAT — данные изображения, IEND — конец PNG, PLTE — палитра, tEXt — текстовая информация, pHYs — физический размер пикселя.
Колонка Length показывает длину data portion. Важно понимать, что сам chunk в файле занимает больше места, чем указано в этой колонке: кроме данных, у него есть поля длины, типа и CRC. Поэтому удаление мелкого chunk экономит не только его data length, но и служебные байты самого блока.
Колонка CRC нужна для проверки целостности. CRC показывает контрольную сумму конкретного chunk. Для технического анализа это полезно: можно быстро увидеть, что chunk имеет рассчитанную контрольную сумму, а при сохранении программа должна пересобрать структуру корректно.
Колонка Attributes показывает свойства chunk. В PNG регистр букв в названии chunk имеет смысл: он кодирует, является ли блок критическим или вспомогательным, публичным или private, безопасным для копирования или небезопасным. TweakPNG выводит это в более понятном виде: например, critical, ancillary, safe to copy, unsafe to copy.
Колонка Contents делает программу значительно удобнее, чем обычный hex editor. Вместо набора байтов пользователь видит расшифровку: ширина и высота изображения, bit depth, тип цвета, gamma, chromaticities, количество цветов в палитре, pixel size, время изменения, имя ICC profile или текстовое содержимое.
Изменение вида таблицы
Колонки можно расширять и сужать перетаскиванием разделителей в заголовке таблицы. Если колонка не нужна, ее можно фактически скрыть, сдвинув границу. Это удобно при работе с файлами, где особенно важна колонка Contents: ее можно сделать шире и читать подробные расшифровки без постоянной горизонтальной прокрутки.
При анализе больших файлов с множеством IDAT chunks полезно оставить хорошо видимыми Chunk, Length, Attributes и Contents. При проверке конкретных изменений можно дополнительно смотреть CRC.
Поддерживаемые форматы и ограничения
Основной формат для TweakPNG — PNG. Программа сделана именно для низкоуровневой работы с Portable Network Graphics. Она понимает стандартные PNG chunks, умеет показывать многие из них в человекочитаемом виде и позволяет редактировать часть служебных блоков.
Кроме PNG, TweakPNG частично работает с MNG и JNG. Это форматы из семейства PNG, но они устроены сложнее и применяются гораздо реже. В MNG есть поддержка многоизображений и анимации, а JNG связан с JPEG-подобными данными внутри PNG-семейства. В TweakPNG работа с ними ограничена: программа может показать структуру, перемещать или удалять некоторые блоки, но не является полноценным редактором MNG/JNG.
Что программа делает хорошо
TweakPNG уверенно справляется с такими задачами:
-
чтение структуры PNG;
-
отображение стандартных chunks;
-
редактирование многих вспомогательных блоков;
-
создание некоторых chunks через меню Insert;
-
проверка базовой структуры файла;
-
работа с палитрой и прозрачностью;
-
работа с текстовыми chunks;
-
импорт ICC profile;
-
подключение внешних инструментов.
Где есть ограничения
TweakPNG не является:
-
полноценным PNG validator;
-
редактором пикселей;
-
массовым оптимизатором PNG;
-
конвертером форматов;
-
редактором APNG-анимаций;
-
современным пакетным инструментом обработки изображений;
-
заменой hex editor для произвольного бинарного анализа.
Программа может показать и частично обработать некоторые нестандартные или расширенные chunks, но ее сильная сторона — не универсальность, а точечная работа с PNG metadata и PNG chunk structure.
Работа с PNG chunks
PNG устроен как последовательность chunks. Каждый chunk имеет тип, длину, данные и CRC. TweakPNG показывает эту структуру напрямую, поэтому работа в программе строится вокруг выбора конкретной строки и выполнения действия над ней.
Просмотр chunks
Чтобы посмотреть структуру PNG, достаточно открыть файл в TweakPNG. После этого в главном окне появится список blocks. Типичный PNG может содержать:
| Chunk | Назначение |
IHDR | заголовок изображения |
PLTE | палитра для indexed-color PNG |
IDAT | сжатые данные изображения |
IEND | завершение PNG-файла |
gAMA | информация о gamma |
cHRM | chromaticities |
sRGB | указание пространства sRGB |
iCCP | встроенный ICC profile |
pHYs | физический размер пикселя |
tIME | время последнего изменения изображения |
tEXt | текстовый chunk |
zTXt | сжатый текстовый chunk |
iTXt | international text chunk |
bKGD | preferred background color |
tRNS | прозрачность |
sBIT | significant bits |
sTER | stereo image indicator |
acTL, fcTL, fdAT | chunks, связанные с APNG |
Не каждый PNG содержит все эти блоки. Минимальный PNG обычно включает IHDR, один или несколько IDAT и IEND. Все остальное зависит от способа создания изображения, редактора, экспортера, профиля цвета, палитры, прозрачности и дополнительных метаданных.
Редактирование chunks
Чтобы открыть редактор chunk, используется один из двух способов:
-
Двойной клик по строке chunk.
-
Выбор строки и нажатие Enter.
После этого TweakPNG открывает соответствующее окно редактирования, если данный тип chunk поддерживается. Для разных chunks интерфейс отличается. Например, для палитры открывается palette editor, для текстовых chunks — редактор текстовых значений, для pHYs — поля физического размера, для gAMA — числовое значение gamma.
Не все chunks можно редактировать. Некоторые блоки доступны только для просмотра, некоторые — только частично. Это нормальное поведение для программы такого класса: она не притворяется универсальным редактором всего подряд, а дает контролируемый доступ к тем элементам PNG, с которыми умеет работать корректно.
Создание новых chunks через Insert
Меню Insert используется для добавления новых chunks. Новые блоки создаются с начальными значениями, после чего их можно отредактировать. Это удобно, когда в PNG нужно добавить отсутствующую информацию: например, tEXt, zTXt, iTXt, bKGD, pHYs, tIME, gAMA или другие поддерживаемые chunks.
После вставки важно проверить расположение нового блока. PNG предъявляет требования к порядку chunks. Некоторые блоки должны находиться до IDAT, некоторые — после определенных элементов, некоторые не должны повторяться. TweakPNG позволяет переместить chunk вручную, но пользователь сам отвечает за корректность структуры.
Перемещение chunks
Для перестановки строк используются команды:
-
Edit → Move Up
-
Edit → Move Down
Можно перемещать один chunk или несколько выделенных chunks. Это полезно, если после вставки новый блок оказался не в том месте. После перемещения стоит запускать проверку валидности, потому что корректный порядок chunks имеет значение.
Особая осторожность нужна с IDAT. В PNG допускается несколько IDAT chunks, но они должны идти подряд и в правильной последовательности. Если переставить их произвольно, изображение может перестать открываться. Для ручного анализа это важное правило: IDAT содержит реальные image data, и нарушение порядка разрушает поток данных.
Копирование, вырезание и вставка chunks
TweakPNG поддерживает операции:
-
Copy
-
Cut
-
Paste
Они работают с chunks, а не с пикселями. Можно выделить один или несколько blocks, скопировать их в буфер обмена и вставить в другой PNG. Это удобно при создании тестовых файлов или переносе одинаковой служебной информации между изображениями.
Вставка в TweakPNG устроена не так, как во многих текстовых редакторах: pasted chunks вставляются перед первой выбранной строкой, а не заменяют выбранный блок. Поэтому при работе с несколькими chunks нужно внимательно следить, куда именно они попадут.
Основные функции TweakPNG
TweakPNG выглядит простой программой, но внутри нее есть набор функций, рассчитанных на техническую работу с PNG-файлами. Многие действия скрыты в меню и раскрываются только при понимании структуры формата.
Просмотр структуры PNG
Главная функция — chunk-level view. Пользователь открывает файл и сразу видит, какие blocks он содержит. Это позволяет быстро ответить на вопросы:
-
есть ли в PNG палитра;
-
используется ли прозрачность;
-
есть ли gamma information;
-
есть ли ICC profile;
-
записан ли physical pixel size;
-
есть ли текстовые metadata;
-
сколько
IDATchunks содержит файл; -
есть ли дополнительные APNG-related chunks;
-
присутствуют ли нестандартные private chunks.
Для анализа PNG это удобнее, чем открывать файл в hex editor. Hex editor показывает байты, а TweakPNG сразу интерпретирует структуру.
Удаление chunks
Удаление chunks используется для очистки PNG от лишней информации. Например, в файле могут быть текстовые комментарии, старые timestamps, ненужные параметры gamma, физическое разрешение, background color или другие metadata. Если эти данные не нужны, их можно удалить.
Удаление может использоваться в трех ситуациях:
-
Уменьшение размера файла за счет удаления ненужных metadata.
-
Очистка файла от служебной информации перед публикацией.
-
Создание тестового PNG с минимальной структурой.
При этом нельзя бездумно удалять все подряд. IHDR, IDAT и IEND — критические элементы. Без них PNG не будет корректным. PLTE также критичен для изображений с indexed color. Некоторые ancillary chunks можно удалить безопаснее, но и там нужно понимать последствия: удаление iCCP, gAMA или sRGB может изменить интерпретацию цвета в других программах.
Добавление текстовых chunks
TweakPNG позволяет добавлять и редактировать текстовую информацию. Для этого используются chunks:
| Chunk | Что хранит |
tEXt | обычный текстовый metadata block |
zTXt | сжатый текст |
iTXt | международный текст с поддержкой более сложных текстовых данных |
Текстовые chunks применяются для комментариев, описаний, авторских полей, технических заметок, служебной информации, отметок о происхождении файла. В отличие от EXIF в JPEG, PNG использует собственный механизм текстовых chunks.
В TweakPNG можно добавить новый текстовый блок через Insert, затем открыть его и заполнить поля. Для zTXt важна настройка уровня сжатия новых zTXt chunks в Preferences. Это не сжимает всю картинку, а относится только к новым compressed text chunks.
Работа с IDAT
IDAT — один из самых важных chunk types, потому что именно в нем находятся сжатые image data. TweakPNG не редактирует содержимое IDAT на уровне пикселей, но позволяет управлять разбиением данных на chunks.
Доступны функции:
-
Edit → Combine all IDAT
-
Edit → Combine IDAT chunks
-
Edit → Split IDAT chunk
Объединение IDAT chunks может слегка уменьшить размер файла, потому что каждый chunk имеет служебные поля. Если в PNG много мелких IDAT, их консолидация убирает лишние chunk overhead. Это не полноценная оптимизация изображения, но технически размер может стать меньше.
Разделение IDAT используется реже. Оно полезно главным образом для тестов: например, если нужно проверить, как приложение читает PNG, где image data разделены на много chunks. Можно задать размер первой части и включить повторное разделение.
Import и Export chunks
Функции импорта и экспорта позволяют работать с отдельными chunks как с внешними файлами.
Export сохраняет выбранный chunk в отдельный файл. Это удобно, если нужно извлечь служебный блок, изучить его отдельно, сравнить с другим файлом или перенести в тестовый набор.
Import позволяет вставить chunk из внешнего файла. Такой файл должен содержать четырехбуквенный идентификатор chunk в начале, а затем данные chunk. Длина и CRC не включаются в импортируемый файл, потому что TweakPNG сама собирает chunk в составе PNG.
Эта функция особенно полезна для private chunks и нестандартных экспериментов. Можно подготовить chunk во внешнем редакторе, затем импортировать его в PNG и проверить, как файл ведет себя в разных программах.
Import ICC Profile
Команда Import ICC Profile создает iCCP chunk на основе ICC color profile. Это нужно, когда PNG должен нести встроенную информацию о цветовом профиле. В практической работе это полезно для файлов, где важна предсказуемая цветопередача.
TweakPNG не превращается из-за этого в полноценную систему управления цветом. Она не редактирует ICC-профиль как отдельная color management программа. Ее задача — поместить профиль в PNG-структуру, чтобы файл содержал нужный chunk.
File Signature
Команда File → File Signature позволяет выбрать сигнатуру семейства PNG: PNG, MNG или JNG. Это низкоуровневая функция. В большинстве обычных задач она не нужна, потому что сигнатура файла должна соответствовать реальному формату и содержимому.
Функция полезна скорее для тестирования, исследования и редких технических случаев, чем для повседневной обработки изображений. Если изменить сигнатуру без понимания последствий, файл может перестать восприниматься как корректный PNG.
Check Validity
Функция проверки валидности анализирует общую структуру файла. Она помогает обнаружить проблемы с порядком chunks, отсутствием обязательных blocks и другими структурными ошибками.
Важно понимать границу этой проверки. TweakPNG не гарантирует, что файл полностью корректен во всех деталях. Она проверяет структуру, но не является исчерпывающим валидатором содержимого каждого chunk. Например, chunk может находиться в правильном месте, но его внутренние данные могут быть некорректными. Поэтому Check Validity — полезный быстрый контроль, но не абсолютная гарантия.
Встроенный image viewer
В меню Tools есть команда Show Image Viewer. Она открывает отдельное окно просмотра текущего изображения. Viewer показывает текущее состояние файла после изменений. Это удобно: можно редактировать chunks и сразу смотреть, как файл отображается.
Viewer не заменяет обычную программу просмотра изображений. Его роль — техническая проверка. Он помогает увидеть результат правки палитры, прозрачности, background color или других параметров, которые влияют на отображение.
Copy image to clipboard
В TweakPNG есть функция копирования изображения в буфер обмена. Она полезна, когда нужно быстро перенести отображаемую картинку в другой инструмент без сохранения отдельной копии через внешний редактор. В контексте TweakPNG эта функция дополняет viewer: пользователь может проверить состояние PNG и отправить результат дальше.
Редактирование палитры, прозрачности и фона
Один из самых наглядных разделов TweakPNG — работа с палитровыми изображениями. Если PNG использует indexed color, его цвета хранятся в PLTE. Каждый пиксель ссылается не на полный RGB-цвет напрямую, а на индекс в палитре. Это позволяет экономить место в изображениях с ограниченным количеством цветов: иконках, пиксель-арте, схемах, простых иллюстрациях, технической графике.
В TweakPNG palette editor открывается при редактировании PLTE, а также связанных с палитрой chunks bKGD и tRNS.

На этом скриншоте видно окно Palette. В нем отображается сетка цветов, поле Colors in palette (1–256), поле Alpha values, кнопки Set bkgd, Edit alpha, OK и Cancel. Такой интерфейс позволяет редактировать не все изображение целиком, а конкретные записи палитры.
Поле Colors in palette
Поле Colors in palette (1–256) задает количество цветов в палитре. Максимум для стандартного палитрового PNG — 256 entries. Уменьшение числа цветов может сделать файл некорректным, если удаленные цвета реально используются пикселями изображения. Поэтому менять это значение нужно осторожно.
Увеличение палитры может быть полезно, если нужно добавить дополнительный цвет, например для background color. Но это не автоматическая перекраска изображения. TweakPNG не пересчитывает картинку как графический редактор. Она редактирует палитру.
Выбор и изменение цвета
Чтобы изменить цвет palette entry, нужно выбрать ячейку и задать новый цвет через стандартный выбор цвета. После подтверждения выбранная запись палитры меняется. Все пиксели, которые ссылаются на этот индекс, начнут отображаться новым цветом.
Это сильная и одновременно опасная функция. Если изменить цвет, который используется в большом количестве пикселей, изменится внешний вид изображения. Если два разных индекса палитры имеют одинаковый цвет, изображение визуально может не измениться, но внутренняя структура останется другой. Именно такие особенности палитровых PNG иногда используются для технических экспериментов, стеганографии и тестов.
Alpha values и tRNS
Прозрачность в палитровом PNG может задаваться через tRNS. В palette editor это связано с полем Alpha values и кнопкой Edit alpha.
Alpha value определяет степень прозрачности:
| Значение alpha | Результат |
| 0 | полностью прозрачный цвет |
| 1–254 | частичная прозрачность |
| 255 | полностью непрозрачный цвет |
Если для entry нет отдельного alpha value, цвет считается полностью непрозрачным. В окне палитры TweakPNG alpha values показываются небольшими индикаторами в нижней части ячеек. Это позволяет быстро увидеть, какие palette entries имеют прозрачность.
Чтобы редактировать прозрачность, используется кнопка Edit alpha. После ее включения клик по ячейке палитры позволяет задать alpha value. Если кнопка недоступна, в файле нужно сначала создать tRNS chunk.
Background color и bKGD
Кнопка Set bkgd используется для выбора background color. В палитровом изображении background color хранится через bKGD и указывает preferred background. Это не обязательно реальный фон изображения в смысле пикселей. Это служебная подсказка для программ, которые учитывают такой параметр при отображении PNG.
В palette editor выбранная background entry выделяется толстой синей рамкой. Чтобы удалить background color, нужно удалить bKGD chunk.
Практический пример изменения палитры

На скриншоте видно, как изменение одной записи палитры может проявить скрытую разницу в изображении. Внешне несколько участков могут выглядеть одинаково, но ссылаться на разные palette entries. Если одну из этих entries перекрасить, различие становится заметным.
Это хороший пример того, почему TweakPNG полезна не только как редактор PNG metadata, но и как инструмент анализа. Обычный просмотрщик показывает итоговый цвет пикселя. TweakPNG позволяет увидеть механизм: какая палитра используется, сколько в ней цветов, какие entries повторяют друг друга, есть ли прозрачность, какой цвет назначен background.
Проверка валидности PNG
Проверка валидности запускается через меню File. Она нужна после ручных изменений: удаления chunks, вставки новых блоков, перемещения строк, изменения сигнатуры, импорта внешних данных.
TweakPNG проверяет прежде всего структуру файла. Программа смотрит, может ли текущая последовательность chunks соответствовать PNG. Это помогает выявить грубые ошибки:
-
отсутствует обязательный chunk;
-
chunk стоит в неправильном месте;
-
нарушен порядок блоков;
-
структура выглядит несовместимой с PNG;
-
есть проблема, из-за которой сохранение требует подтверждения.
Проверка особенно важна после операций Move Up, Move Down, Insert, Cut, Paste, Import. Эти функции дают большую свободу, но не превращают все действия пользователя в безопасные. Если вставить chunk не туда, программа может предупредить о проблеме, но ответственность за смысл изменений остается на пользователе.
Что Check Validity не делает
Check Validity не стоит воспринимать как абсолютную проверку PNG. Она не гарантирует, что все внутренние данные каждого chunk правильные. Например, можно создать файл, который проходит базовую структурную проверку, но вызывает проблемы в отдельных просмотрщиках из-за некорректных значений внутри специфического block.
Поэтому после проверки в TweakPNG желательно открыть файл в обычном image viewer, браузере, графическом редакторе или в той программе, для которой PNG готовится. Для технических тестов полезно дополнительно использовать консольные валидаторы и декодеры.
Настройки и интеграция с Windows
Настройки TweakPNG находятся в Options → Preferences. Окно настроек небольшое, но содержит важные параметры для повседневной работы.
Одно из основных полей — уровень сжатия для новых zTXt chunks. Это касается именно создаваемых compressed text chunks, а не всего PNG-файла. Пользователь может выбрать степень сжатия текстовых данных, которые будут записаны в zTXt.
Также в Preferences есть опция Add TweakPNG to Explorer context menu. Она добавляет пункт TweakPNG в контекстное меню Windows Explorer для файлов с расширениями .png, .mng, .jng. После включения этой опции можно кликнуть по изображению правой кнопкой мыши и открыть его сразу в TweakPNG.
Такой вариант удобен для технического анализа. Например, пользователь просматривает папку с PNG-файлами, находит подозрительный или проблемный файл, нажимает правой кнопкой и открывает его напрямую в TweakPNG без отдельного запуска программы и поиска файла через диалог открытия.
Контекстное меню не меняет стандартное поведение двойного клика. Если в системе назначен обычный просмотрщик PNG, двойной клик продолжит открывать изображение именно в нем. TweakPNG добавляется как дополнительный пункт для ручного выбора.
Tools menu и внешние программы
Меню Tools в TweakPNG используется не только для встроенного image viewer. Через Options → Configure Tools можно подключить внешние программы. Это делает TweakPNG удобнее в техническом workflow: один инструмент показывает и правит chunks, другой — отображает изображение, третий — пропускает PNG через внешний filter.
В окне настройки tools используются поля:
| Поле | Назначение |
| Name | название пункта, который появится в меню Tools |
| Program | путь к исполняемому файлу внешней программы |
| … | кнопка выбора программы |
| Parameters | параметры командной строки |
Если поле Name пустое, соответствующий tool не отображается в меню. В поле Program можно указать программу просмотра, браузер, консольную утилиту или обработчик PNG. Если путь не указан полностью, программа должна быть доступна системе через стандартные механизмы запуска.
Viewer
Viewer — это внешний инструмент, который получает текущий PNG и показывает или анализирует его без изменения. Например, можно подключить браузер или отдельный просмотрщик изображений. Если в параметрах указан %1, TweakPNG заменит его именем временного файла. Если %1 не указан, имя файла добавляется к параметрам автоматически.
Практический смысл viewer простой: пользователь редактирует PNG в TweakPNG, затем запускает внешний просмотрщик из меню Tools и видит, как измененный файл воспринимается другой программой.
Filter
Filter — это внешний инструмент, который принимает PNG на входе и создает другой PNG на выходе. Для filter используются %1 и %2:
-
%1— входной файл; -
%2— выходной файл.
TweakPNG записывает текущий документ во временный файл, запускает внешнюю программу, затем читает результат. Такой механизм полезен для интеграции с оптимизаторами, перепаковщиками или собственными утилитами обработки PNG.
Например, разработчик может подключить внутренний PNG filter, который пересобирает chunks, меняет сжатие или удаляет определенные metadata. TweakPNG в такой связке становится визуальным контроллером: до фильтра пользователь видит структуру, после фильтра сравнивает результат.
Практическая инструкция: как посмотреть метаданные PNG
TweakPNG удобна для быстрого просмотра metadata, потому что не требует искать параметры в разных вкладках. Все основные chunks видны в одном списке.
Порядок работы:
-
Открыть PNG-файл в TweakPNG.
-
Посмотреть список chunks в главной таблице.
-
Найти служебные блоки:
pHYs,tIME,tEXt,zTXt,iTXt,gAMA,cHRM,sRGB,iCCP. -
Прочитать колонку Contents.
-
При необходимости открыть chunk двойным кликом.
-
После просмотра закрыть файл без сохранения, если изменения не нужны.
На что смотреть в первую очередь
| Что нужно узнать | Какой chunk смотреть |
| Размер и тип изображения | IHDR |
| Физическое разрешение / DPI | pHYs |
| Текстовые metadata | tEXt, zTXt, iTXt |
| Время изменения | tIME |
| Gamma | gAMA |
| Цветовое пространство | sRGB, cHRM, iCCP |
| Палитра | PLTE |
| Прозрачность | tRNS |
| Background color | bKGD |
| Данные изображения | IDAT |
Если задача — просто понять, есть ли в PNG скрытая служебная информация, достаточно просмотреть список chunks и колонку Contents. Если задача — подготовить файл к публикации, нужно оценить, какие metadata действительно нужны, а какие можно удалить.
Практическая инструкция: как удалить лишние chunks
Удаление chunks — одна из частых задач в TweakPNG. Она используется для очистки файла от metadata и для небольшого уменьшения размера PNG.
Порядок работы:
-
Сделать копию PNG-файла.
-
Открыть копию в TweakPNG.
-
Просмотреть список chunks.
-
Выделить необязательный chunk.
-
Удалить его через меню Edit или клавиатурную команду удаления.
-
Повторить для других ненужных chunks.
-
Запустить Check Validity.
-
Сохранить файл.
-
Открыть результат в обычном просмотрщике.
Какие chunks обычно можно рассматривать для удаления
| Chunk | Можно ли удалять бездумно | Комментарий |
tEXt | нет | может содержать полезное описание или авторские сведения |
zTXt | нет | compressed text metadata |
iTXt | нет | international text metadata |
tIME | чаще да | хранит время изменения, но может быть важно для архива |
pHYs | зависит от задачи | влияет на физическую интерпретацию размера |
gAMA | зависит от задачи | влияет на отображение яркости |
cHRM | зависит от задачи | связано с цветностью |
iCCP | зависит от задачи | важен для color management |
bKGD | зависит от задачи | preferred background |
tRNS | нельзя удалять без проверки | может отвечать за прозрачность |
PLTE | нельзя для indexed PNG | критичен для палитрового изображения |
IDAT | нельзя | содержит image data |
IHDR | нельзя | обязательный заголовок |
IEND | нельзя | обязательное завершение PNG |
Если нужно просто убрать текстовые metadata, обычно смотрят tEXt, zTXt, iTXt. Если задача — максимально уменьшить размер, дополнительно анализируют pHYs, gAMA, cHRM, iCCP, bKGD, но здесь уже есть риск изменить отображение цвета или поведение файла в других программах.
Почему нельзя удалять все ancillary chunks подряд
Некоторые chunks выглядят дополнительными, но на практике влияют на важные свойства. Например, удаление iCCP может изменить цветопередачу, а удаление tRNS может уничтожить прозрачность в палитровом изображении. Удаление pHYs может убрать сведения о физическом размере пикселя, и при импорте в верстку или печатные программы изображение будет интерпретироваться иначе.
Правильный подход — не удалить все лишнее, а понять назначение каждого block.
Практическая инструкция: как добавить текстовую информацию в PNG
TweakPNG позволяет добавлять текстовые chunks, если в PNG нужно записать комментарий, описание, служебную заметку или другую metadata.
Порядок работы:
-
Открыть PNG в TweakPNG.
-
Перейти в меню Insert.
-
Выбрать текстовый chunk:
tEXt,zTXtилиiTXt. -
Открыть созданный chunk двойным кликом.
-
Заполнить keyword и текстовое значение.
-
Подтвердить изменения.
-
Проверить, где chunk расположен в структуре файла.
-
Запустить Check Validity.
-
Сохранить PNG.
Как выбрать тип текстового chunk
| Chunk | Когда использовать |
tEXt | для простых текстовых metadata |
zTXt | для сжатого текста, если данных больше |
iTXt | для международного текста и более гибких текстовых данных |
Для коротких комментариев обычно достаточно tEXt. Для длинных служебных записей можно использовать zTXt. Для задач, где важны языковые и международные текстовые возможности, подходит iTXt.
Текстовые chunks не видны на самой картинке. Они сохраняются внутри PNG и читаются программами, которые умеют анализировать PNG metadata. Именно поэтому TweakPNG удобна: она показывает такие данные напрямую.
Практическая инструкция: как изменить DPI / физический размер пикселя
В PNG нет DPI в том же смысле, в каком пользователи часто видят его в графических редакторах. Внутри PNG за физический размер пикселя отвечает pHYs. Этот chunk хранит количество пикселей на единицу длины, обычно pixels per meter, и может указывать, что пиксели квадратные или имеют другое соотношение.
В TweakPNG pHYs отображается в таблице как pixel size или pixels per meter. В колонке Contents можно увидеть пересчет в dpi, если данные соответствуют такой интерпретации.
Порядок изменения:
-
Открыть PNG.
-
Найти chunk
pHYs. -
Если его нет, добавить через Insert.
-
Открыть
pHYsдвойным кликом. -
Задать нужные значения pixels per meter.
-
Подтвердить изменения.
-
Проверить файл через Check Validity.
-
Сохранить PNG.
-
Открыть файл в программе, которая показывает physical resolution.
Важно: изменение pHYs не меняет количество пикселей. Если PNG был 1000 × 1000 px, он останется 1000 × 1000 px. Меняется только то, как файл сообщает физический размер. Это может повлиять на импорт в текстовые редакторы, издательские системы, некоторые графические программы и инструменты печати.
Когда это полезно
Изменение pHYs полезно, если:
-
изображение имеет правильный размер в пикселях, но неверно интерпретируется при печати;
-
PNG нужно вставлять в документ с ожидаемым физическим размером;
-
нужно исправить ошибочный DPI после экспорта из другой программы;
-
требуется подготовить тестовый файл с определенным pixel density;
-
нужно удалить или добавить physical pixel metadata.
Практическая инструкция: как импортировать ICC-профиль
ICC profile в PNG хранится через iCCP chunk. Он нужен для передачи информации о цветовом профиле. В TweakPNG импорт профиля выполняется через специальную команду Import ICC Profile.
Порядок работы:
-
Открыть PNG-файл.
-
Вызвать команду Import ICC Profile.
-
Выбрать файл профиля
.icc. -
TweakPNG создаст или добавит
iCCPchunk. -
Проверить в таблице наличие
iCCP. -
Посмотреть колонку Contents, где отображается имя профиля.
-
Проверить валидность структуры.
-
Сохранить PNG.
Эта функция полезна для изображений, где важно сохранить управляемую цветопередачу. Например, PNG может использоваться в workflow, где разные программы должны понимать цветовой профиль одинаково. TweakPNG не редактирует содержимое профиля как специализированный ICC editor, но позволяет встроить профиль в структуру PNG.
Практическая инструкция: как объединить IDAT chunks
Несколько IDAT chunks — нормальная ситуация для PNG. Спецификация допускает разбиение image data на несколько последовательных блоков. Некоторые программы создают много IDAT chunks фиксированного размера. TweakPNG может объединить их.
Порядок работы:
-
Открыть PNG.
-
Найти последовательность
IDAT. -
Выбрать Edit → Combine all IDAT для объединения всех
IDAT. -
Или выделить конкретный диапазон и выбрать Edit → Combine IDAT chunks.
-
Проверить структуру.
-
Сохранить файл.
Польза объединения — уменьшение overhead. Каждый chunk имеет служебные байты, поэтому удаление лишних границ между IDAT может слегка сократить размер файла. Это не заменяет оптимизацию сжатия, но полезно для ручной чистки и экспериментов.
Практическая инструкция: как разделить IDAT chunk
Разделение IDAT используется реже, но в TweakPNG такая функция есть. Она нужна главным образом для тестирования совместимости декодеров и приложений.
Порядок работы:
-
Открыть PNG.
-
Выбрать
IDATchunk. -
Перейти в Edit → Split IDAT chunk.
-
Указать размер первой части в байтах.
-
При необходимости включить повторное разделение.
-
Подтвердить операцию.
-
Проверить валидность структуры.
-
Открыть результат во внешнем просмотрщике.
Разделение может быть полезно, если нужно проверить, как программа читает PNG с множеством маленьких IDAT. Корректный PNG decoder должен поддерживать такую структуру, но на практике тестовые файлы помогают находить ошибки в собственных реализациях.
История версий программы
История TweakPNG хорошо показывает, как программа развивалась: от простого низкоуровневого редактора PNG chunks к более зрелому инструменту с viewer, palette editor, поддержкой дополнительных chunks, 64-битной сборкой, APNG-related blocks и улучшенной работой с цветом.
| Версия | Основные изменения |
| 1.0.0 | первый выпуск программы |
| 1.0.1 | исправления ошибок, более аккуратная обработка некорректных файлов, автоматическая проверка при сохранении |
| 1.2.0 | добавлен image viewer, улучшена работа с palette editor, появились persistent window sizes и column widths |
| 1.2.1 | обновлены используемые библиотеки, добавлены мелкие исправления |
| 1.3.0 | добавлена поддержка iTXt, программа стала Unicode application |
| 1.3.1 | добавлена полная поддержка sTER, read-only support для APNG chunks, улучшена устойчивость при ошибочных chunks |
| 1.3.2 | исправлены проблемы с позициями auxiliary windows и context menu на нескольких мониторах |
| 1.4.0 | добавлена поддержка oFFs, acTL, fcTL, появились filters в Tools, добавлены пункты Close и Reopen |
| 1.4.1 | появилась 64-bit build, поддержка sCAL, drag and drop в viewer window |
| 1.4.2 | переписан PNG decoder во viewer, улучшена gamma correction |
| 1.4.3 | maintenance release |
| 1.4.4 | улучшена поддержка ICC profiles, повышено качество viewer для изображений с частичной прозрачностью |
| 1.4.5 | улучшения и исправления, связанные с compressed text, изменены background color options во viewer |
| 1.4.6 | maintenance release, добавлена функция Copy image to clipboard, параметр Correct for nonsquare pixels сделан optional |
Что показывает эта история
TweakPNG не развивалась как массовый редактор изображений. Основные изменения касались точечной технической функциональности:
-
расширения набора поддерживаемых chunks;
-
улучшения встроенного viewer;
-
поддержки Unicode text chunks;
-
работы с ICC profiles;
-
поддержки 64-bit сборок;
-
настройки внешних filters;
-
обработки APNG-related chunks;
-
исправления поведения окон и контекстного меню;
-
улучшения стабильности при некорректных PNG.
Это типичная история узкой технической утилиты: вместо добавления визуальных эффектов и улучшения фотографий разработка шла в сторону более точной работы с PNG internals.
Кому подойдет TweakPNG
TweakPNG подходит пользователям, которым нужно понимать и менять внутреннюю структуру PNG. Это не программа для всех, и именно в этом ее сила.
Разработчикам
Разработчики используют TweakPNG для анализа тестовых файлов, проверки декодеров, изучения поведения приложений при разных chunks и ручного создания нестандартных PNG. Например, если приложение неправильно отображает изображение с gAMA или iCCP, в TweakPNG можно быстро посмотреть, какие именно blocks есть в файле.
Программа полезна при разработке:
-
PNG viewer;
-
image converter;
-
web-оптимизатора;
-
графического редактора;
-
библиотеки чтения PNG;
-
валидатора изображений;
-
тестового набора для декодера.
Тестировщикам
Тестировщику TweakPNG помогает создавать пограничные случаи. Можно проверить, как программа реагирует на PNG с отсутствующими ancillary chunks, с несколькими IDAT, с необычной палитрой, с прозрачностью, с text metadata, с ICC profile, с physical pixel size.
Особенно полезны функции:
-
Insert chunk;
-
Delete chunk;
-
Move Up / Move Down;
-
Split IDAT chunk;
-
Combine IDAT chunks;
-
File Signature;
-
Check Validity.
Специалистам по цифровой сохранности
В цифровых архивах важно понимать, какие metadata содержит файл. PNG может хранить не только изображение, но и текстовые комментарии, время изменения, цветовые параметры, профиль, физическое разрешение. TweakPNG позволяет быстро проверить эти данные и принять решение: сохранить их, удалить, заменить или задокументировать.
Специалистам по форензике и CTF
PNG часто используется в задачах, где важна внутренняя структура файла. В CTF и форензике встречаются скрытые text chunks, необычные palette entries, нестандартные private chunks, подозрительные данные после IEND, некорректные CRC, странное разбиение IDAT.
TweakPNG не заменяет hex editor или специализированные forensic tools, но дает быстрый визуальный обзор chunk structure. Это удобно на первом этапе анализа.
Тем, кто работает с палитровыми PNG
Если пользователь занимается pixel art, старой графикой, иконками или индексированными PNG, palette editor в TweakPNG может быть полезен. Он позволяет увидеть, сколько цветов в палитре, какие цвета повторяются, какие entries имеют alpha, какой background color назначен.
Кому TweakPNG не подойдет
TweakPNG не стоит выбирать, если нужна простая обработка изображений. Программа требует понимания PNG chunks и не скрывает технические детали.
Она не подойдет, если пользователь хочет:
-
быстро сжать сотни PNG одной кнопкой;
-
изменить размер изображения;
-
обрезать картинку;
-
удалить фон в визуальном редакторе;
-
рисовать кистью;
-
работать со слоями;
-
применять фильтры;
-
улучшать фотографии;
-
делать цветокоррекцию;
-
конвертировать PNG в JPEG, WebP или AVIF;
-
обрабатывать изображения пакетно;
-
получить современный интерфейс с предпросмотром всех изменений в реальном времени.
Для таких задач лучше использовать другие программы: графические редакторы, batch converters, PNG optimizers или командные утилиты. TweakPNG нужна тогда, когда требуется именно PNG chunk editor.
Сравнение с аналогами
TweakPNG занимает особую нишу. Ее нельзя корректно сравнивать только с фоторедакторами или только с оптимизаторами. Ближе всего к ней инструменты для анализа, редактирования metadata, проверки PNG и низкоуровневой обработки файлов.
| Программа | Тип | Сильные стороны | Слабые стороны |
| ExifTool | консольный редактор metadata | мощная работа с metadata, огромное количество форматов, удобство для batch processing | не дает такого простого визуального chunk-level интерфейса для ручного просмотра PNG blocks |
| pngcheck | консольный анализатор PNG | быстрая диагностика PNG, удобен для проверки структуры из командной строки | не является интерактивным редактором chunks |
| pngcrush | PNG optimizer | сильная автоматическая оптимизация, удаление/пересборка данных, работа со сжатием | не предназначен для ручного просмотра и редактирования каждого chunk через GUI |
| ImageMagick | универсальный CLI-набор для изображений | конвертация, resize, обработка, batch workflows, огромный охват форматов | слишком широкий инструмент, не сфокусирован на ручном PNG chunk editing |
| PNGGauntlet | GUI-оптимизатор PNG | удобное сжатие PNG через графический интерфейс | не подходит для детального ручного анализа metadata и структуры chunks |
| HxD | hex editor | полный доступ к байтам любого файла | не интерпретирует PNG chunks так удобно, как специализированный PNG editor |
| IrfanView | просмотрщик и конвертер изображений | быстрый просмотр, базовая обработка, плагины, batch conversion | не является низкоуровневым редактором PNG metadata |
| GIMP | графический редактор | полноценная работа с изображением, пикселями, слоями и экспортом | не показывает PNG как последовательность chunks и не заменяет технический PNG chunk editor |
ExifTool
ExifTool сильнее в массовой работе с metadata. Он подходит для скриптов, автоматизации, обработки больших наборов файлов и извлечения сведений из множества форматов. Но при ручном анализе конкретного PNG TweakPNG удобнее: пользователь видит таблицу chunks, может выбрать строку, открыть редактор и сразу понять, где находится нужный block.
pngcheck
pngcheck удобен для быстрой командной проверки PNG. Он хорошо подходит для диагностики из терминала и автоматических пайплайнов. Но если нужно не только посмотреть, а изменить chunk, добавить metadata, отредактировать палитру или импортировать ICC profile, одного pngcheck недостаточно.
pngcrush
pngcrush ориентирован на оптимизацию. Он полезен, когда нужно уменьшить PNG, пересобрать сжатие, убрать ненужные блоки или найти более эффективное представление файла. TweakPNG работает иначе: она не пытается автоматически подобрать оптимальный вариант, а дает пользователю ручной контроль.
ImageMagick
ImageMagick — огромный набор инструментов для работы с изображениями. Он может конвертировать, изменять размер, применять эффекты, обрабатывать изображения пакетно. Но именно из-за универсальности он не так удобен для ручного исследования PNG chunks. TweakPNG проще, когда задача узкая: открыть PNG и посмотреть его структуру.
PNGGauntlet
PNGGauntlet удобен для пользователей, которые хотят сжать PNG через GUI. Это практичный оптимизатор, а не редактор структуры. Он скрывает технические детали, что хорошо для обычного пользователя, но плохо для тех, кому нужно видеть IHDR, PLTE, IDAT, tEXt, pHYs и другие chunks.
HxD
HxD дает полный контроль над байтами. С его помощью можно исследовать любой файл, включая PNG. Но hex editor не расшифровывает структуру так удобно. В TweakPNG пользователь сразу видит названия chunks, length, CRC, attributes, contents. Поэтому для PNG она быстрее и безопаснее, чем ручная работа в hex editor.
Плюсы и минусы
Плюсы
| Плюс | Почему это важно |
| Прямой chunk-level view | файл виден как последовательность PNG chunks |
| Простая таблица | легко читать структуру и быстро находить нужные blocks |
| Редактирование metadata | можно менять текстовые chunks, физические параметры, gamma, palette-related данные |
| Palette editor | удобно работать с PLTE, tRNS, bKGD |
Работа с IDAT chunks | можно объединять и разделять image data blocks |
| Import / Export chunks | удобно переносить и анализировать отдельные blocks |
| Import ICC Profile | можно встроить ICC profile в PNG |
| Check Validity | быстрый контроль структуры после изменений |
| Внешние tools | можно подключать viewers и filters |
| Portable-подход | программу можно запускать без сложной установки |
Минусы
| Минус | Почему это важно |
| Требует понимания PNG | без знания chunks легко повредить файл |
| Не является фоторедактором | нельзя ретушировать, рисовать, работать со слоями |
| Нет массовой обработки | неудобна для сотен файлов |
| Интерфейс старого типа | нет современного UX и визуальных подсказок |
| Проверка валидности ограничена | она не заменяет полноценный PNG validator |
| Не все chunks редактируются | часть блоков доступна только для просмотра или частичного изменения |
Нужна аккуратность с IDAT и IHDR | неправильные изменения могут сделать файл нечитаемым |
Безопасность и аккуратность при работе
TweakPNG дает прямой доступ к структуре PNG, поэтому работать в ней нужно осторожно. Это не тот случай, когда можно случайно нажимать кнопки и ожидать, что программа все исправит сама.
Основные правила:
-
Всегда работать с копией файла.
-
Не удалять
IHDR,IDAT,IEND. -
Не переставлять
IDATchunks вручную без необходимости. -
Не редактировать
IHDR, если нет точного понимания последствий. -
После изменений запускать Check Validity.
-
После сохранения открывать PNG во внешнем viewer.
-
Сравнивать результат с исходным файлом.
-
Не удалять цветовые chunks, если важна точная цветопередача.
-
Не удалять
tRNS, если файл использует прозрачность. -
Не уменьшать palette size, если неизвестно, какие palette entries используются.
Типичные ошибки
| Ошибка | Последствие |
Удаление tRNS | исчезает прозрачность в палитровом PNG |
Удаление iCCP | меняется цветовая интерпретация |
Изменение IHDR | файл начинает заявлять неверные параметры |
Перестановка IDAT | изображение перестает открываться |
Уменьшение числа цветов в PLTE | indexed PNG может стать некорректным |
| Неправильная вставка chunk | нарушается порядок PNG structure |
| Сохранение без проверки | ошибка обнаруживается только в другой программе |
Как организовать безопасный workflow
Оптимальный порядок такой:
-
Создать копию PNG.
-
Открыть копию в TweakPNG.
-
Сначала только изучить chunks.
-
Записать, какие blocks будут изменяться.
-
Выполнить одно изменение.
-
Проверить валидность.
-
Открыть viewer.
-
Сохранить промежуточную копию.
-
Продолжить следующие изменения.
Такой подход выглядит медленным, но он снижает риск. В низкоуровневом редакторе PNG лучше делать изменения постепенно, чем потом искать, какой именно chunk сломал файл.
Практические сценарии использования
Очистка PNG перед публикацией
Если нужно убрать из файла лишнюю metadata, TweakPNG позволяет вручную проверить tEXt, zTXt, iTXt, tIME, pHYs, gAMA, iCCP и другие blocks. Пользователь сам решает, какие данные оставить.
Это полезно при публикации изображений на сайте, передаче файлов клиенту или подготовке ассетов, где не нужны внутренние комментарии и служебные записи.
Проверка PNG из неизвестного источника
Если файл получен извне, TweakPNG помогает быстро посмотреть его структуру. Можно увидеть нестандартные chunks, необычно большое количество metadata, странное разбиение IDAT, наличие текстовых комментариев или цветового профиля.
Это не полноценный security scanner, но как первый инструмент ручного анализа TweakPNG полезна.
Подготовка PNG для тестирования приложения
Разработчику можно создать несколько вариантов одного файла:
-
PNG с одним
IDAT; -
PNG с несколькими
IDAT; -
PNG с
pHYs; -
PNG без
pHYs; -
PNG с
gAMA; -
PNG с
iCCP; -
PNG с
tEXt; -
PNG с
zTXt; -
PNG с палитрой и
tRNS; -
PNG с background color.
Такой набор помогает проверить, как приложение читает разные варианты PNG.
Анализ палитровых изображений
Для indexed PNG TweakPNG особенно полезна. Можно посмотреть реальное число цветов, найти повторяющиеся colors, проверить transparency values, изменить background entry, увидеть скрытые различия между визуально одинаковыми цветами.
Ручная правка физического разрешения
Если PNG корректен по пикселям, но неправильно отображается в документах из-за physical size, можно изменить pHYs. Это точечная правка без пересохранения изображения в графическом редакторе.
Проверка color management
Если PNG отображается по-разному в разных программах, стоит посмотреть gAMA, sRGB, cHRM, iCCP. TweakPNG помогает понять, какие цветовые указания присутствуют внутри файла.
Разбор основных chunks в контексте TweakPNG
IHDR
IHDR — обязательный первый chunk PNG. Он содержит базовые параметры изображения: ширину, высоту, bit depth, color type, compression method, filter method, interlace method. В TweakPNG он отображается в таблице с расшифровкой, например как image header с размером, bit depth и типом изображения.
Редактировать IHDR нужно крайне осторожно. Программа позволяет открыть этот блок, но изменение полей не выполняет полноценную конвертацию картинки. Если указать параметры, которые не соответствуют IDAT, декодер не сможет корректно прочитать файл.
PLTE
PLTE хранит палитру indexed-color PNG. В TweakPNG для него используется визуальный palette editor. Это один из самых удобных редакторов chunks в программе, потому что пользователь видит цвета в виде сетки.
PLTE критичен для палитровых изображений. Удалять его нельзя, если PNG использует indexed color. Изменять можно, но нужно понимать, что каждый цвет связан с индексами пикселей.
IDAT
IDAT содержит сжатые данные изображения. TweakPNG не показывает пиксели внутри IDAT как редактируемую сетку. Она показывает сам факт наличия image data и позволяет объединять или делить IDAT chunks.
Содержимое IDAT — это зона, где лучше не экспериментировать без цели. Для ручной правки пикселей используются другие программы.
IEND
IEND завершает PNG-файл. Это обязательный chunk. В нормальном PNG он идет последним. Удалять его нельзя. Если после IEND есть дополнительные данные, это уже отдельный предмет анализа, но сама корректная PNG-структура заканчивается на IEND.
tEXt, zTXt, iTXt
Текстовые chunks используются для metadata. В TweakPNG они удобны для чтения и редактирования. Через них можно добавить комментарий, описание, keyword, служебную информацию.
Разница между ними связана с кодированием и сжатием:
-
tEXt— простой текст; -
zTXt— compressed text; -
iTXt— более гибкий international text.
pHYs
pHYs отвечает за physical pixel dimensions. В TweakPNG он полезен для проверки DPI-like параметров. Этот chunk не меняет пиксели, но влияет на физическую интерпретацию размера.
gAMA
gAMA хранит gamma information. Она может влиять на то, как изображение отображается в viewer, который учитывает gamma correction. Удалять или менять этот chunk нужно осознанно, особенно если важна яркость и цветопередача.
cHRM
cHRM описывает chromaticities. Это более техническая цветовая информация. В TweakPNG она отображается в колонке Contents и может быть полезна при анализе color management.
sRGB
sRGB указывает, что изображение использует sRGB color space. Этот chunk важен для согласованного отображения в программах, которые учитывают цветовые данные.
iCCP
iCCP хранит embedded ICC profile. TweakPNG может импортировать ICC profile и создать соответствующий chunk. Это полезно при подготовке файлов с управляемой цветопередачей.
bKGD
bKGD задает preferred background color. В палитровых изображениях он связан с palette editor и кнопкой Set bkgd. Это не обязательно реальный залитый фон, а служебная рекомендация для отображения.
tRNS
tRNS задает прозрачность. В indexed PNG он связан с alpha values для entries палитры. В TweakPNG его удобно редактировать через кнопку Edit alpha в palette editor.
tIME
tIME хранит время последнего изменения изображения. Этот chunk может быть полезен в архивах и workflow, где важна датировка. Но при публикации его иногда удаляют как лишнюю metadata.
Особенности работы с цветом
TweakPNG затрагивает несколько уровней цветовой информации:
-
palette colors через
PLTE; -
transparency через
tRNS; -
background color через
bKGD; -
gamma через
gAMA; -
chromaticities через
cHRM; -
sRGB через
sRGB; -
ICC profile через
iCCP.
Это не color grading и не коррекция фотографии. Программа не делает изображение теплее, контрастнее или насыщеннее в художественном смысле. Она меняет или показывает те данные, по которым другие программы могут интерпретировать цвет.
Например, два PNG могут иметь одинаковые пиксели, но разные gAMA или iCCP. В зависимости от viewer они могут отображаться по-разному. TweakPNG помогает увидеть такие различия.
Особенности работы с прозрачностью
Прозрачность в PNG может быть устроена по-разному. В truecolor PNG может использоваться alpha channel. В paletted PNG прозрачность часто задается через tRNS, где отдельным palette entries назначаются alpha values.
TweakPNG особенно удобна для paletted transparency. В palette editor видно:
-
сколько alpha values задано;
-
какие entries имеют прозрачность;
-
какие цвета полностью прозрачны;
-
какие частично прозрачны;
-
какие полностью непрозрачны;
-
есть ли лишние alpha values.
Это полезно при отладке иконок, UI-графики, старых assets и изображений, где прозрачность работает неожиданно.
Особенности работы с MNG и JNG
TweakPNG частично поддерживает MNG и JNG, но основной фокус программы — PNG. MNG — это формат семейства PNG для многоизображений и анимации. JNG связан с JPEG-style data в PNG-like контейнере.
В TweakPNG такие файлы можно открыть для базового анализа структуры, но программа не является полноценным MNG/JNG editor. Она не интерпретирует все MNG-specific chunks так же глубоко, как стандартные PNG chunks. Поэтому при работе с MNG/JNG ее лучше использовать как вспомогательный инструмент, а не как основную программу редактирования.
Производительность и удобство
TweakPNG легкая и быстрая. Она не загружает пользователя тяжелым интерфейсом, не строит каталоги, не создает библиотеку изображений и не пытается управлять коллекцией файлов. Пользователь открывает конкретный PNG, смотрит структуру, делает изменения и сохраняет результат.
Для своей ниши это правильный подход. Низкоуровневый PNG editor должен быть предсказуемым. В TweakPNG мало отвлекающих элементов, и почти все действия находятся в логичных местах:
-
открыть и сохранить — File;
-
изменить выбранный chunk — Edit;
-
добавить новый chunk — Insert;
-
настроить поведение — Options;
-
посмотреть изображение или запустить внешний инструмент — Tools.
Слабая сторона такого подхода — программа выглядит технической. Новому пользователю без понимания PNG chunks интерфейс может показаться непонятным. Но для целевой аудитории это не проблема: таблица chunks дает именно тот контроль, ради которого программу и открывают.
Советы по работе с TweakPNG
Использовать копии
Нельзя работать с единственным экземпляром важного изображения. Перед редактированием нужно сделать копию. Это базовое правило для любой низкоуровневой правки.
Делать одно изменение за раз
Если удалить пять chunks, изменить pHYs, импортировать ICC profile и переставить blocks, а потом файл сломается, будет сложнее понять причину. Лучше делать одно изменение, проверять, сохранять промежуточный результат, затем переходить к следующему.
Смотреть не только TweakPNG viewer
Встроенный viewer полезен, но итоговый файл стоит открыть в той программе, где он реально будет использоваться: браузере, редакторе, игровом движке, приложении, CMS, viewer библиотеки или системе печати.
Не путать metadata и пиксели
Изменение chunks не всегда меняет картинку. Иногда оно меняет только то, как картинка описывает себя. Это особенно важно для pHYs, gAMA, iCCP, cHRM, sRGB.
Проверять палитровые изображения отдельно
Indexed PNG могут вести себя неожиданно. Две одинаковые визуально области могут ссылаться на разные entries палитры. Удаление или изменение palette entry может дать результат, который не был очевиден на глаз.
Частые проблемы и способы их избежать
PNG не открывается после сохранения
Вероятные причины:
-
удален обязательный chunk;
-
нарушен порядок chunks;
-
переставлены
IDAT; -
неверно изменен
IHDR; -
вставлен некорректный block;
-
повреждены данные при импорте chunk.
Что делать:
-
Вернуться к копии файла.
-
Повторить изменения по одному.
-
После каждого шага запускать Check Validity.
-
Не трогать
IDAT, если задача не связана с ним напрямую.
После удаления metadata изменился цвет
Вероятно, был удален gAMA, sRGB, cHRM или iCCP. Эти blocks могут влиять на интерпретацию цвета. Если цвет важен, такие chunks лучше сохранять.
После удаления tRNS пропала прозрачность
tRNS отвечает за прозрачность, особенно в paletted PNG. Если удалить его, palette entries станут непрозрачными, и изображение может измениться визуально.
После изменения pHYs картинка не стала больше
Так и должно быть. pHYs не меняет пиксельный размер. Он меняет физическую интерпретацию. Для реального resize нужен графический редактор или конвертер изображений.
После изменения IHDR файл сломался
IHDR не предназначен для произвольной правки. Если указать параметры, которые не соответствуют IDAT, декодер не сможет корректно прочитать файл.
Итоговая оценка
TweakPNG — узкая, техническая и по-настоящему полезная программа для тех, кому нужен ручной доступ к PNG chunks. Ее ценность не в красивом интерфейсе и не в универсальности, а в точности: она показывает структуру PNG-файла и позволяет работать с ней напрямую.
Для обычного пользователя, который хочет обрезать картинку, уменьшить размер, улучшить фото или конвертировать формат, TweakPNG будет лишней и непонятной. Для разработчика, тестировщика, специалиста по PNG, исследователя metadata или человека, которому нужно вручную исправить конкретный chunk, программа остается удобным инструментом.
Главная причина использовать TweakPNG — контроль. Она показывает то, что скрывают обычные редакторы: length, CRC, attributes, contents, палитру, alpha values, background color, physical pixel size, text chunks, ICC profile и порядок блоков внутри PNG. Именно поэтому TweakPNG стоит рассматривать не как еще один редактор изображений, а как специализированный PNG metadata editor и PNG chunk editor для технической работы.
FAQ
Можно ли редактировать изображение в TweakPNG как в Photoshop?
Нет. TweakPNG не предназначена для ретуши, рисования, слоев, масок, фильтров и визуальной обработки. Она редактирует PNG metadata и chunks.
Можно ли уменьшить размер PNG?
Да, но ограниченно. Можно удалить ненужные chunks или объединить IDAT, что иногда уменьшает размер. Но это не полноценный PNG optimizer. Для автоматической оптимизации лучше использовать pngcrush, optipng, oxipng, PNGGauntlet или другие специализированные инструменты.
Можно ли удалить metadata?
Да. TweakPNG позволяет удалить текстовые и служебные chunks, если они не нужны. Перед удалением нужно понимать назначение каждого block.
Можно ли изменить DPI?
Можно изменить pHYs, который отвечает за physical pixel size. Это не меняет количество пикселей, но меняет физическую интерпретацию изображения.
Можно ли изменить прозрачность?
Да, особенно в paletted PNG через tRNS и palette editor. Для этого используется кнопка Edit alpha.
Можно ли редактировать палитру PNG?
Да. При редактировании PLTE открывается окно Palette, где можно менять palette entries, количество цветов, alpha values и background color.
Что означает CRC в таблице?
CRC — контрольная сумма chunk. Она используется для проверки целостности блока. TweakPNG показывает CRC для каждого chunk.
Что такое Attributes?
Attributes — свойства chunk, связанные с регистром букв в его имени. TweakPNG расшифровывает их в понятный вид: critical, ancillary, safe to copy, unsafe to copy и другие.
Можно ли добавить ICC-профиль?
Да. Для этого используется команда Import ICC Profile, которая создает iCCP chunk на основе .icc файла.
Можно ли работать с APNG?
TweakPNG частично показывает APNG-related chunks, например acTL, fcTL, fdAT, но не является полноценным редактором APNG-анимаций.
Можно ли использовать TweakPNG для стеганографии?
Программа может быть полезна для анализа палитры, chunks и metadata, поэтому ее применяют в технических экспериментах и CTF-задачах. Но она не является специализированным steganography tool.
Что делать, если файл перестал открываться?
Нужно вернуться к резервной копии, повторять изменения по одному и после каждого шага запускать Check Validity. Чаще всего проблемы возникают после удаления обязательных chunks, неверной перестановки IDAT или неправильной правки IHDR.
Чем TweakPNG лучше hex editor для PNG?
TweakPNG понимает структуру PNG и показывает chunks в виде таблицы. Hex editor показывает только байты. Для PNG metadata и chunk-level анализа TweakPNG быстрее и удобнее.
Почему TweakPNG не подходит для массовой обработки?
Программа рассчитана на интерактивную ручную работу с конкретным файлом. Для batch processing лучше использовать командные утилиты.
Нужно ли знать PNG format перед использованием?
Да, хотя бы на базовом уровне. Без понимания IHDR, IDAT, IEND, PLTE, tRNS, pHYs, gAMA и других chunks легко сделать файл некорректным.

