Удаление EXIF из фото
Удалить EXIF из фотографии прямо в браузере: покажем модель камеры, дату, GPS и все теги, соберём новый файл без метаданных и дадим скачать его.
Зачем убирать EXIF из фотографий
Обычный снимок с телефона весит больше, чем картинка, и разница лежит в служебном блоке EXIF. Туда камера записывает модель устройства, дату и точное время съёмки, параметры выдержки и диафрагмы, а в половине случаев ещё и точные GPS-координаты места. Дальше эти данные едут вместе с файлом: на авито, в облако, в редакцию, в архив. Спрос «как убрать exif из фотографии» возникает по двум причинам. Первая — приватность: координаты дома или маршрута не должны уезжать вместе с фото. Вторая — вес: метаданные с параметрами съёмки и встроенной миниатюрой иногда занимают заметную долю от размера файла, а для каталога на тысячу фотографий это десятки мегабайт лишнего трафика.
Что умеет инструмент
- Разбор JPEG по сегментам-маркерам и PNG по чанкам с показом смещения и размера каждого блока
- Сводка по файлу: производитель, модель камеры, дата съёмки, ориентация, программа и размер кадра
- GPS-координаты с переводом градусов, минут и секунд в десятичную запись
- Полный список EXIF-тегов с номерами, типами и значениями по группам IFD0, EXIF и GPS
- Пересборка файла без выбранных блоков, сравнение веса до и после и скачивание копии
Как убрать EXIF из фотографии
- Перетащите JPEG или PNG в поле или нажмите, чтобы выбрать файл
- Посмотрите сводку и список тегов: там видно, что именно камера записала в файл
- Отметьте, какие блоки удалять: EXIF, XMP, IPTC, комментарий или текстовые чанки PNG
- Нажмите «Удалить метаданные» и скачайте очищенную копию, сравнив размер до и после
Как устроен формат JPEG и что именно вырезается
JPEG состоит из маркеров. Файл начинается с сигнатуры FFD8, дальше идут сегменты: два байта маркера, два байта длины и payload, где длина включает саму себя. EXIF живёт в сегменте APP1 (FFE1) и начинается с шести байт «Exif» и двух нулей; за ними идёт структура TIFF: маркер порядка байтов II или MM, магическое число 42 и смещение первого IFD. Внутри IFD лежат записи по 12 байт, а полезная нагрузка мельче четырёх байт хранится прямо в записи, а большая — по смещению. Вложенные таблицы EXIF и GPS открываются через указатели 0x8769 и 0x8825. Пересборка файла идёт побайтно: маркеры копируются как есть, а выбранные сегменты просто не копируются.
Что лежит в метаданных фотографии
| Тег EXIF | Где находится | Что означает |
|---|---|---|
| Make 0x010F | IFD0 | Производитель камеры, например Canon или Apple |
| Model 0x0110 | IFD0 | Точная модель устройства съёмки |
| DateTime 0x0132 | IFD0 | Дата и время съёмки в исходном виде |
| DateTimeOriginal 0x9003 | EXIF | Момент нажатия на спуск, а не запись в файл |
| Orientation 0x0112 | IFD0 | Поворот кадра от 1 до 8, задаёт как показывать снимок |
| Software 0x0131 | IFD0 | Программа, которой записан файл |
| ExposureTime 0x829A | EXIF | Выдержка, например 1/120 |
| FNumber 0x829D | EXIF | Диафрагма, например F/1.8 |
| ISOSpeedRatings 0x8827 | EXIF | Чувствительность, например ISO 100 |
| GPSLatitude и GPSLongitude 0x0002, 0x0004 | GPS | Координаты места съёмки в градусах |
| eXIf (чанк PNG) | PNG | Тот же EXIF, но внутри файла PNG |
Номера тегов приведены в шестнадцатеричном виде — по ним ориентируются при ручном разборе файла. Дата и время в EXIF записываются в виде строки, и форматы даты и времени стоит держать в голове рядом с этим.
Кому и зачем это нужно
Первый сценарий — публикация. Фотография из отпуска или со дня рождения попадает в общий доступ, и вместе с ней уезжают координаты квартиры и дата. Второй — продажа и аренда жилья: объявление о квартире с точным адресом в EXIF выдаёт объект поиском по координатам, а такие снимки делают с телефона. Третий — отчёты и подрядчики: фотографии с объекта уходят в почту, в CRM, в облако, и компания потом обнаруживает в корпоративной папке геометки чужих частных домов.
Отдельный класс задач — подготовка изображений для сайта. В каталоге товаров или в портфолио фотографий на двадцать тысяч файлов каждый лишний килобайт складывается в десятки мегабайт, которые вы платите за хранение и отдаёте посетителям. Удаление метаданных уменьшает и вес, и объём утечки. Для таких задач рядом полезны конвертер WebP в JPG и изменение размера изображения — но помните, что они, в отличие от этого инструмента, действительно пережимают картинку и меняют качество.
- Публикация личных снимков без геометок и даты
- Объявления о недвижимости, где адрес не должен утекать
- Корпоративные фотоархивы и отчёты подрядчиков
- Каталоги и портфолио, где важен вес каждого файла
- Подготовка снимков к загрузке в сторонние сервисы
Частые ошибки при очистке метаданных
Первая ошибка — рассчитывать, что после очистки фотография станет анонимной. Метаданные и содержимое кадра — разные вещи. Удаление EXIF убирает дату, модель и координаты, но человек на снимке, номер машины и вывеска за окном остаются на месте. Вторая ошибка — обрезать снимок, чтобы «стереть» водяной знак: обрезка убирает часть картинки, а не подпись, и оставляет некрасивое поле. Третья — путать EXIF и ICC-профиль: один хранит историю съёмки, другой отвечает за цвет и его удалять не нужно. Цвет удобно подбирать отдельно, через поиск цвета по названию.
Четвёртая ошибка — забыть про ориентацию и получить «упавшее» фото. Пятая — удалить EXIF у единственной копии снимка, а потом обнаружить, что в ней была единственная нормальная ориентация. Шестая — пытаться «почистить» файл, который уже очищен: инструмент честно скажет, что удалять нечего, и это не ошибка, а результат. И последняя, седьмая: ожидать, что после очистки файл станет точно таким же по размеру. Он станет меньше, но не равен исходнику в байтах.
- Считать, что удаление EXIF убирает людей и номера в кадре
- Пытаться стереть водяной знак обрезкой картинки
- Удалять ICC-профиль вместе с EXIF
- Забыть про ориентацию кадра и получить боком лежащий снимок
- Чистить единственную копию файла без бэкапа
Как устроен разбор файла
Разбор начинается с сигнатуры: два байта FFD8 должны стоять в самом начале, иначе это не JPEG. Дальше файл читается как чередование сегментов. У каждого сегмента два байта маркера и два байта длины, а длина считается вместе с этими четырьмя байтами. Пока маркер не равен FFDA, сегменты просто перечисляются. APP0 — это JFIF, APP1 — EXIF или XMP, APP2 — цветовой профиль ICC, APP13 — данные Photoshop и IPTC, FFFE — произвольный комментарий.
Дальше начинается самое интересное — содержимое EXIF. Заголовок «Exif» и два нуля отделяют его от остального APP1, а за ними идёт TIFF: байты II или MM задают порядок, число 42 служит проверкой, а следующие четыре байта указывают смещение первой таблицы IFD. В таблице сначала идёт число записей, потом сами записи по двенадцать байт: номер тега, тип, количество значений и четыре байта, где короткое значение лежит прямо, а длинное адресуется смещением. Указатели 0x8769 и 0x8825 открывают вложенные таблицы EXIF и GPS. Именно из них берутся дата, параметры съёмки и координаты.
Что происходит на каждом шаге разбора
| Шаг | Действие | Результат |
|---|---|---|
| 1 | Проверка сигнатуры | первые два байта читаются как FFD8 |
| 2 | Обход маркеров | читаются маркер и двухбайтная длина каждого сегмента |
| 3 | Выборка APP1 | внутри ищется заголовок «Exif» и два нуля |
| 4 | Заголовок TIFF | байты II или MM, магическое число 42, смещение IFD |
| 5 | Чтение IFD0 | таблица из 12-байтных записей с номерами тегов |
| 6 | Вложенные IFD | указатели 0x8769 и 0x8825 ведут к EXIF и GPS |
| 7 | Значения | короткие берутся из записи, длинные — по смещению |
| 8 | Пересборка | все сегменты копируются, кроме выбранных для удаления |
Весь разбор идёт в браузере на обычных байтах файла, без сторонних библиотек и без отправки данных наружу.
Что делать с ориентацией, весом и остальными форматами
Ориентацию приходится выбирать: либо оставить тег, либо смириться с тем, что вертикальные снимки придётся доворачивать. Иногда удобнее другой порядок действий — сначала привести кадр к нужному виду в редакторе, и тогда метаданные можно убирать без оглядки на тег 0x0112. По весу картина такая: очистка убирает десятки байт или килобайт, а настоящее сжатие даёт десятки процентов. Для этого есть конвертер WebP в JPG — но он действительно пережимает картинку, в отличие от очистки метаданных. А для растровых значков и логотипов отдельная история — конвертер SVG в PNG.
Есть и форматы, где метаданные лежат по-другому. В HEIC и HEIF их записывает сам контейнер, и там есть отдельная тема с открытием HEIC-фотографий. В RAW-файлах камер метаданные неотделимы от данных, и там удаление EXIF означает потерю параметров съёмки целиком. Мы работаем только с JPEG и PNG: это два формата, где очистка безопасна и предсказуема. Про PNG стоит помнить, что EXIF там лежит в отдельном чанке eXIf, а не в сегменте APP1, — хотя сам принцип «вырезать блок с метаданными и не трогать остальное» тот же.
- Ориентация: оставить тег 0x0112 или доворачивать снимок вручную
- Вес: очистка убирает килобайты, сжатие убирает десятки процентов
- HEIC и HEIF: метаданные пишет контейнер, там другой разбор
- RAW: метаданные неотделимы от данных съёмки
- PNG: EXIF лежит в чанке eXIf, а не в сегменте APP1
Частые вопросы об удалении EXIF
Что такое EXIF и где он лежит в файле?
Удаление EXIF уменьшит файл?
Что будет, если удалить EXIF со снимка, сделанного с поворотом телефона?
Удаляет ли инструмент то, что видно на самой фотографии?
Почему после очистки картинка открылась с другими пропорциями или сдвигом?
Есть ли смысл чистить EXIF, если сервис вырезает его сам?
Что такое XMP и стоит ли его удалять?
Что произойдёт с файлом, если очистить EXIF у картинки, полученной из интернета?
Похожие инструменты
Выбор цвета и конвертер
Выбирайте цвета и конвертируйте между форматами HEX, RGB, HSL и HSV
Конвертер HEX в RGB
Конвертируйте HEX-коды цветов в значения RGB и RGBA
Конвертер RGB в HEX
Конвертируйте значения RGB в HEX-коды
Генератор цветовых палитр
Создавайте цветовые палитры из базового цвета — комплементарные, аналоговые, триадные и другие
Проверка контрастности WCAG
Проверяйте коэффициенты контрастности цветов на соответствие WCAG AA и AAA
Генератор хеш-цвета
Генерируйте согласованные, детерминированные цвета из любой текстовой строки
Генератор CSS-градиентов
Создавайте красивые CSS-градиенты визуально с несколькими цветовыми остановками
Поиск названий цветов
Найдите ближайший именованный CSS цвет для любого HEX/RGB ввода с вычислением расстояния