Skip to content

Конвертер PNG в ICO (и ICO обратно в PNG)

Превратите PNG, JPG, SVG или WebP в настоящий многоразмерный .ico: 16, 32 и 48 пикселей в одном файле, альфа-канал сохраняется. Выберите хранение в PNG или несжатом BMP и сравните размеры. Файлы .ico открываются и обратно.

Без отслеживания Работает в браузере Бесплатно
Преобразование выполняется целиком в браузере. Изображение никуда не загружается.

Перетащите изображение сюда или нажмите, чтобы выбрать

PNG, JPG, SVG, WebP, GIF или BMP · до 10 МБ

Размеры в файле

16, 32 и 48 пикселей — набор, который требовало руководство Microsoft по значкам 1995 года и который чаще всего встречается в реальных favicon. Размер 512 не предлагается: длина стороны хранится в каталоге одним байтом, поэтому корректной записи для неё нет.

Оба варианта допустимы внутри .ico. PNG читают Windows начиная с Vista и все современные браузеры; несжатый BMP лежит в 13 из 14 настоящих ICO-файлов, найденных на 20 проверенных сайтах, потому что ImageMagick по умолчанию преобразует именно в него.

Что внутри файла .ico (пример 16 + 32 + 48 пикселей)
Смещение Байты Поле Значение
0 2 idReserved 0
2 2 idType 1
4 2 idCount 3
6 1 bWidth[0] 16 → 16
7 1 bHeight[0] 16 → 16
8 1 bColorCount[0] 0
9 1 bReserved[0] 0
10 2 wPlanes[0] 1
12 2 wBitCount[0] 32
14 4 dwBytesInRes[0] 248
18 4 dwImageOffset[0] 54
22 1 bWidth[1] 32 → 32
23 1 bHeight[1] 32 → 32
24 1 bColorCount[1] 0
25 1 bReserved[1] 0
26 2 wPlanes[1] 1
28 2 wBitCount[1] 32
30 4 dwBytesInRes[1] 720
34 4 dwImageOffset[1] 302
38 1 bWidth[2] 48 → 48
39 1 bHeight[2] 48 → 48
40 1 bColorCount[2] 0
41 1 bReserved[2] 0
42 2 wPlanes[2] 1
44 2 wBitCount[2] 32
46 4 dwBytesInRes[2] 1464
50 4 dwImageOffset[2] 1022
Hex-дамп, числа байт и вывод команд, приведённые на этой странице, получены из файлов, которые создал этот инструмент, а каждое утверждение о поведении декодеров сверено с тремя независимыми реализациями: собственным кодировщиком, написанным с нуля, Pillow 12.3.0 и штатным декодером ICO из Chromium. Наблюдение о том, что большинство опубликованных favicon используют несжатые растры, получено загрузкой и разбором файлов значков двадцати известных сайтов в сентябре 2026 года. — Инженерная команда Go Tools · Sep 22, 2026

Написано и проверено разработчиками, которые создают инструменты конвертации Go Tools. Устройство контейнера, числа байт и описанные здесь виды отказов взяты из письменного разбора предметной области, а не из чужих пересказов формата.

Быстрые ответы: PNG в ICO

Какие размеры должны лежать в favicon.ico?

16, 32 и 48 пикселей Эта тройка закрывает вкладку браузера, переключатель Alt-Tab и рабочий стол и остаётся рекомендованным набором с 1995 года. Добавляйте 256 только если значок должен держаться ещё и в режиме крупных значков.

Может ли один файл .ico хранить несколько размеров?

Да, ради этого он и придуман Формат и есть контейнер: шестибайтовый заголовок, по одной шестнадцатибайтовой записи каталога на изображение, затем сами изображения. Каждое из них — отдельный рисунок, и поэтому хороший значок остаётся чётким на 16 пикселях.

Теряется ли прозрачность при переводе PNG в ICO?

Нет, если всё сделано правильно Оба способа хранения изображения внутри .ico несут полный восьмибитовый альфа-канал. Прозрачность теряется только тогда, когда инструмент оставляет байты альфа-канала пустыми или выбрасывает однобитовую маску, которую вместо него читают старые программы.

