Перейти к содержимому
PulsarKit

Конвертировать HEIC в JPG

Преобразуйте HEIC-фото с iPhone в JPG, которые открываются везде, с сохранением даты, GPS-метки и правильного разворота кадра.

Перетащите файлы сюда

.heic, .heif, .hif · до 100 МБ

Как конвертировать HEIC в JPG

  1. 1

    Перетащите HEIC-фото

    До 50 штук за раз: прямо с iPhone или из папки, куда телефон синхронизировал снимки. Safari часто отдает файлы без MIME-типа, такие принимаются по расширению.

  2. 2

    Выберите качество и что сохранить

    По умолчанию стоит качество 90, визуально неотличимое от оригинала. Решите, нужно ли переносить в JPG дату съемки и GPS-координаты вместе с фото.

  3. 3

    Скачайте JPG-файлы

    Одно фото возвращается как отдельный .jpg. Несколько файлов приходят архивом pulsarkit-heic-to-jpg.zip, а ошибка в одном файле не останавливает остальную пакетную обработку.

Почему другие конвертеры выдают фото на боку

HEIC-файл может задавать поворот кадра в двух разных местах. Современные iPhone записывают свойство irot прямо в контейнер, и любой корректный декодер уже возвращает фото в вертикальном положении. Старые модели — например, iPhone 7 — ничего в контейнер не пишут и фиксируют поворот только в теге EXIF Orientation, поэтому декодер выдает кадр, лежащий на боку. Конвертер, который бездумно применяет EXIF-тег, поворачивает современное фото дважды и кладет его. Конвертер, который игнорирует тег, оставляет старое фото боком. Этот инструмент читает оба источника, применяет тот поворот, который еще не был учтен, «запекает» результат в пиксели и записывает в выходной файл Orientation = 1, чтобы дальше по цепочке фото никто не крутил в третий раз. Оба случая покрыты тестами на реальных снимках с обоих телефонов.

Что идет вместе с фото, а что нет

Опция «Сохранить дату, камеру и настройки» включена по умолчанию. С ней дата съемки, производитель и модель камеры, объектив, выдержка и ISO перезаписываются в сегмент APP1 файла JPG ровно так, как их записала бы сама камера. GPS-координаты передаются отдельно, и их можно отключить отдельным переключателем. Как раз это большинству нужно перед публикацией фото. Встроенная миниатюра всегда удаляется: она показывает кадр в исходной ориентации и размере, и старый предпросмотр внутри конвертированного файла создает больше путаницы, чем экономит байты. Если нужно полностью очистить файл, откройте инструмент «Удалить метаданные изображения»: он в одном клике дальше по цепочке.

Когда файл .heic вообще не HEIC

Некоторые камеры и мессенджеры сохраняют данные AV1 в контейнер и все равно называют файл .heic. Здесь формат определяется по первым двенадцати байтам, а не по расширению, поэтому такие файлы распознаются как AVIF и декодируются AVIF-кодеком, а не HEIC. Вы получаете сконвертированный JPG и пометку, что было внутри, а не ошибку. Файл, у которого бренд контейнера ни HEIC, ни AVIF, отклоняется с понятным сообщением, а не превращается в битую картинку. Так бывает, например, с видео, по ошибке переименованным в .heic.

Декодер и его лицензия

Браузер сам по себе HEIC не открывает, поэтому эта страница использует libheif 1.19.8, эталонную open-source-реализацию. Та же библиотека стоит за поддержкой HEIC на большинстве компьютеров. Она распространяется по лицензии LGPL-3.0. Лицензия требует, чтобы библиотека поставлялась как отдельно заменяемый компонент, а не была слита с остальным кодом, и чтобы ее исходники были доступны. Оба условия соблюдены: модуль WebAssembly подгружается отдельным файлом из /libheif/ и не входит ни в один бандл, текст лицензии лежит рядом по адресу /libheif/LICENSE, а немодифицированные исходники именно этой версии находятся на https://github.com/catdad-experiments/libheif-js/tree/v1.19.8 и https://github.com/strukturag/libheif. Для вас это означает разовую загрузку декодера — файла размером около 1 МБ — при первом конвертировании. Браузер потом кеширует модуль, в том числе для конвертера PNG, который использует тот же код.

Ваши фото не покидают устройство

Декодирование и перекодирование полностью выполняются в браузере через WebAssembly. HEIC-декодер загружается один раз как отдельный модуль, кешируется браузером и обрабатывает байты локально. Фото не загружается на сервер, копии не сохраняются, а закрытие вкладки очищает все из памяти. Для личных снимков с датой и геометкой это особенно важно.

Частые вопросы

Почему iPhone сохраняет фото в HEIC, а не в JPG?

HEIC хранит то же изображение примерно вдвое компактнее, чем JPG при сопоставимом качестве, поэтому Apple сделала его форматом по умолчанию в iOS 11. Обратная сторона — совместимость. Многие приложения под Windows, старые фоторедакторы и веб-формы загрузки до сих пор его не принимают, и тогда нужен JPG.

Почему другие HEIC-конвертеры поворачивают фото боком?

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

Сохраняются ли дата съемки и GPS-координаты?

Да. По умолчанию сохраняются обе, и каждую можно отключить отдельно. Дата, камера и параметры съемки перезаписываются в EXIF-блок JPG, а для GPS-координат есть отдельный переключатель. Так можно оставить дату и убрать локацию перед тем, как делиться фото.

Что происходит с Live Photo?

Вы получаете статичный кадр: именно его содержит .heic-файл Live Photo, а видео лежит рядом отдельным файлом .mov. Кадр берется из объявленного в контейнере основного изображения, поэтому это полноразмерное фото, а не уменьшенный предпросмотр.

Почему мой файл .heic иногда оказывается AVIF?

Потому что некоторые инструменты сохраняют данные, сжатые AV1, в контейнер HEIF и оставляют расширение .heic. Поскольку формат определяется по байтам файла, такие случаи автоматически распознаются как AVIF и декодируются соответствующим кодеком. Конвертация все равно проходит, а в результате видно, что было внутри.

Сколько фото можно конвертировать за раз?

До 50 файлов, по 100 МБ каждый и суммарно до 500 МБ. Они обрабатываются по очереди с одинаковыми настройками, индикатор показывает прогресс по завершенным файлам, а те, что не удалось обработать, пропускаются и не отменяют весь пакет.

Будет ли это работать прямо с телефона?

Да. Все выполняется в браузере, поэтому страница, открытая на iPhone с выбором фото из пленки камеры, работает так же, как на компьютере. Поскольку Safari часто отдает HEIC без MIME-типа, выбор файлов также принимает их по расширениям .heic, .heif и .hif.

Загружаются ли мои фото на сервер?

Нет. Декодер и энкодер — это модули WebAssembly, которые работают прямо во вкладке. Байты фото читаются с диска в память и никуда не отправляются. Нет аккаунта, очереди и ничего, что нужно было бы потом удалять.

Статьи по теме

Похожие инструменты

Тот же инструмент под конкретную задачу