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

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

Конвертируйте фото HEIC с iPhone в PNG без потерь, когда дальше планируется обработка: удаление фона, работа со слоями или печать, а не отправка и публикация.

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

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

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

  1. 1

    Перетащите свои фото HEIC

    До 30 штук за один раз. Лимит специально ниже, чем у конвертера в JPG: PNG с 12-мегапиксельного фото весит 15–30 МБ, и при большей очереди вкладке браузера не хватит памяти.

  2. 2

    Выберите уровень оптимизации

    Уровень 2 используется по умолчанию и дает хороший баланс. Уровень 6 сильнее сжимает без потерь те же пиксели, но обрабатывает полноразмерное фото в несколько раз дольше.

  3. 3

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

    Одно фото возвращается как отдельный .png, несколько — как архив pulsarkit-heic-to-png.zip. Из изображения по пути ничего не пропадает, меняется только размер файла.

Когда PNG — правильный выбор для фото с телефона, а когда нет

PNG — формат без потерь: пиксели, которые выдает декодер, байт в байт попадают в файл. Это важно, когда фото служит исходником для чего-то еще. Например, вы собираетесь удалить фон, собрать композицию из слоев, отправить файл в печать или несколько раз сохранить его по дороге. Каждое повторное сохранение в JPG добавляет артефактов. Для фото, которое сразу идет на сайт или в мессенджер, это почти не важно: JPG с качеством 90 выглядит так же, а весит в десять раз меньше. Если собираетесь отправлять результат по почте или загружать куда-то, лучше конвертировать в JPG. Переключиться на «Конвертировать HEIC в JPG» можно одним шагом в блоке ниже.

Ориентация, прозрачность и глубина цвета

Информация о повороте в файле HEIC может храниться как свойство контейнера irot или в теге EXIF Orientation. Если применить не тот вариант, фото останется повернутым набок. Это самая частая ошибка конвертеров HEIC. Здесь читаются оба варианта, а в пиксели «запекается» тот, который еще не применен. У PNG нет собственного тега ориентации, поэтому этот шаг обязателен. Прозрачность, если в контейнере есть альфа-канал, сохраняется; в JPG ее невозможно записать вообще. Переключателем глубины цвета записывается полноценный 16-битный PNG для процессов, которым он нужен. Учтите: декодер HEIC в браузере отдает 8 бит на канал, поэтому 16-битный файл здесь — точное «повышение разрядности» этих значений, а не восстановление скрытой в исходнике информации.

Что делает уровень оптимизации

Он не меняет ни одного пикселя. Сжатие PNG работает так: каждый пиксель предсказывается по соседям, а в файл записываются только отличия. Существуют разные корректные способы сделать эти выборы. Чем выше уровень, тем больше процессор времени тратит на поиск комбинации, которая упакуется компактнее. Уровень 0 вообще пропускает поиск и работает быстрее всего. Уровень 2 — разумный вариант по умолчанию. Уровень 6 обычно находит еще несколько процентов экономии, но за счет многократного роста времени обработки. Какой бы уровень вы ни выбрали, при декодировании вы получите ровно то же изображение. Это проверяется тестом, который сравнивает каждый пиксель файла уровня 6 с файлом уровня 2.

Декодер и лицензия, по которой он распространяется

За работу с HEIC на этой странице отвечает libheif 1.19.8, эталонный открытый декодер под лицензией LGPL-3.0. Эта лицензия требует двух вещей: компонент должен оставаться заменяемым модулем, а не сливаться с остальным кодом, и его исходники должны быть доступны. Поэтому модуль WebAssembly загружается отдельным файлом из /libheif/ и никогда не попадает в общий бандл. Текст лицензии лежит в /libheif/LICENSE, а неизмененные исходники именно этой версии доступны по адресам https://github.com/catdad-experiments/libheif-js/tree/v1.19.8 и https://github.com/strukturag/libheif. Тот же модуль использует инструмент «Конвертировать HEIC в JPG». Если вы пришли сюда оттуда, он уже есть в кэше, и заново ничего качать не придется.

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

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

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

Когда PNG лучше, чем JPG, для фото с iPhone?

Когда фото дальше будут редактировать. PNG — формат без потерь, поэтому удаление фона, работа со слоями и повторные сохранения не накапливают артефакты сжатия. Для отправки и загрузки лучше подходит JPG. Выглядит так же, а весит в разы меньше.

Почему PNG получается гораздо больше, чем HEIC?

Потому что HEIC — формат с потерями, который выбрасывает малозаметные глазу детали, а PNG ничего выбрасывать не имеет права. Обычное дело, когда HEIC весом 2 МБ превращается в PNG на 20 МБ. Это цена формата без потерь, а не ошибка конвертации.

Сохраняется ли прозрачность?

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

Зачем нужен 16-битный PNG?

Некоторые цепочки печати и цветокоррекции требуют 16 бит на канал. Этот инструмент умеет записывать такой файл, и это полноценный 16-битный PNG. Но декодер HEIC в браузере отдает 8 бит на канал, поэтому дополнительные биты — это точное «расширение» этих значений, а не новое изображение. Файл при этом получается примерно вдвое больше.

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

Да. Блок EXIF перекладывается в PNG-чанк eXIf, поэтому дата, камера и настройки переходят в новый файл. Если не хотите оставлять метаданные, выключите соответствующий переключатель.

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

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

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

До 30 файлов, каждый до 100 МБ и суммарно до 500 МБ. Лимит специально ниже, чем у конвертера в JPG, потому что PNG на выходе гораздо тяжелее. Файлы обрабатываются по одному, и сбой затронет только тот файл, на котором он произошел.

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

Нет. Все происходит во вкладке вашего браузера с помощью кодеков WebAssembly. Нет ни загрузки, ни серверной копии, ни каких-либо следов после закрытия страницы.

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

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