Сколько занимает слой 256 пикселей внутри .ico?

264 КБ без сжатия или несколько КБ в виде PNG Несжатый слой 256 пикселей занимает ровно 270 376 байт: 40 байт заголовка, 262 144 байта пикселей и 8 192 байта маски, что бы на нём ни было нарисовано. Тот же слой в виде PNG обычно обходится в пару килобайт.

Что такое файл ICO?

Файл .ico — это не столько формат изображения, сколько небольшой архив изображений. Он начинается с шестибайтового заголовка, который сообщает, сколько картинок внутри; дальше идёт по одной шестнадцатибайтовой записи каталога на картинку с её шириной, высотой, числом байт и положением в файле, и только потом сами данные изображений. Каждая картинка хранится одним из двух способов: как целиком вложенный файл PNG либо как несжатый растр Windows, под который подшита однобитовая маска прозрачности.

Именно из-за такого устройства favicon может выглядеть чётко и на 16 пикселях во вкладке браузера, и на 48 пикселях в файловом менеджере: это разные рисунки, подготовленные под каждый размер, а не одно изображение, которое масштабируют. Отсюда же несколько сюрпризов формата. Длина стороны хранится в одном байте, поэтому 256 записывается нулём, а 512 записать нельзя вовсе. А ещё каталог хранит для каждой записи размер, который записан и в самих данных изображения, — эти два значения могут расходиться, и разные программы верят разным.

$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel

$ python3 -c "from PIL import Image; print(sorted(Image.open('favicon.ico').ico.sizes()))"
[(16, 16), (32, 32), (48, 48)]

Что умеет этот конвертер ICO

Один файл и все отмеченные размеры

По умолчанию 16, 32 и 48 пикселей, максимум 256. Каждый размер рисуется из оригинала отдельно и в полном качестве, а не масштабируется из слоя выше, поэтому маленькие размеры не наследуют размытость большого.

PNG или несжатый BMP, и оба размера на виду

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

Прозрачность выживает при любом способе хранения

Альфа-канал записывается полностью, а однобитовая маска, которую вместо него читают старые программы, не остаётся пустой, а выводится из альфа-канала. Именно пустая маска превращает прозрачный значок в чёрный квадрат там, где читают только её.

Просмотр ICO, а не только скачивание

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

Сообщает, когда файл противоречит сам себе

Если каталог заявляет размер, который не совпадает с данными изображения, это отмечается. Отмечается и встроенный PNG, который выбросит Firefox: его декодер ICO принимает только 8-битный RGB или RGBA, поэтому палитровый или полутоновый слой там просто исчезает, хотя все остальные браузеры его показывают. И то и другое — частая причина того, что значок работает в одной программе и выводится пустым в другой, и ни один другой конвертер об этом не сообщает.

Ничего не загружается на сервер

Чтение, изменение размера и упаковка целиком происходят на этой странице. Файл не попадает на сервер, поэтому потом нечего удалять и не нужно ждать очереди.

Перевод PNG в ICO в коде

ImageMagick

magick in.png -define icon:auto-resize=48,32,16 favicon.ico

Обычный ответ и причина того, что так много favicon хранится без сжатия. Каждый слой, кроме 256 пикселей, перед упаковкой превращается в растр, поэтому три размера выходят примерно в 15 КБ вместо нескольких сотен байт. Размеры записываются от большего к меньшему.

Python + Pillow

img.save('favicon.ico', sizes=[(16,16),(32,32),(48,48)])

Вкладывает PNG, поэтому те же три размера занимают примерно в десять раз меньше места. Pillow хорошо и читает ICO: Image.open(f).ico.sizes() покажет, что внутри, — удобно, когда нужно проверить чужой файл.

png-to-ico (npm)

npx png-to-ico icon.png > favicon.ico

Узкоспециальная утилита командной строки: берёт один или несколько файлов PNG и упаковывает их как payload в формате PNG. Удобно в сборочном сценарии; размер она не меняет, поэтому каждый размер вы передаёте отдельным файлом.

