ExifTool — не обычный редактор фотографий и не программа с панелью миниатюр. Это локальная утилита командной строки и набор модулей Image::ExifTool для работы с метаданными файлов. Она читает, записывает, копирует, удаляет, сравнивает и экспортирует EXIF, IPTC, XMP, GPS, ICC, MakerNotes и многие другие структуры. Инструмент рассчитан на задачи, где важны точное имя тега, его группа, пакетная обработка и воспроизводимая команда: исправление времени съёмки, перенос авторских данных, геопривязка, переименование архива по дате, аудит скрытых сведений перед публикацией и автоматизация больших медиатек.
Скачать ExifTool бесплатно
Рекомендуемый аналог
ФотоМАСТЕР
Фоторедактор для Windows и macOS с русским интерфейсом
- Ретушь портретов и точная коррекция фото
- Понятный интерфейс на русском языке
- Подходит новичкам, легко освоить
- Обработка отдельных снимков и серий фотографий
ExifTool
Программа для работы с изображениями и графикой на русском языке
- Меньше инструментов для точной локальной коррекции
- Часть расширенных функций доступна только платно
- Набор инструментов зависит от версии и платформы
- Может не подойти для сложного профессионального монтажа
Главная особенность ExifTool одновременно является его главным ограничением: основным интерфейсом служит терминал. Здесь нет формы с полями «Автор», «Камера» и «Координаты», которую можно заполнить мышью. Пользователь задаёт операцию аргументами, а программа применяет её к одному файлу, набору файлов или дереву каталогов. Такой подход требует понимания групп метаданных и правил конкретного формата, зато позволяет одинаково обрабатывать сотни и тысячи объектов, сохранять команды в сценариях и проверять результат по точным техническим полям.
Что представляет собой ExifTool
ExifTool разработан Филом Харви. Официальное название проекта — ExifTool, а программная библиотека для Perl называется Image::ExifTool. Полная поставка включает оба компонента: готовое приложение командной строки и модули, которые можно вызывать из Perl-программ. Это важно для идентификации продукта: ExifTool не следует смешивать с ExifToolGui, jExifToolGUI, браузерными просмотрщиками EXIF и мобильными приложениями с похожими названиями. Графические оболочки используют собственный интерфейс и иногда вызывают ExifTool как внешний движок, но не являются самим проектом.
Актуальный стабильный выпуск на дату подготовки обзора — ExifTool 13.59 от 27 мая 2026 года. Проект поддерживается, документация и таблицы форматов обновляются вместе с выпусками. ExifTool распространяется как свободное программное обеспечение на условиях Artistic License или GNU General Public License — тех же вариантах лицензирования, которые применяются к Perl. Платных редакций, подписки, пробного периода, обязательной регистрации и лимита на число обработанных файлов у самого ExifTool нет.
Основные параметры
| Параметр | Характеристика |
|---|---|
| Разработчик | Phil Harvey |
| Тип продукта | Утилита командной строки и библиотека Image::ExifTool для Perl |
| Актуальная версия | 13.59, выпуск от 27 мая 2026 года |
| Основная задача | Чтение, запись, копирование, удаление, сравнение и экспорт метаданных |
| Платформы | Windows, macOS, Linux и другие Unix-подобные системы |
| Интерфейс | Командная строка; в Windows доступен упрощённый запуск перетаскиванием файлов на исполняемый файл |
| Распространение | Полная Perl-поставка, архивы Windows 32/64 bit, установочный пакет macOS |
| Стоимость | Бесплатно, без подписки и функциональных редакций |
| Регистрация | Не требуется |
| Работа через интернет | Не требуется; ExifTool не устанавливает сетевое соединение |
| Русский язык | Русские подписи и преобразованные значения через параметр -lang ru; имена тегов, групп, команд, предупреждений и ошибок остаются на английском |
| Пакетная обработка | Файлы, каталоги и рекурсивные деревья; фильтры, условия, аргументные файлы и длительно работающий режим |
| Импорт и экспорт | Текст, таблицы, CSV, JSON, XML/RDF, HTML, PHP-массивы, MIE, EXV и извлечение бинарных вложений |
| Резервирование | При обычной записи создаётся копия исходного файла с суффиксом _original |
Платформы, поставки и установка
Windows
Для Windows выпускаются отдельные 32- и 64-разрядные ZIP-архивы. В них уже включён Perl, поэтому отдельный интерпретатор не нужен. Основной файл имеет имя exiftool(-k).exe. Двойной щелчок открывает документацию, а перетаскивание файла или папки на исполняемый файл выводит найденные метаданные. Для обычной работы в терминале файл переименовывают в exiftool.exe и вызывают командой exiftool.
Современная Windows-поставка состоит не из одного автономного EXE: рядом находится каталог exiftool_files. При переносе программы в другую папку этот каталог требуется перемещать вместе с исполняемым файлом. Потеря сопутствующей папки — одна из типичных причин, по которой команда перестаёт запускаться после ручной «установки» в другой каталог. Полную Perl-поставку также можно использовать в Windows, но тогда нужен установленный Perl и корректный путь к каталогу lib.
macOS
Пакет ExifTool для macOS устанавливает приложение и библиотеки в /usr/local/bin. После установки программа запускается из Terminal командой exiftool. У пакета нет отдельного графического окна. В актуальных версиях macOS система может заблокировать пакет как приложение от неидентифицированного или непроверенного разработчика. Документированный способ продолжить установку — открыть раздел Privacy & Security в системных настройках и использовать Open Anyway для конкретного пакета, а не отключать защитные механизмы системы целиком.
Linux и другие Unix-подобные системы
Полная поставка написана на Perl и может запускаться непосредственно из распакованного каталога. Для системной установки применяются стандартные этапы Perl-модуля: подготовка Makefile, сборка, тестирование и установка. Минимальное требование полной поставки — Perl 5.004 или новее. Обязательных внешних библиотек нет, но дополнительные Perl-модули нужны для некоторых операций с сжатыми, зашифрованными и специализированными данными.
Различия между Windows-архивом, пакетом macOS и полной Perl-поставкой относятся к упаковке и способу запуска, а не к платным уровням продукта. Официальных мобильных приложений ExifTool для Android и iOS, облачной редакции и веб-интерфейса у проекта нет.
Как устроен интерфейс
В ExifTool нет графических панелей, поэтому его интерфейс правильнее разбирать как последовательность логических зон команды. Первая зона — сам исполняемый файл exiftool. Вторая — параметры вывода и обработки: выбор групп, рекурсия, формат отчёта, языковые подписи, условия и режим перезаписи. Третья — имена тегов и операции над ними. Четвёртая — пути к файлам и каталогам. Пятая — поток результата: экран терминала, перенаправленный текстовый файл, CSV, JSON, XML или созданные бинарные файлы. Отдельно идут предупреждения, ошибки и итоговая статистика по прочитанным, обновлённым и пропущенным объектам.
Самая простая команда состоит из имени программы и пути к файлу. В этом режиме ExifTool печатает набор доступных метаданных с понятными описаниями полей. Для технического анализа обычно добавляют параметры -a, -G и -s. Параметр -a показывает повторяющиеся поля с одинаковыми названиями, -G выводит группы, а -s заменяет человекочитаемые подписи точными именами тегов. Комбинация полезна, потому что один файл способен одновременно содержать несколько полей CreateDate, Title или Creator в EXIF, XMP, IPTC, QuickTime и файловой системе.
Командная строка заставляет явно отделять отображаемое описание от внутреннего имени. Например, подпись «Date/Time Original» предназначена для чтения человеком, а запись выполняется по имени DateTimeOriginal. При включении -lang ru меняются подписи тегов и преобразованные значения, но синтаксис, имена групп и тегов остаются английскими. Предупреждения и ошибки также не переводятся. Поэтому русская локализация облегчает чтение отчёта, но не превращает инструмент в русскоязычный графический редактор.
Группы и семейства тегов
Метаданные в файле организованы в группы. На практике чаще всего встречаются EXIF, GPS, IPTC, XMP, ICC_Profile, MakerNotes, File и System. Дополнительный уровень указывает физическое расположение поля: IFD0, ExifIFD, GPS, XMP-dc, XMP-photoshop, QuickTime:Keys и другие области. Семейства групп позволяют видеть не только стандарт, но и конкретный контейнер, из которого прочитано значение.
Без указания группы ExifTool выбирает предпочтительное место записи и обновляет одноимённые поля, которые уже существуют в других допустимых местах. Для JPEG и TIFF при создании нового поля действует приоритет EXIF, затем IPTC, затем XMP, если выбранный тег допустим в этих группах. Автоматический выбор сокращает команду, но для управляемого архива лучше задавать полное имя, например XMP-dc:Creator или EXIF:DateTimeOriginal. Это исключает ситуацию, когда одна программа показывает обновлённый XMP, а другая продолжает читать старое значение из IPTC.
Основные функции ExifTool
Чтение и инвентаризация
ExifTool извлекает метаданные одного файла, нескольких путей или целого каталога. Можно запросить все доступные поля, отдельные теги, целые группы или только неизвестные данные. Вывод группируется, сортируется и форматируется. Расширенный режим показывает физическую структуру файла и смещения блоков, что полезно при диагностике повреждённых секций и нестандартных данных камеры.
Среди поддерживаемых структур — EXIF и GPS, IPTC, XMP, JFIF, ICC-профили, Photoshop IRB, GeoTIFF, ID3, QuickTime и многочисленные MakerNotes производителей камер. Поддержка MakerNotes является одной из причин популярности инструмента в фототехнических задачах: ExifTool распознаёт десятки тысяч тегов и данные большого числа моделей камер, объективов, дронов, тепловизоров и регистраторов.
Запись и удаление полей
Запись выполняется присваиванием значения конкретному тегу. За одну операцию можно изменить несколько полей, добавить элементы в списковые теги, удалить отдельное поле, очистить группу или применить массовое удаление. Значения проходят преобразование в формат, ожидаемый тегом. Для полей с перечислением допустимых вариантов программа использует печатные значения, а числовой режим позволяет записать исходный код значения напрямую.
Гибкость не означает, что любое сочетание допустимо. Формат файла может не поддерживать выбранную структуру, поле может быть только для чтения, а MakerNotes обычно нельзя создать или удалить по одному тегу. ExifTool способен записать технически некорректное значение при принудительном режиме, поэтому результат требуется проверять не только повторным чтением, но и в программе, которая будет использовать файл дальше.
Копирование метаданных
Параметр -tagsFromFile переносит поля из одного файла в другой. Источником может быть фотография, видео, sidecar или тот же файл, когда значение копируется между тегами. Допускается перечислить нужные поля и исключения. Если перечень не задан, программа пытается перенести все записываемые данные, но фактически сохраняются только структуры, допустимые для целевого формата.
Копирование между разными типами файлов требует контроля групп. Метаданные RAW и готового JPEG не идентичны по структуре; часть MakerNotes не предназначена для переноса, а XMP-описания и авторские поля переносятся предсказуемее. Для архивного процесса лучше заранее определить небольшой набор обязательных полей и проверить его в каждом целевом формате.
Работа с датой и временем
ExifTool умеет задавать, копировать и сдвигать временные значения. Служебный набор AllDates объединяет три распространённых поля: DateTimeOriginal, CreateDate и ModifyDate. Он не включает время файловой системы. При записи обычного метаданного поля время изменения файла становится текущим, если не использовать параметр -P или отдельную операцию с FileModifyDate.
Разделение встроенных дат и системных временных меток принципиально. DateTimeOriginal обычно описывает момент съёмки, CreateDate — момент создания цифрового объекта, ModifyDate — изменение метаданных внутри контейнера, а FileModifyDate хранится файловой системой. В видео дополнительно встречаются QuickTime-поля и временная зона. Перед пакетным сдвигом требуется вывести все временные группы и решить, какие из них должны измениться синхронно.
Геопривязка
Инструмент записывает координаты вручную, копирует GPS между файлами и геотегирует снимки по трек-логам. Поддерживается сопоставление времени фотографии с точками маршрута и коррекция дрейфа часов камеры. Обратная операция формирует трек из уже геотегированных файлов. Дополнительная база геолокации позволяет определить ближайший населённый пункт по координатам или получить координаты для известного места.
Геоданные относятся к чувствительным сведениям. Координаты, направление съёмки, высота и время способны раскрыть адрес дома, место работы или маршрут. Перед публикацией необходим отдельный аудит GPS-групп и вложенных превью. Удаление только видимых полей в одном приложении не доказывает, что координаты отсутствуют во всех блоках контейнера.
Переименование и организация файлов
ExifTool рассматривает FileName и Directory как записываемые псевдотеги. Поэтому имя и папку можно строить из DateTimeOriginal, модели камеры, серийного номера, рейтинга и других полей. Формат даты задаётся отдельно, а расширение сохраняется. Такой механизм подходит для раскладки архива по годам, месяцам и дням, унификации имён нескольких камер и подготовки файлов к импорту в каталогизатор.
Операция меняет расположение объектов, поэтому её следует отделять от редактирования содержания. Сначала полезно вывести рассчитанное имя в отчёт или применить схему к копии каталога. Совпадающие даты, отсутствие DateTimeOriginal и неодинаковые часовые пояса требуют заранее заданного правила разрешения конфликтов.
Извлечение вложений и технических данных
Из RAW, JPEG и других контейнеров ExifTool извлекает миниатюры, превью, крупные встроенные JPEG, ICC-профили и другие бинарные блоки. Это не проявка RAW: программа не рассчитывает цвет и не создаёт новое изображение из сенсорных данных. Она сохраняет уже существующий встроенный объект. Для полноценного преобразования RAW в JPEG нужен RAW-конвертер.
ExifTool также вычисляет MD5, SHA-256 и SHA-512 для данных изображения во многих типах файлов. Такой хеш не охватывает изменяемые метаданные и поэтому подходит для сравнения графической части до и после редактирования. При неизменном хеше можно подтвердить, что пиксельные данные не изменились, хотя размер файла, порядок секций и смещения превью могли стать другими.
Поддерживаемые форматы
Официальная таблица ExifTool разделяет чтение, запись и создание метаданных. В категории изображений присутствуют JPEG, TIFF, PNG, WebP, AVIF, HEIC/HEIF, JPEG XL, JPEG 2000, GIF, BMP, EXR, SVG и другие типы. Для фотографов особенно важны DNG и RAW-форматы камер: CR2, CR3, NEF, NRW, ARW, SR2, SRW, RAF, ORF, RW2, RWL, PEF, 3FR, IIQ, MOS, MEF, ERF и ряд менее распространённых вариантов. Степень записи неодинакова: некоторые типы только читаются, у других доступны запись и создание отдельных блоков.
Видео и мультимедийные контейнеры включают MOV, MP4, M4V, 3GP, 3G2, F4A/F4V, LRV и часть специализированных транспортных форматов. ExifTool читает временные GPS-данные из ряда видеофайлов, включая потоки телеметрии. Запись QuickTime-метаданных поддерживается для определённых контейнеров, но удаление всех данных в MOV и MP4 ограничивается главным образом верхнеуровневыми блоками.
В аудио и документах встречаются MP3, AIFF, FLAC, OGG, OPUS, PDF, EPS, AI, DOCX, XLSX, PPTX, ODT, ODS, ODP, RTF и электронные книги. Многие офисные и аудиоформаты доступны только для чтения. В перечень также входят ZIP, 7Z, RAR, TAR, исполняемые EXE и DLL, шрифты, торрент-файлы и сетевые дампы. Широкая читаемость удобна для инвентаризации, но не превращает ExifTool в универсальный редактор содержимого этих форматов.
Метаданные и sidecar-файлы
ExifTool работает с EXIF, XMP, IPTC, ICC, JFIF, Photoshop IRB, MIE, EXV и другими метаданными как с отдельными логическими форматами. XMP-sidecar удобен там, где исходный файл не следует переписывать или целевой формат не принимает нужный тег. EXV хранит метаданные в контейнере, совместимом с механизмами ExifTool, а MIE предназначен для гибкого сохранения метаданных и бинарных данных.
Импорт, экспорт и форматы отчётов
Обычный вывод ExifTool — строки «описание: значение» в терминале. Для машинной обработки доступны точные имена тегов и групп, табличный режим, CSV, JSON, XML/RDF, HTML и PHP-массив. Произвольный шаблон через параметр -p позволяет собрать собственную строку, имя файла, отчёт или командный файл. Бинарные теги сохраняются в отдельные файлы, когда выбран режим извлечения исходных данных.
CSV удобен для просмотра в электронной таблице и массовой корректировки однотипных полей. ExifTool экспортирует строки по файлам, а затем может прочитать отредактированный CSV для обратной записи. У CSV есть структурное ограничение: списковые и сложные XMP-значения приходится представлять строкой, а весь результат больших каталогов буферизуется в памяти. Для десятков или сотен тысяч объектов лучше дробить обработку и не включать ненужные поля.
JSON сохраняет более точную структуру, включая массивы списковых тегов. Экспорт содержит SourceFile и набор полей, а обратный импорт сопоставляет записи с файлами. XML/RDF подходит для систем, ориентированных на XMP и семантические данные. MIE и EXV полезны как метаданные в бинарном виде, а не как человекочитаемый отчёт.
Экспорт метаданных не является экспортом фотографии. ExifTool не меняет разрешение, цветовой профиль изображения по команде конвертации, качество JPEG и формат пикселей как графический редактор. Он способен извлечь встроенное превью, сохранить ICC-блок или переписать метаданные, но для рендеринга и конвертации изображения нужен другой инструмент.
Пакетная обработка и автоматизация
Один вызов ExifTool принимает несколько файлов и каталогов. Параметр рекурсии проходит подкаталоги, фильтры по расширению ограничивают типы, а условие -if проверяет значения метаданных перед операцией. Можно обрабатывать только снимки конкретной камеры, файлы без Copyright, изображения старше заданной даты или объекты с координатами. Аргументные файлы сохраняют длинные наборы параметров и уменьшают риск ошибки при повторении операции.
Для интеграции в другие программы есть два основных пути. Perl-приложение подключает Image::ExifTool напрямую. Программа на другом языке запускает командную утилиту и обменивается данными через JSON, XML или длительно работающий процесс. Связка -stay_open и -execute оставляет ExifTool загруженным между заданиями и устраняет повторные затраты на запуск. Это существенно при обработке большого числа небольших файлов или при интерактивном интерфейсе сторонней оболочки.
Настройки в .ExifTool_config добавляют пользовательские теги, сокращения и составные поля. Такая конфигурация является исполняемым Perl-кодом, поэтому её следует получать только из доверенного источника. Конфигурационный файл может быть найден в каталоге ExifTool, домашнем каталоге или текущей рабочей папке. Для воспроизводимого процесса полезно явно задавать нужную конфигурацию и не полагаться на неизвестный файл, оставленный в рабочем каталоге.
Искусственного интеллекта в ExifTool нет. Программа не распознаёт сцену, лица и объекты, не генерирует подписи и не исправляет метаданные по смыслу изображения. Автоматизация основана на правилах, тегах, формулах, шаблонах и условиях. Официального облачного режима и синхронизации между устройствами также нет.
Типичный рабочий сценарий
Воспроизводимый пример — исправление часов камеры на один час, добавление авторских XMP-полей и проверка, что данные изображения не изменились. Работу следует выполнять на копии каталога или с сохранением создаваемых ExifTool резервных файлов. В примерах DIR обозначает папку со снимками; кавычки и правила перенаправления зависят от командной оболочки Windows, macOS или Linux.
- Проверить версию: команда exiftool -ver выводит номер установленного выпуска. Это позволяет отличить актуальную сборку от старой копии, оставшейся в системном пути.
- Снять исходный отчёт: exiftool -time:all -a -G0:1 -s DIR выводит все даты вместе с группами. Отдельно полезно сохранить FileName, DateTimeOriginal, CreateDate, ModifyDate, OffsetTimeOriginal, Make и Model в CSV.
- Зафиксировать данные изображения: для поддерживаемых типов запрашивают хеш графической части. Этот показатель сохраняют до редактирования и повторяют после него.
- Применить сдвиг: exiftool “-AllDates+=0:0:0 1:0:0” -P DIR увеличивает три стандартные встроенные даты на один час и сохраняет FileModifyDate. Команда не изменяет отсутствующие теги и не охватывает все QuickTime-поля, временные зоны и дату файловой системы.
- Добавить авторские сведения: полные имена XMP-dc:Creator и XMP-dc:Rights задают автора и текст прав. Явное указание XMP исключает случайное создание одноимённого поля в другой группе.
- Проверить результат: повторный вывод -time:all -a -G0:1 -s показывает, какие даты изменились. Авторские поля читаются по полным именам групп, а хеш данных изображения сравнивается с исходным.
- Открыть несколько файлов в целевой программе: каталогизатор, редактор или система публикации должны увидеть те же даты и авторские поля. Только после этой проверки резервные копии _original можно удалить или перенести в архив.
Этот сценарий показывает сильную сторону ExifTool: одна команда применяет точное правило к каталогу, а другая формирует контролируемый отчёт. Он также показывает границы автоматизации. AllDates не является универсальным обозначением всех временных полей; XMP и EXIF могут содержать разные значения; стороннее приложение способно читать только одну из групп или кешировать старые сведения.
Надёжность записи и сохранность исходников
При стандартной записи ExifTool переименовывает оригинал, добавляя суффикс _original, и создаёт изменённый файл под исходным именем. Это защитный механизм, а не временный мусор. Резервная копия позволяет вернуть файл, если другое приложение перестало его читать или значение было записано не в ту группу. Параметры перезаписи способны отключить создание резервной копии, но применять их разумно только после проверки команды на копии данных.
ExifTool не переписывает файл, когда обнаруживает существенную проблему формата. При этом документация прямо предупреждает: невозможно протестировать все варианты контейнеров и камер, поэтому риск повреждения не равен нулю. Дополнительно программа допускает запись недопустимых значений, особенно при обходе печатных преобразований. Для значимого архива нужны независимые резервные копии, выборочная проверка разными программами и сравнение технических отчётов.
Перезапись метаданных может изменить общий размер файла, порядок секций и числовые смещения ThumbnailOffset или PreviewImageStart. Это нормальное следствие реструктуризации: неиспользуемые блоки не копируются, XMP получает другое выравнивание, а вложение перемещается. Само изображение ExifTool не перекодирует. Для поддерживаемых форматов хеш данных изображения даёт более надёжную проверку, чем сравнение полного хеша файла, который неизбежно меняется вместе с метаданными.
MakerNotes и RAW
MakerNotes содержат проприетарные данные производителя и зависят от модели камеры, смещений и внутреннего устройства RAW. Большинство таких тегов считается постоянными: их можно редактировать, когда они уже существуют и поддерживаются, но нельзя произвольно создать или удалить по одному. Изменение Make или Model способно нарушить распознавание MakerNotes, а принудительное игнорирование ошибки через -m допускает потерю части блока.
Массовое удаление всех метаданных из RAW не рекомендуется. В этих структурах находятся сведения, необходимые для правильной интерпретации и отображения снимка. Для приватной публикации безопаснее экспортировать копию в подходящий конечный формат и очищать её, сохраняя исходный RAW отдельно.
Удаление метаданных и приватность
Команда очистки -All= удаляет доступные группы и теги, но результат зависит от контейнера. Для JPEG удаляются сегменты APP, кроме Adobe APP14 по умолчанию, и трейлеры; это даёт наиболее полную очистку. При этом удаление цветового профиля и сведений о цветовом пространстве способно изменить отображение цвета, хотя пиксельные данные останутся прежними. Для TIFF часть полей IFD0 может сохраниться, в PNG удаляются поддерживаемые EXIF, XMP, ICC и текстовые блоки, а в MOV и MP4 очищается главным образом верхний уровень.
PDF имеет особое ограничение: запись ExifTool добавляется как обратимое обновление, а исходные сведения физически остаются в файле. Поэтому ExifTool нельзя использовать как единственный инструмент безопасного удаления метаданных из PDF. Для PostScript удаляется только часть XMP и собственных полей. В RAW полная очистка угрожает данным, нужным для рендеринга.
Проверка приватности должна охватывать не только GPSLatitude и GPSLongitude. В файле могут находиться серийный номер камеры или объектива, имя владельца, уникальный идентификатор, время и часовой пояс, координаты в XMP и QuickTime, история обработки, встроенная миниатюра и старые значения в PDF-обновлениях. Надёжный процесс строится по белому списку необходимых полей, а не только по попытке удалить несколько очевидных тегов.
ExifTool выполняет операции локально и сам не устанавливает интернет-соединение, поэтому файлы не отправляются разработчику или в облако. Риск утечки возникает при последующей публикации, использовании сторонней оболочки либо включении ExifTool в сервис, который принимает чужие файлы. Поведение такого сервиса определяется его собственной архитектурой, а не утилитой.
Безопасность автоматизации
Несколько параметров ExifTool и конфигурационный файл способны выполнять Perl-код. К ним относятся пользовательская конфигурация, фильтры, форматирующие выражения, условия и некоторые операции копирования. Нельзя без проверки подставлять в них строки, полученные от неизвестного пользователя. Приложение, которое запускает ExifTool для загруженных файлов, обязано разделять параметры и имена файлов.
Имя, начинающееся с дефиса или символа Unicode minus, может быть воспринято как параметр. Для обработки недоверенных имён документация рекомендует помещать пути после разделителя — либо добавлять к имени известный каталог, например ./filename. Аналогично нельзя использовать недоверенную строку как заголовок прогресса или фрагмент фильтра.
.ExifTool_config запускается при старте и ищется в нескольких местах, включая текущую папку. Перед автоматической обработкой чужого архива следует убедиться, что в рабочем каталоге нет неизвестной конфигурации. Сам файл конфигурации должен храниться вместе с кодом проекта, проходить проверку версий и не редактироваться непривилегированными пользователями.
Производительность
Загрузка ExifTool создаёт заметные начальные затраты. Тысяча отдельных запусков для тысячи фотографий значительно менее рациональна, чем один вызов для каталога. Пакетный режим, -execute и -stay_open уменьшают число загрузок интерпретатора и таблиц тегов. Это особенно важно для графической оболочки, серверного задания и программного конвейера.
Скорость чтения повышается, когда перечислены только нужные теги или группы. Отключение составных полей и преобразования значений также уменьшает работу, если нужны исходные числа. Семейство параметров -fast пропускает часть глубокой проверки и извлечения, но конкретный уровень следует выбирать по документации: ускорение достигается ценой неполного набора сведений.
CSV-экспорт большого каталога хранит сформированный результат в памяти до записи. Отчёт со всеми тегами, вложенными структурами и длинными XMP-блоками способен занять значительно больше памяти, чем таблица из десяти заранее выбранных полей. Для масштабной медиатеки практичнее выгружать ограниченный набор колонок, делить каталог на партии или использовать потоковый формат и собственную обработку.
Стоимость, лицензирование и обновления
ExifTool бесплатен для личной, учебной и профессиональной работы в рамках свободной лицензии. Функции не разделены на Home, Pro или Enterprise. Windows 32 bit, Windows 64 bit, macOS Package и полная Perl-поставка содержат разные способы запуска одного проекта, а не разные уровни возможностей. Регистрация, ключ активации и онлайн-проверка лицензии не нужны.
Плюсы и минусы
Плюсы ✔️
- Читает метаданные очень широкого набора изображений, RAW, видео, аудио, документов и технических контейнеров.
- Поддерживает EXIF, GPS, IPTC, XMP, ICC, MakerNotes и десятки тысяч конкретных тегов.
- Обрабатывает каталоги и деревья папок одной операцией, применяет фильтры и условия.
- Экспортирует отчёты в CSV, JSON, XML/RDF, HTML, табличный и пользовательский форматы.
- Работает локально, не загружает файлы в интернет и не требует регистрации.
- Доступен в Windows, macOS, Linux и других Unix-подобных системах.
- По умолчанию сохраняет исходник с суффиксом _original при записи.
- Предоставляет Perl API и длительно работающий режим для интеграции с другими приложениями.
- Умеет вычислять хеш именно данных изображения для проверки неизменности графической части.
Минусы ❌
- Основной интерфейс — командная строка; визуальной формы редактирования и предпросмотра нет.
- Одноимённые поля в EXIF, IPTC, XMP и QuickTime требуют понимания групп и приоритетов.
- Поддержка записи различается между форматами и отдельными структурами; широкое чтение не гарантирует редактирование.
- Полное удаление метаданных не гарантируется для TIFF, PNG, PDF, PostScript, MOV, MP4 и RAW.
- Ошибочная массовая команда затрагивает весь выбранный каталог, а принудительная запись допускает некорректные значения.
- Запуск имеет накладные расходы, а большой CSV-отчёт способен потребовать много памяти.
- Русский режим переводит подписи, но не команды, имена тегов, предупреждения и ошибки.
- Нет встроенного каталогизатора, редактора пикселей, облачной синхронизации, мобильного интерфейса и функций искусственного интеллекта.
Кому подойдёт
- Фотографам с большим архивом: для сдвига времени, переноса авторских полей, проверки GPS, извлечения превью и организации файлов по дате.
- Архивистам и специалистам по цифровым коллекциям: для инвентаризации тегов, экспорта в структурированные форматы и контроля сохранности графических данных.
- Разработчикам: для добавления метаданных в приложение через Perl API, JSON/XML или -stay_open.
- Специалистам по расследованию файлов: для чтения групп, неизвестных тегов, смещений и подробной структуры без изменения исходника.
- Редакциям и агентствам: для пакетного добавления прав, автора, описания и согласованных XMP-полей перед передачей материалов.
- Администраторам медиаконвейеров: для проверяемых правил, условий, журналов и обработки каталогов без ручного открытия каждого файла.
Кому не подойдёт
- Новичку, которому нужна визуальная форма: без графической оболочки придётся изучать терминал, кавычки, пути и имена тегов.
- Пользователю мобильного устройства: официальный проект не предоставляет приложения Android или iOS.
- Тому, кому нужна проявка RAW: ExifTool извлекает метаданные и встроенные превью, но не заменяет RAW-конвертер.
- Для визуального каталога: программа не показывает сетку снимков, рейтинги, альбомы и поиск по миниатюрам.
- Для гарантированной санации PDF: исходные PDF-метаданные остаются внутри файла после обратимого обновления.
- Для смыслового анализа изображений: распознавания лиц, сцен, объектов и автоматических подписей нет.
Альтернативы ExifTool
ExifToolGui
ExifToolGui — поддерживаемая Windows-оболочка, которая вызывает ExifTool и показывает файлы, теги и значения в графическом окне. Она ближе всего к ExifTool по глубине доступных метаданных, потому что использует тот же движок. Выбор оправдан для ручного просмотра и правки на Windows. Для кроссплатформенных сценариев, серверной автоматизации и полностью воспроизводимых пакетных команд исходная утилита остаётся прямее.
Exiv2
Exiv2 — свободная кроссплатформенная библиотека C++ и командная утилита для EXIF, IPTC, XMP и ICC. Она удобна разработчикам, которым нужен нативный C++ API и работа с распространёнными графическими форматами. ExifTool охватывает больше типов файлов, частных MakerNotes и способов отчётности, тогда как Exiv2 проще встроить в проект на C++ без отдельного Perl-процесса.
digiKam
digiKam — графический менеджер фотографий для Linux, Windows и macOS. Он сочетает коллекции, миниатюры, поиск и визуальное редактирование метаданных. Это более подходящий вариант для ежедневной организации библиотеки мышью. ExifTool лучше справляется с низкоуровневым аудитом, точными именами групп, необычными форматами и автоматизацией вне каталога.
Adobe Bridge
Adobe Bridge — настольный менеджер ресурсов для Windows и macOS с панелью метаданных, ключевыми словами, рейтингами, метками и пакетным переименованием. Он удобен в визуальном процессе Adobe и не требует составлять команды для обычных полей. ExifTool доступен также на Linux, читает больше технических структур и лучше подходит для сценариев и диагностики, но не предоставляет визуальный просмотр коллекции.
Частые проблемы и диагностика
Команда exiftool не найдена
Причина обычно связана с текущим каталогом или системным PATH. В Windows требуется файл exiftool.exe, а рядом с современной сборкой — каталог exiftool_files. В macOS пакет устанавливает команду в /usr/local/bin. В Linux распакованный сценарий запускается по относительному пути либо устанавливается в каталог, присутствующий в PATH. Проверка exiftool -ver сразу показывает, какая копия запускается.
Windows-версия перестала работать после переноса
При перемещении одного EXE без exiftool_files нарушается структура поставки. Нужно вернуть сопутствующий каталог в ту же папку. Другая частая причина — оставленное имя exiftool(-k).exe: оно рассчитано на двойной щелчок и перетаскивание, а для терминала документированное имя — exiftool.exe.
macOS блокирует установщик
Пакет может попасть под Gatekeeper как приложение от непроверенного разработчика. После первой попытки открытия в Privacy & Security появляется Open Anyway для этого объекта. Следует использовать официальный пакет нужной версии и проверить его контрольную сумму, а не отключать Gatekeeper для всей системы.
Появляется сообщение «0 image files updated»
Основные причины: значение не преобразуется в допустимый формат, целевой тип файла не поддерживает выбранную группу, тег доступен только для чтения, MakerNotes-поле отсутствует или временной сдвиг применён к несуществующему полю. Сначала нужно прочитать точное имя через -a -G0:1 -s, затем проверить возможность записи для формата. Подробный режим -v3 показывает предупреждения, которые теряются при массовом присваивании одноимённых тегов.
Программа показывает несколько одинаковых названий
Повторы обычно принадлежат разным группам. Комбинация -a -G0:1 -s выводит все экземпляры, семейство и точное имя. После этого запись выполняют с префиксом группы. Оставлять несколько противоречащих значений нежелательно: разные приложения выбирают EXIF, IPTC или XMP по собственному приоритету.
После записи изменилась дата файла
FileModifyDate относится к файловой системе и по умолчанию становится текущей при переписывании метаданных. Параметр -P сохраняет время изменения; поведение даты создания зависит от ОС и режима записи. Перед операцией полезно вывести -time:all -a -G0:1 -s, чтобы отделить системные даты группы File от EXIF, XMP и QuickTime.
Кириллица выводится нечитаемо
ExifTool использует Unicode, но терминал, перенаправленный файл и целевое приложение должны согласовать кодировку. В Windows старое окно консоли способно работать не в UTF-8; современный Windows Terminal и кодовая страница UTF-8 уменьшают проблему. Параметры семейства -charset управляют кодировкой отдельных метаданных и имен файлов, а -lang ru отвечает за язык подписей, а не за исправление неверной кодировки исходного тега.
Размер файла изменился, хотя менялись только метаданные
ExifTool перестраивает блоки, удаляет неиспользуемое заполнение, меняет размер XMP и пересчитывает смещения вложений. Полный хеш файла поэтому меняется. Для проверки графической части используют хеш данных изображения, просмотр и открытие в целевых приложениях. Сам факт уменьшения или увеличения файла не означает перекодирование пикселей.
Появилось предупреждение о MakerNotes
Не следует сразу подавлять его параметром -m. Повреждённый, неизвестный или несовместимый блок способен потеряться при принудительной записи. Безопасный порядок — сохранить оригинал, проверить Make и Model, обновить ExifTool, выполнить операцию на копии и сравнить чтение в программе производителя камеры.
Обработка каталога идёт медленно
Нужно уменьшить число отдельных запусков и обрабатывать каталог одной командой. Для интеграции используется -stay_open, для нескольких этапов — -execute. Чтение ускоряется при перечислении нужных тегов и применении подходящего уровня -fast. Экспорт всех полей в единый CSV, напротив, увеличивает время и память.
Стороннее приложение не видит новое значение
Чаще всего данные записаны не в ту группу либо приложение читает sidecar и кеш, а не сам файл. Следует вывести все одноимённые теги с группами, узнать, какой стандарт использует целевая программа, и записать конкретное поле. После изменения требуется обновить метаданные или очистить кеш внутри каталогизатора по его штатной процедуре.
После очистки метаданные всё ещё находятся
Команда -All= имеет разные границы для JPEG, TIFF, PNG, PDF, MOV, MP4 и RAW. В PDF исходная информация остаётся физически. В RAW полная очистка не рекомендуется. Проверять нужно все группы, вложенные изображения и целевой сервис публикации. Для чувствительного материала надёжнее создать отдельную экспортную копию и применить формат-специфический процесс санации.
В каталоге накопились файлы _original
Это ожидаемые резервные копии. Они появляются при обычной записи и сохраняют исходное состояние. Удалять их следует после сравнения отчётов, хеша данных изображения, выборочного просмотра и открытия в рабочем приложении. Отключение резервирования до такой проверки повышает цену ошибки пакетной команды.
Как проверить результат
- Сравнить число файлов: количество обработанных, обновлённых, неизменённых и ошибочных объектов должно соответствовать ожидаемому набору.
- Повторно прочитать точные поля: использовать -a -G0:1 -s и полные имена тегов, а не только человекочитаемые подписи.
- Сохранить отчёты до и после: CSV или JSON позволяет увидеть непреднамеренные изменения соседних полей.
- Сравнить данные изображения: хеш графической части подтверждает отсутствие изменений пиксельного содержимого для поддерживаемого типа.
- Открыть файлы в нескольких программах: просмотрщик, RAW-конвертер, каталогизатор и система публикации проверяют реальную совместимость.
- Проверить резервные копии: файл _original должен открываться и соответствовать исходному отчёту.
- Проверить приватность отдельно: вывести GPS, серийные номера, владельца, временные зоны, XMP-историю и вложенные превью.
- Проверить имена и пути: после переименования убедиться в отсутствии коллизий и потери sidecar-файлов.
Для производственного процесса проверка должна быть автоматической. Скрипт может считать обновлённые файлы, сравнивать обязательные значения и прерывать публикацию при предупреждении. Визуальная выборка остаётся необходимой для форматов, где метаданные влияют на интерпретацию изображения или где целевое приложение строго относится к структуре MakerNotes.
FAQ
Изменяет ли ExifTool качество фотографии?
ExifTool не изменяет сами данные изображения, поэтому метаданные редактируются без перекодирования пикселей. Контейнер при этом перестраивается: меняются размер файла, XMP-заполнение и смещения вложений. Для RAW необходимо учитывать, что часть метаданных влияет на проявку, поэтому массовое удаление всех групп небезопасно.
Можно ли восстановить исходные метаданные после ошибки?
При стандартной записи исходник сохраняется как файл с суффиксом _original. Если резервирование было отключено и отдельной копии нет, ExifTool не является средством восстановления удалённых данных. У PDF старые сведения остаются внутри обратимого обновления, но это ограничение приватности, а не универсальная резервная копия.
Поддерживает ли ExifTool HEIC, AVIF и WebP?
Актуальная таблица форматов отмечает чтение и запись для HEIC/HEIF, AVIF и WebP. Конкретный тег должен поддерживаться выбранным контейнером и группой. После изменения таких файлов нужна проверка в целевых приложениях, поскольку сложные варианты HEIC могут содержать motion photo, HDR gain map и дополнительные изображения.
Можно ли полностью обезличить фотографию одной командой?
Для JPEG массовая очистка наиболее полна, но даже там требуется решить вопрос цветового профиля и Adobe APP14. Для TIFF, PNG, PDF, видео и RAW ограничения шире. Надёжное обезличивание включает белый список разрешённых полей, отдельную экспортную копию, повторное чтение всех групп и проверку вложенных превью.
Есть ли полноценный русский интерфейс?
Графического интерфейса у ExifTool нет. Параметр -lang ru переводит описания тегов и преобразованные значения. Команды, точные имена тегов, группы, предупреждения и ошибки остаются английскими.
Работает ли программа без интернета?
Да. Обработка выполняется локально, а сама ExifTool не устанавливает сетевое соединение. Интернет нужен пользователю только для получения пакета, документации, обновлений или дополнительной базы геолокации.
Может ли ExifTool конвертировать RAW в JPEG?
Нет. Он читает RAW, изменяет поддерживаемые метаданные и извлекает встроенные JPEG-превью, но не выполняет демозаикинг и проявку сенсорных данных. Для конвертации нужен RAW-редактор или конвертер.
Как лучше хранить метаданные: внутри файла или в XMP-sidecar?
Встроенная запись удобна для JPEG и других форматов с предсказуемой поддержкой. Sidecar предпочтителен, когда оригинал нельзя менять, формат не принимает нужную группу или рабочий каталогизатор ведёт неразрушающую историю в XMP. Выбор должен быть единым для архива, иначе появятся конфликтующие источники.
Можно ли использовать ExifTool в приложении не на Perl?
Да. Приложение запускает процесс и получает JSON, XML или другой структурированный вывод. Для частых операций режим -stay_open сохраняет процесс загруженным, а -execute разделяет задания. Необходимо безопасно передавать имена файлов после — и не подставлять недоверенные строки в исполняемые выражения.
Читает ли ExifTool C2PA?
ExifTool читает структуры C2PA JUMBF в JPEG 2000-семействе и связанных контейнерах, но C2PA не относится к полноценно записываемым форматам метаданных ExifTool. Инструмент подходит для технического просмотра обнаруженных блоков, а создание и криптографическая проверка цепочки происхождения требуют специализированных средств C2PA.
Почему XMP-список меняется при экспорте через CSV?
Некоторые XMP-поля являются массивами, например список создателей или ключевых слов. CSV представляет ячейку строкой и нуждается в выбранном разделителе, поэтому структура упрощается. JSON лучше сохраняет списковые значения и предпочтителен для точного обмена между программами.
Меняет ли AllDates время файла в проводнике?
AllDates охватывает DateTimeOriginal, CreateDate и ModifyDate внутри метаданных, но не системные даты. При обычной записи FileModifyDate становится текущей; -P сохраняет её. Для синхронного изменения системной отметки требуется отдельная операция с FileModifyDate.
Можно ли сделать ExifTool визуальным редактором?
Сам проект остаётся командной утилитой. На Windows для визуальной работы существует отдельная оболочка ExifToolGui, а кроссплатформенные менеджеры вроде digiKam предоставляют панели и миниатюры. Эти программы имеют собственные правила отображения и не меняют статус ExifTool как движка командной строки.
Итог
ExifTool оправдан там, где метаданные являются частью управляемого процесса, а не разовой подписью к одному снимку. Для фотографического архива его сильные сценарии — аудит тегов, коррекция времени, перенос прав, геопривязка, извлечение превью и пакетное переименование. Для разработчика ценность дают Perl API, структурированный вывод и -stay_open. Для цифровой экспертизы важны группы, неизвестные поля, технический дамп и чтение множества контейнеров.
При ручной правке нескольких фотографий графическая оболочка или каталогизатор будет проще. При проявке RAW, визуальном отборе и редактировании пикселей ExifTool должен работать рядом с профильной программой, а не вместо неё. Для удаления чувствительных данных требуется учитывать формат: JPEG очищается полнее, PDF сохраняет старые обновления, а RAW нельзя бездумно лишать всех служебных блоков.
Рациональный способ внедрения — зафиксировать версию, работать на копии или сохранять _original, указывать группы явно, сначала формировать отчёт, затем применять пакетную операцию и проверять результат в нескольких программах. При таком процессе сложность командной строки превращается в контролируемость: одинаковое правило можно повторить, проверить и включить в автоматизацию без ручного редактирования каждого файла.








