Как исправить перевернутое или боковое фото по 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Нормальное отображение0°
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
Повернуть физически и обновить EXIFexiftool -api quicktimeutc -Orientation=1 -n -overwrite_original foto.jpg
Пакетная обработка папкиexiftool -Orientation=1 -n /путь/к/папке/
Авто-поворот пикселей по EXIFexiftool -autorotate foto.jpg (требует jpegtran)
Исправление через онлайн-сервисы
Если устанавливать программы нет возможности, помогут веб-инструменты. По данным на 2026 год наиболее популярны:
- Birme.net — пакетное изменение размера с поддержкой EXIF-ориентации, бесплатно до 50 файлов за сессию.
- Exif.tools — просмотр и редактирование любых EXIF-тегов прямо в браузере.
- iLoveIMG.com — ротация с возможностью выбора угла, поддержка JPEG, PNG, WebP, лимит файла — 200 МБ.
- Toolur.com — исправляет ориентацию автоматически по данным EXIF без ручного ввода угла.
При использовании онлайн-сервисов никогда не загружайте фотографии с персональными данными или геолокацией — метаданные GPS также хранятся в EXIF.
Исправление ориентации программно (для разработчиков)
Если вы обрабатываете изображения в коде, воспользуйтесь следующими библиотеками:
ЯзыкБиблиотекаМетод
PythonPillow 10.xImageOps.exif_transpose(img)
JavaScript (Node.js)sharp 0.33.rotate() без аргументов читает EXIF автоматически
PHPIntervention Image 3.x$image->orientate()
Java / AndroidExifInterface (AndroidX)getRotationDegrees() + Matrix.postRotate()
Gogoexif/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.