sharp

sharp(input).resize(32).png()

Отлично подходит, чтобы подготовить отдельные файлы PNG, но контейнеры ICO не пишет, поэтому его обычно дополняют одним из упаковщиков выше. Частый источник путаницы, когда сборка уже построена вокруг sharp.

Go

github.com/Kodeworks/golang-image-ico

Пишет ICO с одним изображением из значения image.Image. Для favicon одного размера этого достаточно; чтобы упаковать несколько размеров в один контейнер, каталог придётся написать самостоятельно — это примерно тридцать строк.

Компиляторы значков Windows

сценарий ресурсов .rc, rc.exe

Так обычно и делают значки приложений. Компилятор встраивает .ico в секцию ресурсов исполняемого файла; контейнер внутри имеет ровно тот же формат, что и веб-favicon.

GIMP

Файл → Экспортировать как → .ico

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

macOS sips

sips -s format ico in.png --out favicon.ico

В macOS запись ICO всё-таки есть: sips --formats показывает com.microsoft.ico как доступный для записи, и команда выше действительно создала корректный файл. Чего он не умеет — упаковать несколько размеров: на выходе был один слой 48×48. iconutil, который обычно подсказывают результаты поиска, делает .icns, собственный контейнер Apple, который не читают ни Windows, ни браузеры.

Примеры перевода PNG в ICO, байт за байтом

Первые 38 байт файла .ico с тремя размерами

$ xxd -l 38 favicon.ico
00000000: 0000 0100 0300 1010 0000 0100 2000 e903  ............ ...
00000010: 0000 3600 0000 2020 0000 0100 2000 6c05  ..6...  .... .l.
00000020: 0000 1f04 0000                           ......

0000 — зарезервированное поле, 0100 — тип 1 (значок, а не курсор), 0300 говорит, что изображений три. Дальше идёт первая 16-байтовая запись каталога: 10 10 — это 16×16, 00 — число цветов, 00 — резерв, 0100 — одна плоскость, 2000 — 32 бита на пиксель, а e903 0000 — 1 001 байт payload по смещению 3600 0000 = 54, то есть ровно 6 + 3 × 16 — конец каталога. Все числа записаны в little-endian, кроме размеров: они занимают по одному байту.

Для 256 пикселей в записи стоит ноль, а не 256

bWidth = 0x00    bHeight = 0x00
256 × 256

В каталоге на каждую сторону отведён один байт, поэтому самое большое число, которое туда помещается, — 255, а 0 по определению означает 256. Это же причина, по которой на этой странице нигде нет 512 пикселей: байта, означающего 512, просто не существует. Несколько онлайн-конвертеров всё равно предлагают этот вариант и записывают изображение 512 пикселей за записью каталога, которая не может его описать.

Те же три размера, два способа хранения

16 + 32 + 48 px, PNG payloads
16 + 32 + 48 px, uncompressed BMP payloads
389 bytes
15,086 bytes

Несжатый payload занимает 40 + ширина × высота × 4 байта плюс однобитовая маска, поэтому его размер зависит только от размеров изображения и совсем не зависит от картинки. Именно поэтому три разных сайта могут выложить три совершенно непохожих значка в файлах одинаковой длины.

Тот же файл из командной строки

$ magick logo.png -define icon:auto-resize=48,32,16 favicon.ico
$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 48x48, 32 bits/pixel, 32x32, 32 bits/pixel

ImageMagick перед упаковкой превращает каждый слой, кроме 256 пикселей, в несжатый растр — поэтому на выходе получается около 15 КБ, а не несколько сотен байт. Pillow поступает наоборот и вкладывает PNG: Image.open('logo.png').save('favicon.ico', sizes=[(16,16),(32,32),(48,48)]).

Как разложить .ico обратно

$ magick favicon.ico favicon-%d.png
favicon-0.png   48×48
favicon-1.png   32×32
favicon-2.png   16×16

Браузер этого за вас не сделает. Отдайте многоразмерный .ico тегу <img> — и получите ровно одно изображение, самое большое, в каком бы порядке ни шли размеры внутри. Чтобы увидеть, что на самом деле лежит в файле, контейнер приходится разбирать вручную, и именно это делает вкладка ICO → PNG.

