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 |
| Повернуть физически и обновить 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.
