Как исправить перевернутое или боковое фото по EXIF-данным

EXIF (Exchangeable Image File Format) — это стандарт метаданных, встроенных в файлы изображений. Среди прочих параметров он содержит тег Orientation, который сообщает программам-просмотрщикам, как именно нужно отображать фотографию: в исходном положении, повёрнутой на 90°, 180° или 270°, а также с зеркальным отражением. Когда это значение расходится с реальным содержимым пикселей, фото отображается боком или вверх ногами.

Что такое тег Orientation в EXIF и почему он ломается

Большинство смартфонов и камер снимают физические пиксели всегда в одной ориентации матрицы, а затем записывают в EXIF нужный угол поворота. Проблема возникает в нескольких ситуациях:

  • Редактор обрезал или пересохранил файл, не обновив тег Orientation.
  • Загрузка на сторонний сервис (мессенджер, CMS) сбросила метаданные.
  • Старый браузер или программа не читает EXIF и показывает «сырые» пиксели.
  • Конвертация из RAW в JPEG прошла без переноса ориентации.

Значения тега Orientation описаны в стандарте EXIF 2.32 и принимают целочисленные значения от 1 до 8:

Значение Описание Угол поворота для исправления
1 Нормальное отображение
2 Зеркальное по горизонтали Отражение
3 Повёрнуто на 180° 180°
4 Зеркальное по вертикали Отражение
5 Поворот 90° + зеркало 90° + отражение
6 Повёрнуто на 90° по часовой 270° (или −90°)
7 Поворот 270° + зеркало 270° + отражение
8 Повёрнуто на 270° по часовой 90°

Способы исправления на Windows

Пользователи Windows располагают несколькими инструментами — от встроенных до сторонних:

  • Проводник Windows 11/10 — правый клик → «Повернуть вправо/влево». Перезаписывает пиксели и обновляет EXIF. Работает только с JPEG.
  • Microsoft Photos — кнопка поворота в режиме просмотра. Физически переворачивает пиксели и сохраняет файл.
  • IrfanView 4.66 (2024) — меню Image → Rotate Left/Right плюс отдельная опция «Rotate only by EXIF information» без потери качества JPEG (lossless).
  • FastStone Image Viewer 7.8 — поддерживает пакетный поворот с автоматическим чтением EXIF.

Поворот через Проводник Windows перезаписывает JPEG с перекодированием, что ведёт к незначительной потере качества при каждом сохранении.

Способы исправления на macOS и iOS

  • Finder / Быстрый просмотр — не умеет редактировать ориентацию напрямую.
  • Приложение «Фото» (macOS 14 Sonoma, iOS 17) — кнопка кадрирования → иконка поворота. Сохраняет изменение в библиотеке без деструктивной перезаписи оригинала.
  • Preview (Просмотр) — меню Tools → Rotate Left/Right. При сохранении через File → Save обновляет и пиксели, и EXIF.
  • ExifTool (CLI, версия 12.76, 2024) — команда exiftool -Orientation=1 -n foto.jpg меняет только тег без перекодирования.

Исправление через командную строку с ExifTool

ExifTool — наиболее точный инструмент для работы с метаданными. Актуальная версия на начало 2026 года — 12.80. Основные команды:

Задача Команда
Прочитать текущую ориентацию exiftool -Orientation foto.jpg
Сбросить ориентацию в «нормальную» exiftool -Orientation=1 -n foto.jpg
Повернуть физически и обновить EXIF exiftool -api quicktimeutc -Orientation=1 -n -overwrite_original foto.jpg
Пакетная обработка папки exiftool -Orientation=1 -n /путь/к/папке/
Авто-поворот пикселей по EXIF exiftool -autorotate foto.jpg (требует jpegtran)

Исправление через онлайн-сервисы

Если устанавливать программы нет возможности, помогут веб-инструменты. По данным на 2026 год наиболее популярны:

  • Birme.net — пакетное изменение размера с поддержкой EXIF-ориентации, бесплатно до 50 файлов за сессию.
  • Exif.tools — просмотр и редактирование любых EXIF-тегов прямо в браузере.
  • iLoveIMG.com — ротация с возможностью выбора угла, поддержка JPEG, PNG, WebP, лимит файла — 200 МБ.
  • Toolur.com — исправляет ориентацию автоматически по данным EXIF без ручного ввода угла.

При использовании онлайн-сервисов никогда не загружайте фотографии с персональными данными или геолокацией — метаданные GPS также хранятся в EXIF.

Исправление ориентации программно (для разработчиков)

Если вы обрабатываете изображения в коде, воспользуйтесь следующими библиотеками:

Язык Библиотека Метод
Python Pillow 10.x ImageOps.exif_transpose(img)
JavaScript (Node.js) sharp 0.33 .rotate() без аргументов читает EXIF автоматически
PHP Intervention Image 3.x $image->orientate()
Java / Android ExifInterface (AndroidX) getRotationDegrees() + Matrix.postRotate()
Go goexif/exif Чтение тега + ручной поворот через imaging.Rotate

Как предотвратить проблему в будущем

  • Настройте CMS (WordPress, Bitrix) на автоматическое применение EXIF-ориентации при загрузке. В WordPress это решается фильтром wp_read_image_metadata или плагином Imagick-обработки.
  • При экспорте из Lightroom Classic (версия 13.x, 2025–2026) убедитесь, что опция «Include All Metadata» активирована — тогда тег Orientation сохраняется корректно.
  • После любого пакетного редактирования запускайте проверку: exiftool -Orientation -T *.jpg — все строки должны возвращать значение 1.
  • Lossless-поворот через jpegtran или ExifTool с флагом -autorotate — единственный способ физически исправить пиксели без потери качества JPEG.
Оцените статью
GifFun.ru