Как перевести PNG в ICO

  1. 1

    Перетащите изображение

    Принимаются PNG, JPG, SVG, WebP, GIF и BMP размером до 10 МБ. Ничего не покидает браузер: файл читается через File API, а каждый пиксель рисуется на локальном canvas.

  2. 2

    Выберите размеры

    Изначально отмечены 16, 32 и 48 пикселей. Добавьте 64, 128 или 256, если значок должен пережить режим крупных значков или экран с высокой плотностью пикселей. Если исходник меньше самого большого отмеченного размера, страница прямо об этом скажет, а не увеличит его молча.

  3. 3

    Выберите формат хранения

    По умолчанию используется PNG: он на порядок меньше, и его читают все современные браузеры и все версии Windows начиная с Vista. Переключитесь на несжатый BMP, если нужен тот вид, в котором на самом деле лежит большинство опубликованных favicon. Оба размера файла показаны рядом.

  4. 4

    Скачайте и подключите

    Сохраните .ico и нажмите «Скопировать теги link», чтобы получить разметку. Путь /favicon.ico в корне по-прежнему работает как запасной вариант, но браузерам предписано сначала пробовать явный элемент link.

Почему файлы ICO получаются неправильными

Слой 256 пикселей записан как 255

Байт каталога для изображения 256 пикселей должен быть равен 0. Запись 255 выглядит безобидной ошибкой на единицу, а на выходе получается файл, который некоторые браузеры молча отказываются рисовать.

✗ Неверно
bWidth = 0xFF   bHeight = 0xFF   ; «255», имелось в виду 256
✓ Верно
bWidth = 0x00   bHeight = 0x00   ; 0 по определению означает 256

Каталог и изображение расходятся в размере

Когда запись каталога говорит 16×16, а payload на самом деле 32×32, декодеры делятся: одни верят каталогу и не рисуют ничего, другие верят payload и показывают изображение нормально. Файл после этого работает на одной машине и не виден на другой.

✗ Неверно
запись: 16×16     payload IHDR: 32×32
✓ Верно
запись: 32×32     payload IHDR: 32×32

Поле высоты растра не удвоено

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

✗ Неверно
biHeight = 32        ; для изображения 32 пикселя
✓ Верно
biHeight = 64        ; 2 × 32, цветные данные плюс маска

Несжатый слой с пустым альфа-каналом

Некоторые инструменты заполняют маску и оставляют каждый байт альфа-канала нулевым. Один декодер читает это как полностью прозрачное изображение, и значок исчезает; другой возвращается к маске и показывает его правильно. Записывать оба значения согласованно — значит снять весь спор.

✗ Неверно
байты альфа-канала: все 0x00   маска: вся 0x00
✓ Верно
байты альфа-канала: реальные значения   маска: выставлена там, где альфа < 128

SVG, который подтягивает файл из интернета

Внешние ссылки внутри SVG блокируются при растеризации, и об этом ничто не сообщает: ошибка не возникает, а canvas остаётся читаемым. Заглушка «битая картинка» просто запекается в значок. Встройте графику в документ перед конвертацией.

✗ Неверно
<image href="https://cdn.example.com/logo.png"/>
✓ Верно
<image href="data:image/png;base64,iVBORw0KGgo…"/>

Когда нужен конвертер PNG в ICO

