← головнаПрограмування

Що таке формат HEIC і чому просто перейменовувати його в .jpg — погана ідея

HEIC — сучасний формат фото з високою якістю та меншим розміром, але не підтримується у більшості браузерів. Зміна розширення на .jpg не конвертує файл і викликає помилки. Розробникам важливо перевіряти MIME-тип і вмі...

ЗмістНатисність на посилання, щоб перейти до потрібного місця
Сучасні iPhone та деякі Android-пристрої знімають фото у форматі HEIC (High Efficiency Image Coding) — це новий стандарт зображень, який дозволяє зберігати якісні фото в меншому розмірі, ніж звичний JPEG. Ефективно, правда? Але з цим форматом пов'язано кілька важливих нюансів.

Підтримка в браузерах

HEIC підтримується не всіма браузерами. Наприклад:
  • ✅ Safari (на macOS і iOS) підтримує HEIC.
  • ❌ Chrome, Firefox, Edge — не підтримують HEIC напряму.
Тобто якщо завантажити HEIC-файл на сайт і спробувати його показати — користувачі в більшості браузерів просто не побачать зображеннь.

Часта проблема: користувачі просто змінюють .heic → .jpg

Щоб пройти HTML-валідацію при завантаженні зображення (наприклад, через <input type="file" accept="image/jpeg">), деякі користувачі просто перейменовують файл з photo.heic на photo.jpg.
І, на жаль, браузер не завжди може виявити це одразу.
Що стається далі?
  • Сервер чи фронтенд думає, що це .jpg, але не може його обробити.
  • Можуть виникати помилки при обробці зображення, генерації мініатюр, або при перегляді у браузері.
  • А найгірше — такі файли можуть "зламати" конвеєр зображень на сайті.

Що робити (розробникам)

  1. На фронтенді перевіряйте не лише розширення файлу, а і MIME-тип (file.type).
  2. Валідуючи на бекенді, аналізуйте вміст файлу або використовуйть бібліотеки, які точно визначають формат.
  3. Попереджайте користувачів про підтримувані формати.
  4. Коли не працює завантаження jpg - в процесі дебаггінгу перевірте mime-type. Цей троянський кінь може забрати час, тож краще одразу подивитись що всередині.
HEIC — сучасний і ефективний формат, але ще не всюди підтримується. Зміна розширення файлу — не конверсія формату, і вона створює більше проблем, ніж вирішує. Якщо ви розробник — перевіряйте формат на рівні вмісту. Якщо ви користувач — краще використовуйте конвертер, ніж зміну назви.

🔥 Більше дописів

Всі публікації
Що таке вайб-кодинг?
25 лип. '25, 21:51

Що таке вайб-кодинг?

Вайб-кодинг — це інтуїтивне програмування в тандемі з AI: без строгих правил, з музикою, натхненн...

Що таке integer overflow?
Програмування15 серп. '25, 08:28

Що таке integer overflow?

Integer overflow — це переповнення цілого числа, коли значення перевищує межу типу змінної. Для 3...