Как работает конвертация HEIC в браузере
Браузеры не умеют открывать HEIC самостоятельно. Формат использует кодек HEVC, для которого Chrome, Firefox и большинство настольных браузеров не включают декодер — поэтому эта страница приносит его с собой. Скомпилированная в WebAssembly сборка libheif, той же опенсорсной библиотеки, которая лежит в основе большинства HEIC-инструментов, загружается при первом нажатии «Конвертировать» и выполняет каждое декодирование локально. Вот четырёхэтапный конвейер — всё происходит внутри вашей вкладки.
- Вы бросаете один или несколько HEIC или HEIF-файлов. Страница читает каждый как Blob в памяти, поэтому ничего не копируется на сервер и не записывается на диск.
- При первой конвертации декодер libheif WebAssembly загружается один раз (около 1,3 МБ) и остаётся в кэше. Последующие конвертации пропускают ожидание полностью.
- libheif декодирует HEVC-сжатое изображение в необработанные пиксели, затем перекодирует их в JPG или PNG. Для JPG ползунок качества напрямую соответствует настройке сжатия энкодера; PNG всегда без потерь.
- Вы получаете миниатюру и размер файла для каждого результата, кнопку скачивания на каждое фото и единый ZIP для всего пакета. ZIP собирается в памяти с помощью fflate — библиотеки 8 КБ, работающей во вкладке.
Зачем конвертировать HEIC в JPG?
- HEIC — стандарт Apple, но везде остальном — стена. Windows требует платный пакет кодеков даже для просмотра, многие веб-формы загрузки отклоняют его, а старые фоторедакторы воспринимают как повреждённый файл. JPG открывается буквально везде.
- Ваши фото остаются конфиденциальными. Медицинский снимок, объект клиента, скан паспорта — ничто из этого не должно проходить через посторонний облачный конвертер. Здесь декодирование происходит в браузере, изображение никогда не покидает ваше устройство.
- Пакетная конвертация экономит реальное время. Выходные на природе — это могут быть сотни HEIC-файлов. Бросьте все, нажмите «Конвертировать» один раз и скачайте единый ZIP вместо поштучного прогона через конвертер.
- Вы контролируете качество и размер. Ползунок позволяет пожертвовать небольшой детализацией ради значительно меньшего JPG — важно при рассылке пакета или загрузке в CMS с ограничением размера файла.
Типичные сценарии использования
Конвертация HEIC нужна всякий раз, когда фото с iPhone должно попасть туда, где не поддерживается формат Apple. Три паттерна, которые встречаются чаще всего.
- Обмен фото с пользователями Windows или Android. AirDrop сохраняет HEIC, но как только фото попадает на не-Apple устройство или в старый почтовый клиент — оно не откроется. Конвертация в JPG заранее означает, что файл работает для всех.
- Загрузка в веб-формы и маркетплейсы. Порталы вакансий, госпорталы, eBay, страховые сервисы — многие до сих пор отклоняют HEIC. Быстрая конвертация в JPG превращает отклонённую загрузку в успешную.
- Подготовка фото для редактирования или печати. Старые версии Photoshop, Lightroom и типографии нередко не работают с HEIC. Конвертация в PNG сохраняет полное качество для редактирования, JPG даёт меньший файл, который примут в типографии.
Практический пример: карта памяти в общий ZIP
Допустим, вы вернулись из поездки с 40 HEIC-фото, а родственники используют ноутбуки на Windows. Вот самый быстрый способ дать им файлы, которые откроются.
Бросьте все 40 файлов в зону загрузки сразу. Оставьте выходной формат JPG и установите качество 0.85 — фото останутся чёткими, а размер файла значительно меньше исходных HEIC. Нажмите Конвертировать всё. Декодер загружается один раз, затем обрабатывает пакет — обычно секунда-две на фото. По завершении нажмите Скачать .zip, чтобы получить все JPG в одном архиве для отправки по email или в общую папку. Весь прогон происходит в браузере; единственный сетевой трафик — сама страница и одноразовая загрузка декодера. Фото никогда не касаются сервера.
Почему браузер не открывает HEIC самостоятельно?
HEIC хранит пиксели в сжатии HEVC (H.265) — кодек, обременённый патентами и редко включаемый в браузеры. Apple встраивает его в iOS и macOS, но Chrome, Firefox и большинство Windows-приложений не включают декодер HEIC по умолчанию. Поэтому HEIC-файл обычно отображается значком сломанного изображения или просто не открывается. Инструмент обходит проблему, загружая собственный декодер — сборку WebAssembly опенсорсной библиотеки libheif — и конвертация работает вне зависимости от нативной поддержки браузера.
Фото куда-то загружаются?
Нет. Каждое декодирование и перекодирование происходит внутри вкладки браузера с движком libheif WebAssembly. Никакие данные фото не отправляются на сервер, нет временной загрузки и облачного обмена. Проверьте сами: откройте DevTools, перейдите на вкладку Network и запустите конвертацию. Единственные запросы — первоначальная загрузка страницы, одноразовая загрузка декодера и рекламные вызовы. Ничего похожего на фото не покидает вкладку.
Что выбрать — JPG или PNG?
Выбирайте JPG для фотографий — это универсальный стандарт, ползунок качества позволяет держать файлы небольшими, и именно JPG ждут email, соцсети и большинство форм загрузки. Выбирайте PNG, когда нужна копия без потерь — например, если вы будете дальше редактировать изображение и не хотите запечённых артефактов сжатия, или если фото содержит чёткие края и плоские цветовые области, как скриншот. PNG-файлы крупнее из-за отсутствия потерь, поэтому для обычных фото JPG при качестве 0.85 почти всегда лучший выбор.
Как насчёт Live Photos и HEIC с несколькими кадрами?
Некоторые HEIC-файлы, включая Live Photos, серийную съёмку и некоторые экспорты Apple, содержат несколько изображений в одном контейнере. Если декодер находит несколько кадров, инструмент конвертирует каждый и называет их с числовым суффиксом (photo-1.jpg, photo-2.jpg и т.д.), чтобы вы не потеряли ни одного. Если конкретный файл повреждён или использует вариант кодека, который libheif не поддерживает, этот файл помечается ошибкой, а остаток пакета продолжает обрабатываться. Один плохой файл не останавливает весь пакет.
Бросьте фото с iPhone, выберите JPG или PNG, конвертируйте. Всё работает в вашей вкладке. Без загрузки, без аккаунта, без ожидания в очереди сервера.