Выложить favicon для нового сайта
Перетащите логотип, оставьте три размера по умолчанию, скачайте favicon.ico и положите его в корень сайта. Скопированные теги link дают современную разметку для того же значка рядом с SVG и значком Apple touch.
Починить значок, который крупным выглядит хорошо, а мелким — мутным
Обычно в файле лежит один большой слой, а всё остальное — результат того, что браузер его уменьшает. Помогает упаковать настоящий слой 16 пикселей, нарисованный из исходника, а не из версии 256 пикселей.
Дать значок настольному приложению
Исполняемые файлы Windows, установщики и ярлыки принимают .ico, и разные части оболочки берут из одного файла разные размеры. Набор 16, 32, 48 и 256 закрывает мелкие значки в списках, переключатель Alt-Tab и режимы крупных значков.
Разобраться, почему значок рисуется в одном месте и не рисуется в другом
Откройте файл на вкладке ICO → PNG. Размер, который каталог описывает неверно, слой вовсе без альфа-канала или обрезанная запись — всё это видно в списке, и каждый исправный слой по-прежнему экспортируется, даже если соседний сломан.
Достать PNG из старого файла .ico
Значки, доставшиеся от старого проекта, часто оказываются единственной уцелевшей копией логотипа. Обратная вкладка выгружает каждый слой отдельным файлом PNG, в том числе слои, сохранённые как палитровые растры, которые большинство конвертеров не принимает.

Что на самом деле лежит внутри файла .ico

Шесть байт, дальше по шестнадцать на изображение
Заголовок состоит из зарезервированных 00 00, 01 00 для значка (02 00 отмечает файл курсора) и двухбайтового счётчика. Каждая запись каталога — это ширина, высота, размер палитры и зарезервированный байт, по одному байту на каждое, затем двухбайтовые поля числа плоскостей и битовой глубины и два четырёхбайтовых поля с длиной и смещением payload. Всё многобайтовое записано в little-endian.
Ноль означает 256, а 512 выразить нечем
Поскольку ширина и высота занимают по одному байту, 256 приходится кодировать нулём, а для чего-то большего кодировки нет вовсе. Записать 255 вместо 0 для слоя 256 пикселей — не близкое приближение: получается файл, который браузеры отказываются рисовать. Конвертеры, предлагающие вариант 512 пикселей, записывают записи каталога, не способные описать собственное содержимое.
Несжатый слой занимает ровно 40 + ш × в × 4 байта плюс маска
Маска добавляет ceil(ширина ÷ 32) × 4 байта на строку. Поэтому слой 16 пикселей занимает 1 128 байт, 48 пикселей — 9 640, а 256 пикселей — 270 376, независимо от того, что изображено. Из-за этой фиксированной стоимости три никак не связанных сайта могут выложить favicon побайтово одинаковой длины; по той же причине слой 256 пикселей предлагается здесь только тогда, когда payload — это PNG.
В заголовке растра высота записана удвоенной
Внутри несжатого слоя поле высоты описывает цветной растр и маску прозрачности, сложенные друг с другом, поэтому туда пишут удвоенную настоящую высоту, даже когда маска не несёт никакой информации. Ошибка здесь — один из самых тихих отказов формата: одни декодеры выдают пустое изображение, другие — нижнюю половину картинки, и ни один не сообщает об ошибке.
Поля плоскостей, битовой глубины и числа цветов в лучшем случае носят справочный характер
Спецификация описывает их точно, а реальные файлы это игнорируют. Собственный сайт документации Microsoft отдаёт favicon, в каталоге которого заявлены ноль плоскостей и ноль бит на пиксель поверх payload с четырьмя битами на пиксель, — и он отображается везде. Декодеры определяют настоящий формат по самому payload: по сигнатуре PNG или по заголовку растра, а не по каталогу.
У формата ICO никогда не было RFC
Медиатип image/vnd.microsoft.icon зарегистрирован в IANA в сентябре 2003 года, и ссылается он на статью Microsoft 1995 года под названием «Icons in Win32». А RFC 2361, который широко цитируют как спецификацию ICO, на самом деле называется «WAVE and AVI Codec Registries» и об изображениях не говорит вовсе.

Как сделать favicon.ico правильно

