Как сделать favicon: конвертация PNG в ICO

Favicon — маленькая иконка во вкладке браузера, закладках и результатах поиска. Отсутствующий или битый favicon делает сайт незавершённым, а Google теперь показывает favicon рядом с результатами мобильного поиска — так что он напрямую влияет на клики.

Почему ICO, а не просто PNG?

Современные браузеры принимают favicon в PNG, но классический favicon.ico — по-прежнему самый надёжный вариант: именно его браузеры запрашивают по умолчанию по адресу /favicon.ico, его ждут старые браузеры и часть инструментов, а контейнер ICO может хранить несколько разрешений в одном файле.

Делаем ICO из логотипа

  1. Подготовьте квадратный PNG логотипа, лучше 256×256 или больше, с прозрачностью.
  2. Откройте конвертер PNG в ICO и загрузите его.
  3. Нажмите «Конвертировать» — получится ICO 256×256 (с PNG-сжатием, современный формат Vista+, который чисто масштабируется вниз).
  4. Положите файл в корень сайта как favicon.ico.

HTML-разметка

Для полного покрытия добавьте в <head>:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="apple-touch-icon" href="/apple-touch-icon.png"> (PNG 180×180 для iOS)

Советы по дизайну

  • Проверьте вид в 16×16: мелкие детали исчезают, выигрывают жирные простые формы.
  • Держите контраст и на светлой, и на тёмной теме браузера.
  • Прозрачность выглядит лучше белой подложки.

Действительно ли нужно несколько размеров в одном ICO?

Одного ICO 256×256 со сжатием PNG достаточно для современных браузеров: они чисто уменьшают его для вкладки и панели закладок. Добавление в тот же ICO дополнительных размеров (16×16, 32×32, 48×48) в основном помогает старому софту Windows и панели задач на рабочем столе, где вручную подогнанная маленькая иконка выглядит чётче, чем автоматически уменьшенная. Если сайт чисто веб-ориентирован, единственный файл 256×256 — более простой и не менее эффективный выбор.

Рекламный блок — включите рекламу в public/ads.js · article-mid

Частые ошибки с favicon

  • Забыть про файл вообще. Браузеры автоматически запрашивают /favicon.ico, даже без тега link, поэтому отсутствующий файл отображается как ошибка 404 в логах сервера при каждой загрузке страницы.
  • Использовать прямоугольный логотип без изменений. Широкий текстовый логотип, сжатый в квадратный favicon, обычно становится нечитаемым; лучше обрезать до самого знака или инициалов.
  • Пропустить apple-touch-icon. Без него сохранение сайта на домашний экран iPhone падает до скриншота страницы вместо вашей иконки.
  • Кэширование. Браузеры агрессивно кэшируют favicon; после замены файла часто нужна жёсткая перезагрузка или прямой заход на URL иконки, чтобы увидеть обновление.

Поскольку браузеры запрашивают /favicon.ico автоматически при каждой загрузке страницы независимо от ссылки на него, стоит перепроверить, что файл действительно лежит в корне сайта, а не в подпапке, — favicon в любом другом месте молча никогда не подхватится этим автоматическим запросом.

Favicon для одностраничных приложений и поддоменов

В SPA-приложениях на React, Vue или подобных фреймворках favicon задаётся один раз в корневом HTML-шаблоне и не меняется при переходах между разделами — в отличие от заголовка страницы, для него не нужна отдельная логика на каждый роут. Для поддоменов файл нужен на каждом отдельно, поскольку браузер запрашивает /favicon.ico относительно текущего домена, а не сайта в целом.