TIFF — та структура, на которой построили EXIF.

Перетащите TIFF ниже. Ваш браузер почти наверняка не сумеет его нарисовать, а теги всё равно прочтутся.

В TIFF метаданные и есть файл

Все прочие форматы приделывают метаданные сбоку: JPEG кладёт блок TIFF внутрь сегмента APP1, HEIC хранит его элементом, PNG выдумал чанки. У TIFF нет сегмента, потому что он и не нужен — файл открывается 8-байтовым заголовком, указывающим на Image File Directory, и этот каталог одновременно список тегов и указатель на пиксели. Читая EXIF где угодно ещё, вы читаете обрывок TIFF, скопированный в другой контейнер.

Порядок байтов объявляют, а не предполагают

TIFF начинается с II или MM — Intel или Motorola, от младшего или от старшего байта — а следом пишет число 42 в том же порядке как самопроверку. Всё, что идёт дальше, каждое смещение и каждое целое, читается именно так. Поэтому один и тот же тег может лежать в двух разных раскладках байтов, и поэтому обрезанный TIFF отказывает так полно: потеряв заголовок, нельзя истолковать ни одного смещения в файле.

Один файл, несколько каталогов

IFD сцеплены: каждый кончается смещением следующего или нулём. Многостраничное сканирование использует эту цепочку для страниц, а миниатюра обычно лежит во втором каталоге. EXIF и GPS — подкаталоги, подвешенные к первому тегами-указателями. Так что таблица ниже, возможно, показывает вам первую страницу из нескольких — и сырой DNG, который есть TIFF с добавочными тегами, устроен так же.

Где TIFF держит вещи

II / MM
Порядок байтов, в первых двух байтах. Всё остальное читается через него.
IFD0
Основной каталог: теги изображения, марка, модель, ориентация, разрешение.
IFD1
Второй каталог, по обычаю миниатюра или следующая страница.
ExifIFD
Экспозиция, объектив и время съёмки. Подкаталог, к которому ведёт тег-указатель.
GPSIFD
Широта, долгота, высота. Ещё один подкаталог.
StripOffsets
Где лежат пиксели. Такой же тег, как все — в этом и суть.

Вопросы о TIFF

Почему теги читаются, если браузер не показывает изображение?Открыть

Потому что прочесть теги — значит пройти по каталогам и смещениям, а это арифметика, тогда как показать изображение требует декодера под то сжатие, которым пользуется файл. Ни один распространённый браузер декодера TIFF не несёт. Предпросмотр скажет, что недоступен; таблица тегов будет полной.

DNG — это то же самое, что TIFF?Открыть

По устройству почти. DNG построен на TIFF/EP, поэтому у него тот же заголовок, те же каталоги и те же 12-байтовые записи тегов плюс дополнительные теги для сырых данных сенсора. Всё, что вы узнали здесь про IFD, к нему применимо.

В моём TIFF 40 страниц. Какую я вижу?Открыть

Первую. Каталоги — связный список, и эта рабочая область читает тот, на который указывает заголовок, то есть первую страницу. Дальнейшие страницы несут собственные теги и не показываются.

Как очищается TIFF?Открыть

Через очистку перекодированием, которая выгружает JPEG. Поскольку теги TIFF и его указатель на пиксели живут в одной структуре, отпустить теги и оставить файл TIFF'ом в браузере невозможно — да и записать TIFF ни один браузер всё равно не умеет.

Что он умеет

Удалить данные EXIF
Перетащите фотографию и скачайте копию без вшитых метаданных. У JPEG отпадает сегмент EXIF без единого касания пикселей; HEIC, PNG, WebP и остальные перекодируются. Ничего не загружается на сервер.
Убрать GPS-координаты
Посмотрите координаты, которые несёт фотография, и скачайте копию без них. JPEG теряет теги места и сохраняет всё остальное. Ничего не загружается на сервер.
Править EXIF у JPEG
Меняйте заголовок, автора, описание, права, программу и время съёмки у JPEG, а затем скачивайте изменённую копию. Работает на устройстве; ваш исходный файл никогда не трогают.
Просмотрщик XMP, IPTC и ICC
Читайте каждую группу метаданных, которую несёт файл — EXIF, XMP, IPTC, ICC, заметки производителя — сгруппированными и выгружаемыми в JSON. Для контроля качества материалов, экспертизы и отладки цепочки. Ничего не загружается на сервер.
Открыть несколько фотографий
Откройте до пятидесяти фотографий, посмотрите, у каких есть местоположение, и заберите весь набор таблицей. Ничего не загружается, а оригиналы никогда не перезаписываются.