Для веба упакуйте 16, 32 и 48 — и остановитесь
Эта тройка остаётся рекомендованным набором с 1995 года и чаще всего встречается в реальных favicon. Лишние размеры не бесплатны: каждый из них — ещё один слой, который браузер может скачать прежде, чем поймёт, какой ему нужен.
Нарисуйте слой 16 пикселей, а не просто уменьшайте большой
Логотип, который хорошо смотрится на 256 пикселях, обычно теряет тонкие линии к 16. Если маленький размер важен, упростите для него рисунок — меньше фигур, толще линии — и упакуйте упрощённый вариант отдельным слоем.
Используйте элемент link и оставьте /favicon.ico как запасной путь
Спецификация HTML лишь разрешает браузерам запросить /favicon.ico и только тогда, когда элемента link со значком нет. Надёжный путь — явный элемент link; файл в корне при этом остаётся полезен для читалок лент, поисковых роботов и всего, что не разбирает вашу разметку.
Добавьте размер больше 48 пикселей, если важна выдача поиска
Руководство Google по favicon требует квадратное изображение не меньше 8 пикселей и рекомендует брать больше 48 пикселей, чтобы значок хорошо смотрелся в разных местах. PNG принимается наравне с ICO, так что большому размеру вовсе не обязательно лежать внутри .ico.
Проверяйте файл, а не только смотрите на него
Значок, который рисуется в вашем браузере, всё ещё может быть неправильным: несовпадающая запись каталога, отсутствующий альфа-канал или нечитаемый слой не помешают показать то единственное изображение, которое выбрал браузер. Откройте файл на обратной вкладке — и увидите их все.

Частые вопросы о переводе PNG в ICO

Как перевести PNG в файл ICO?
Перетащите PNG на эту страницу, оставьте отмеченными 16, 32 и 48 пикселей и скачайте результат. Всё выполняется в браузере, поэтому изображение никуда не загружается. В командной строке обычный аналог — magick logo.png -define icon:auto-resize=48,32,16 favicon.ico.
Почему мой значок размыт на маленьких размерах?
Почти всегда потому, что в файле лежит одно большое изображение, а всё мелкое — это браузер, уменьшающий его на лету. Как только пиксельная сетка уменьшается, никакого «без потерь» уже не существует: тонкие линии и мелкие детали пропадают примерно ниже 24 пикселей, каким бы хорошим ни было масштабирование, так что качество определяется тем, какие размеры упакованы, а не конвертером. Упакуйте настоящий слой 16 пикселей, а если логотип детализированный — упростите для этого слоя рисунок, а не масштабируйте его.
Внутри лучше хранить PNG или несжатый BMP?
PNG, если нет причин поступить иначе: он на порядок меньше, и его читают все современные браузеры и все выпуски Windows начиная с Vista. Несжатые растры всё же остаются более частым выбором на практике — в основном потому, что ImageMagick по умолчанию преобразует именно в них, — и они безопаснее для очень старых программ. Страница показывает оба размера файла, чтобы решение принималось по числу.
Почему нет варианта 512 пикселей?
Каталог хранит длину каждой стороны в одном байте, поэтому максимальное выразимое значение — 255, а 0 зарезервирован под 256. Записать 512 нечем. Конвертеры, которые это предлагают, создают запись каталога, не описывающую лежащее за ней изображение, — верный способ получить значок, который часть программ откажется показывать.
Останется ли PNG с прозрачным фоном прозрачным после преобразования в ICO?
Да. Альфа-канал записывается полностью, а однобитовая маска, которую вместо него читают старые программы, не остаётся пустой, а выводится из альфа-канала: именно пустая маска превращает прозрачный фон в чёрный квадрат в тех инструментах, которые её не заполняют. Частично прозрачный пиксель считается в маске прозрачным, если его альфа опускается ниже половины: маска хранит один бит на пиксель, поэтому другого варианта нет.
Можно ли перевести SVG в ICO?
Да, и векторный исходник — лучший возможный вход, потому что каждый размер рисуется из геометрии, а не пересчитывается из растра. Одна оговорка: всё, что SVG подтягивает по сети — связанное изображение, удалённый шрифт, импортированная таблица стилей, — при конвертации блокируется без всякой ошибки. Страница проверяет такие ссылки и предупреждает о них.
Нужен ли по-прежнему favicon.ico в корне сайта?
Держать его стоит, но главным путём он быть перестал. Спецификация HTML говорит, что браузеры могут запросить /favicon.ico и только тогда, когда на странице нет элемента link со значком. Браузерам предписано сначала использовать элемент link; файл в корне закрывает читалки лент, поисковых роботов и всё прочее, что не разбирает ваш HTML.
Нужен ли Google файл ICO для выдачи поиска?
Нет. Документация Google по favicon принимает BMP, GIF, ICO, PNG, JPEG, PPM и TIFF, требует квадратное изображение не меньше 8 пикселей и рекомендует брать больше 48 пикселей, чтобы значок выглядел правильно в разных местах. Одного большого файла PNG достаточно; .ico нужен для всего остального.
Почему браузер показывает только один размер, когда я открываю .ico?
Потому что больше элемент изображения дать и не может. Отдайте браузеру многоразмерный .ico — он выберет одно изображение, на практике самое большое, а остальные останутся недоступны. Чтобы перечислить каждый слой, контейнер нужно разбирать напрямую, и именно это делает вкладка ICO → PNG на этой странице.
Что значит, когда каталог и изображение расходятся в размере?
Это значит, что файл противоречит сам себе, и декодеры поступают противоположным образом: одни верят каталогу и в итоге не рисуют ничего, другие верят данным изображения и показывают его правильно. Это классическая причина того, что значок работает на одной машине и невидим на другой, поэтому страница отмечает такой случай при открытии файла.
Откроет ли этот инструмент файлы ICO, которые другие конвертеры отвергают?
Часто да. Слои, сохранённые как палитровые растры — четыре или восемь бит на пиксель, — до сих пор используются несколькими известными favicon, и многие конвертеры их попросту не принимают. Сломанные слои тоже обрабатываются по одному, поэтому один нечитаемый размер не мешает выгрузить остальные. В списке также помечается любой встроенный слой PNG, который отбросит Firefox: его декодер ICO принимает только 8-битный RGB или RGBA, поэтому палитровый или полутоновый PNG там исчезает. Собственный сайт Mozilla выпускал значок ровно с этой проблемой — его слой 64 пикселя оказался палитровым PNG, который сам же Firefox и отбрасывает, и значок держится только на остальных слоях.
Загружается ли моё изображение куда-нибудь?
Нет. Файл читается через File API браузера, рисуется на canvas этой страницы и упаковывается в контейнер кодом JavaScript, который работает локально. Ни один запрос не уносит изображение никуда, и это можно подтвердить на вкладке Network в инструментах разработчика — или загрузив страницу, отключив сеть и всё равно выполнив преобразование офлайн.

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

Все инструменты →

Конвертер систем счисления — bin, hex, dec, oct

Конвертеры

Конвертация между системами счисления — двоичной, hex, десятичной, восьмеричной и любой базой 2-36 мгновенно. Бесплатно, приватно — вся обработка в браузере.

Калькулятор дополнительного кода и знаковых представлений

Конвертеры

Введите знаковое целое и получите прямой, обратный, дополнительный и смещённый код сразу, от 4 до 64 бит. Или вставьте битовый паттерн либо hex-байт и увидите все пять прочтений рядом. Локально и бесплатно.

Калькулятор chmod — права доступа к файлам Linux

Конвертеры

Конвертация прав доступа Linux между восьмеричной записью (755, 644) и символами rwx. Готовые команды chmod и предупреждения о рискованных режимах вроде 777 — бесплатно, прямо в вашем браузере.

Конвертер цветов — HEX, RGB, HSL и OKLCH

Конвертеры

Конвертируйте HEX в RGB, HSL, OKLCH, OKLAB и CMYK прямо в браузере — копируйте любой формат в один клик. Бесплатно, без регистрации, ваши цвета никогда не покидают страницу.

Конвертер HEX в CMYK

Конвертеры

Конвертируйте HEX-цвета в CMYK прямо в браузере. Наивное приближение на основе sRGB для предпросмотра печати. Бесплатно, без регистрации, ваши цвета остаются локально.

Конвертер HEX в HSL

Конвертеры

Конвертируйте любой HEX-цвет в HSL прямо в браузере — поддерживаются 3-значные, 6-значные и 8-значные HEX с альфой. Бесплатно, мгновенно, без регистрации, ваши цвета никогда не покидают страницу.