Меню
Поиск

Графика и бренд · Иконки и иллюстрации

Как нарисовать иконку, которая не выбивается из набора

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

Пример для всего урока. Приложение того же магазина кофе, что и в темах про типографику и состояния экрана. Иконки в нём из готового линейного набора: холст 24 пикселя, линия 2 пикселя, скруглённые концы. В фильтрах появился новый пункт — «Помол», — а кофемолки в наборе нет. Её вы и нарисуете за урок.

1Взять из набора, нарисовать или обойтись словом

Своя иконка — это время на рисование и риск, что её не поймут. Прежде чем рисовать, проверьте, нужна ли она.

Сначала поищите в наборе

И не одним словом: иконки называют по тому, что нарисовано, а не по смыслу.

Например, кофемолка может найтись как mill или grinder, а «повторить заказ» — как refresh.

Поиск сразу по многим наборам, например в Icônes, покажет, как задачу решили другие.

Но переносить иконку из чужого набора в свой не стоит: у неё будет другая сетка и другая линия. Возьмите её как подсказку, что рисовать.

Иконки понимают хуже, чем кажется

В Nielsen Norman Group пишут, что почти всем понятны лишь несколько иконок — дом, печать, лупа поиска, — а остальным нужна подпись.

Отвлечённое понятие вроде «программы лояльности» картинкой не объяснить совсем.

СлучайЧто делатьПример в магазине
В наборе есть иконка с таким смысломВзять из набораЛупа для поиска, корзина в нижнем меню
Предмет понятный, но в наборе его нетНарисовать по правилам набораКофемолка для фильтра «Помол»
Смысл отвлечённый, картинкой не объяснитьОбойтись словом«Программа лояльности», «Условия возврата»

Проверьте себя

Восемь мест в приложении магазина. Взять иконку из набора, нарисовать свою или написать словом?

Тренажёр · взять, нарисовать или словом
  1. Кнопка поиска в шапке каталога.

  2. Фильтр «Помол»: в наборе нет ни кофемолки, ни чего-то похожего.

  3. Пункт меню «Программа лояльности».

  4. Корзина в нижнем меню приложения.

  5. Фильтр формата: «Зёрна», «Молотый», «Капсулы». Зерно в наборе есть, капсулы нет.

  6. Отметка «обжарен на этой неделе» у свежего кофе.

  7. Кнопка «Повторить заказ»: в наборе есть круговые стрелки.

  8. Раздел «Условия доставки и возврата» в профиле.

Сначала спросите себя, узнают ли предмет с первого взгляда. Если нет — никакая иконка не поможет.
Своя иконка нужна, когда предмет понятен, а в наборе его нет. Отвлечённое понятие объясняет слово.

2Почему своя иконка выглядит чужой

Новую иконку выдаёт не сюжет, а мелочи: размер, толщина линии, концы, скругления и детали.

Вот иконки из фильтров магазина и новая кофемолка.

Переключайте версии: нарисованную на глаз, с исправленной толщиной и по всем правилам набора. Верхний ряд в увеличении, нижний — в настоящем размере, 24 пикселя.

Кофемолка среди иконок набора · три версии

На глаз

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

Толщина исправлена

Лучше, но всё ещё чужаяЛиния как у соседей, но иконка выше и шире остальных, углы острые, а детали стали ещё гуще.

По правилам набора

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

Параметры набора

Чтобы иконка встала в ряд, выпишите параметры набора до того, как рисовать. Если в описании набора их нет, измерьте две-три готовые иконки в редакторе.

ПараметрВ наборе магазинаКофемолка на глаз
Холст24 × 2424 × 24
Поле2 пикселя со всех сторон, рисунок в квадрате 20 × 20Рисунок до самого края
Толщина линии2 пикселя1,5 пикселя
Концы и углы линийСкруглённыеПрямые
Скругление прямоугольников2 пикселяНет
ЗаливкаНет, только линияНет
ДеталиМежду линиями не меньше 2 пикселейВинтики и насечки вплотную

Иллюстрации

С ними то же самое. Картинка для пустого экрана, которая стоит рядом с такими иконками, берёт у них толщину линии, скругления и два-три цвета из палитры продукта.

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

Правила набора выписывают до того, как рисовать. Своя иконка отличается от соседей только сюжетом.

3Холст, поле и опорные фигуры

Иконку рисуют на холсте набора и не выходят за поле. Форму подгоняют под опорные фигуры, чтобы круглые и квадратные иконки казались одного размера.

Холст — квадрат 24 на 24. Поле — отступ 2 пикселя со всех сторон, рисунок живёт в квадрате 20 на 20.

Отступ нужен, чтобы иконки не слипались друг с другом и с краем кнопки. Включайте и выключайте слои и посмотрите, как кофемолка стоит на сетке.

Кофемолка на холсте 24 × 24
24 пикселя
Сетка — один пиксель на клетку. Закрашенная рамка — поле, туда рисунок не заходит. Пунктир — опорные фигуры: круг, квадрат и два прямоугольника.

Опорные фигуры

Они нужны из-за оптики. Круг, вписанный в тот же квадрат, что и квадрат, кажется меньше: у него нет углов.

Поэтому во второй версии Material Design круглые иконки рисуют по кругу диаметром 20, квадратные — по квадрату 18.

А вытянутые — по прямоугольникам 20 на 16 и 16 на 20. Так они выглядят одного размера.

Круг и квадрат · одинаковые на бумаге, разные на глаз
Круг 20 Квадрат 20 Квадрат 18
Квадрат 20 кажется крупнее круга 20, хотя в ширину они одинаковые. Квадрат 18 стоит с кругом вровень.
Рисунок не выходит за поле. Круглая форма берёт поле целиком, квадратная — чуть меньше. Кофемолка — квадратная, поэтому её корпус уже поля.

4Проверка в настоящем размере

В увеличении любая иконка выглядит аккуратно. Правду показывает размер, в котором она стоит на экране.

Иконку рисуют крупно, а проверяют в тех размерах, где она будет: 24 в кнопке, 20 в поле, 16 в строке списка. И на обоих фонах — светлом и тёмном.

Кофемолка · от 16 до 48 пикселей, на светлом и тёмном
16 20 24 32 48
16 20 24 32 48

С насечками и без, 16 и 24 пикселя

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

Целые пиксели

Экран рисует пикселями. Линия толщиной 2, поставленная на целые координаты, ложится ровно на два столбца пикселей.

Сдвинутая на полпикселя, она ложится на три: крайние становятся полупрозрачными, и иконка выглядит размытой. На экранах с высокой плотностью пикселей это почти не видно, на обычных мониторах — сразу.

Линия толщиной 2 · на целом пикселе и на половине
x = 4: два столбца x = 4,5: три столбца
Пунктир — где линия нарисована, клетки — пиксели экрана. Справа крайние пиксели закрашены наполовину: так выглядит размытие вблизи.
Точки линии толщиной 2 ставят на целые пиксели, толщиной 1 — на половинки. Промежуток между линиями — не меньше 2 пикселей, иначе на 16 они слипаются.

Контраст

Иконка, без которой непонятно, что делает кнопка, должна иметь контраст с фоном не ниже 3 : 1. Это требование WCAG, критерий 1.4.11, уровень AA.

5SVG для разработки

Разработке нужен файл, который встаёт в код как есть: один рисунок, без служебного мусора и с цветом, который можно поменять.

Вот кофемолка, как она часто выходит из редактора без настройки экспорта, и та же кофемолка, готовая к передаче.

grinder.svg · из редактора и готовый

Из редактора

<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Frame 12" clip-path="url(#clip0_12_3)">
<g id="Group 4">
<rect id="Rectangle 7" x="5" y="12" width="14" height="9" rx="2" stroke="#1B1F24" stroke-width="2"/>
<path id="Vector 3" d="M8 12L7 8H17L16 12" stroke="#1B1F24" stroke-width="2" stroke-linejoin="round"/>
<path id="Vector 5" d="M12 8V4H17" stroke="#1B1F24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="Ellipse 2" cx="18" cy="4" r="1" stroke="#1B1F24" stroke-width="2"/>
<path id="Vector 6" d="M10 17H14" stroke="#1B1F24" stroke-width="2" stroke-linecap="round"/>
</g>
</g>
<defs>
<clipPath id="clip0_12_3">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

Готовый к передаче

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
     fill="none" stroke="currentColor" stroke-width="2"
     stroke-linecap="round" stroke-linejoin="round">
  <rect x="5" y="12" width="14" height="9" rx="2"/>
  <path d="M8 12 7 8h10l-1 4"/>
  <path d="M12 8V4h5"/>
  <circle cx="18" cy="4" r="1"/>
  <path d="M10 17h4"/>
</svg>
Рисунок один и тот же. Во втором файле нет групп, имён слоёв, обрезки и цвета, вписанного кодом, а параметры линии заданы один раз на весь файл.
Что в файлеЗачем
viewBox="0 0 24 24"Холст набора. Размер на экране задаёт разработка, рисунок масштабируется целиком
stroke="currentColor"Цвет берётся у текста рядом, поэтому иконка сама перекрашивается в тёмной теме и на кнопке
fill="none", толщина, концы и углыПараметры набора один раз на весь файл, а не у каждой линии
Нет id, групп и обрезкиОни только занимают место, а одинаковые id у двух иконок на одной странице ломают друг другу рисунок
Имя grinder.svgЧто нарисовано, латиницей, как у соседей по набору, а не icon-new-final2.svg

Почистить файл помогает SVGOMG: он убирает служебные данные редактора, а переключатель Show original показывает, не испортилась ли при этом форма.

Цвет на currentColor и лишнюю обрезку рамки из Figma он не заменит — это правят руками. После чистки откройте файл в браузере и сравните с макетом.

Что иконка значит

Допишите это для разработки. Если иконка стоит рядом со словом, экранному диктору её не читают. Если кнопка состоит только из иконки, ей нужно название словами — «Помол», — иначе диктор скажет просто «кнопка».

Файл иконки — один рисунок и параметры набора. Цвет не вписан, а берётся у текста, имя говорит, что нарисовано.

6Лицензия набора и своя иконка

Своя иконка — ваша. Но когда вы дорисовываете к чужому набору или меняете его иконки, условия набора продолжают действовать.

У открытых наборов условия простые, но они есть. Ниже — что они требуют, если иконки набора попадают в ваш продукт:

НаборЛицензияЧто нужно
LucideISCСохранять текст лицензии с файлами набора, которые вы распространяете
Tabler Icons, Heroicons, PhosphorMITТо же: текст лицензии остаётся с файлами
Material SymbolsApache 2.0Приложить текст лицензии и отметить файлы, которые вы изменили
Remix IconСобственная, с января 2026 годаВ продукте можно. Продавать иконки отдельным набором и делать на их основе свой набор иконок нельзя
Font Awesome FreeCC BY 4.0 для иконокУказать автора. В скачанных файлах указание уже стоит в комментариях

Лицензии иллюстраций

С иллюстрациями условия разнообразнее:

  • unDraw разрешает ставить картинки в коммерческий продукт без указания автора, но не разрешает раздавать и продавать их как свои наборы;
  • Storyset бесплатен, если указать сайт как источник, без этого — по подписке Flaticon Premium;
  • Humaaans и Open Peeps выложены под CC0: условий нет совсем.
Запишите рядом с каждой иконкой, откуда она: своя или из набора и по какой лицензии. Через год этого никто не вспомнит, а спросить могут.

7Найдите чужие иконки

Иконки фильтров и меню магазина. Пять из десяти нарушают правила набора.

Нажимайте на иконки, которые выбиваются из ряда. В разборе будет, каким параметром.

Иконки показаны в 32 пикселя, чтобы на них было удобно нажимать.

Набор магазина · найдите чужие
чашка избранное корзина профиль помол время поиск уведомления доставка зёрна
  1. Чашка.По правилам. Линия 2, концы скруглены, рисунок в поле.
  2. Избранное — залитое сердце.Заливка. Набор линейный, и залитая иконка сразу темнее и тяжелее соседей. Залитое сердце можно оставить как состояние «уже в избранном», но основная иконка — контуром.
  3. Корзина.По правилам. Та же линия и те же скругления, колёса — точки, как у соседей.
  4. Профиль — линия тоньше.Толщина. Линия 1,5 вместо 2. В ряду иконка выглядит бледнее, будто неактивная.
  5. Помол — кофемолка.По правилам. Та самая кофемолка из урока. Нарисована по правилам набора, и её не видно как новую.
  6. Время доставки — часы во весь холст.Размер. Круг выходит за поле и упирается в края холста. Часы кажутся крупнее всех остальных. Круглой иконке хватает круга диаметром 20.
  7. Поиск.По правилам. Круг в поле, ручка лупы заканчивается у его края.
  8. Уведомления — колокольчик с острыми углами.Концы и углы. Концы линий обрублены, углы острые, а у всего набора они скруглены. Разница мелкая, но в ряду иконка выглядит жёстче остальных.
  9. Доставка — грузовик.По правилам. Прямоугольник кузова скруглён на 2, как у кофемолки, колёса в поле.
  10. Зёрна — зерно с точками и штрихами.Детали. Точки и штрихи ближе 2 пикселей друг к другу. На 24 и тем более на 16 они сливаются в пятно, и зерно становится похоже на что угодно.

Все пять найдены. Каждая чужая выбивается одним параметром: заливкой, толщиной, размером, концами или деталями. Кофемолка, которую вы рисовали весь урок, в чужие не попала.

Иконки по правилам тоже можно нажать: вы прочитаете, почему там всё в порядке, а счётчик «Найдено» не изменится.
Сравнивайте с соседями по одному параметру за раз. Размер, толщина, концы, скругления, детали. Обычно иконку выдаёт что-то одно.

8Задание

Найдите в своём продукте задачу, для которой нет подходящей иконки, нарисуйте её и поставьте рядом с иконками набора.

Часть 1 · Правила набора, 15 минут

  1. Найдите задачу, для которой в наборе нет иконки, и проверьте по первому разделу урока, что иконка здесь вообще нужна.
  2. Выпишите правила набора: холст, поле, толщину, концы, скругления, заливку, детали. Нет описания — измерьте две-три готовые иконки.
  3. Узнайте лицензию набора и запишите её.
Новая иконка · заполните до и после рисования
ИКОНКА: ______________   смысл: ______________   где стоит: ______________
НАБОР: ______________   лицензия: ______________

ПРАВИЛА НАБОРА
холст: __ × __        поле: __ px         толщина линии: __ px
концы и углы: скруглённые / прямые        скругление прямоугольников: __ px
заливка: нет / есть   детали: промежутки не меньше __ px

ПРОВЕРКА
размеры 16 / 20 / 24 — проверено в каждом: да / нет
светлый и тёмный фон — проверено: да / нет    контраст с фоном: __ : 1
в ряду из десяти её не отличить от соседей: да / нет

ФАЙЛ
имя: ______________.svg    цвет: currentColor    групп, id и обрезки нет: да / нет
название словами для кнопки без подписи: ______________
откуда иконка: своя / из набора ______________
Правила набора заполняйте до рисования, проверку — после.

Часть 2 · Нарисовать, 40 минут

  1. Создайте холст набора и включите пиксельную сетку.
  2. Выберите опорную фигуру по форме предмета: круг, квадрат или прямоугольник.
  3. Соберите предмет из простых фигур с толщиной и скруглениями набора. Сначала силуэт, детали — только если без них предмет не узнать.
  4. После каждого шага смотрите иконку в 100 %, а не только в увеличении.

Часть 3 · Проверить и отдать, 15 минут

  1. Поставьте иконку в ряд из десяти иконок набора на светлом и тёмном фоне, в 16, 20 и 24 пикселя.
  2. Покажите ряд коллеге и спросите, какая иконка новая. Если угадал сразу, сравните с соседями по одному параметру.
  3. Выгрузите SVG, почистите в SVGOMG, назовите по правилам набора.
Как понять, что задание выполнено. В ряду из десяти иконок вашу не видно как чужую.

Что должно получиться

  • Иконка в SVG, готовая к передаче в разработку.
  • Ряд из десяти иконок с вашей — на светлом и тёмном фоне.
  • Заполненный шаблон с правилами набора и проверкой.

План работы: 15 минут на правила, 40 на рисование, 15 на проверку. Всего — чуть больше часа.

Частые сложности

  • «В увеличении ровно, на экране криво». Обычно виноваты точки на полупикселях или детали мельче 2 пикселей. Проверяйте в 100 % после каждого шага, а не в конце.
  • «У набора нет описания правил». Откройте две-три иконки в редакторе и измерьте холст, отступ до края, толщину и радиусы. Этого хватит.
  • «Предмет не узнаётся». Уберите детали и оставьте силуэт. Если без подписи всё равно не понять, это нормально: подпись нужна почти любой иконке.
  • «Всё по правилам, а иконка всё равно чужая». Сравните плотность: сколько линий на холсте у соседей и у вашей. Иконка с вдвое большим числом линий выглядит темнее при той же толщине.

9Чек-лист и ошибки

Иконка готова, если

  • Её действительно нет в наборе, а предмет узнаётся
  • Холст и поле как у набора, рисунок за поле не выходит
  • Форма подогнана под опорную фигуру
  • Толщина, концы, углы и скругления как у соседей
  • Между линиями не меньше 2 пикселей
  • Проверена в 16, 20 и 24 пикселя на светлом и тёмном фоне
  • SVG без групп, id и вписанного цвета, имя по правилам набора
  • Записано, откуда иконка и по какой лицензии набор

Что мешает

  • Рисунок до края холста. Иконка кажется крупнее соседей и слипается с краем кнопки.
  • «Почти такая же» толщина. 1,5 вместо 2 в ряду читается как неактивная иконка.
  • Детали ради красоты. На 16 пикселях они превращаются в пятно.
  • Проверка только в увеличении. Размытие и слипшиеся линии видны лишь в настоящем размере.
  • Иконка из чужого набора. Своя сетка и своя линия, и в ряду её видно сразу.

10Три ступени темы

В этом уроке учимся рисовать отдельную иконку, которая встаёт в готовый набор. На следующих ступенях — собирать свой набор с общими правилами и настроенным экспортом, а потом описывать правила так, чтобы набор дорисовывали другие.

СтупеньЧто нужно уметьКак проверить результат
Junior — этот урок Решать, нужна ли своя иконка; рисовать на холсте набора с его полем, толщиной и скруглениями; проверять в настоящем размере; отдавать чистый SVG; понимать лицензию набора В ряду из десяти иконок вашу не видно как чужую
Middle Задавать правила набора один раз; собирать иконки компонентами с цветом и размером в переменных; настраивать экспорт; проверять набор в двух темах и в мелком размере; не заводить два значка на одну задачу Смена цвета и размера любой иконки — одно действие, а не правка исходника
Senior Описывать правила набора для других; собирать примеры «так» и «не так»; принимать чужие иконки по правилам; решать, что в набор не берём; держать лицензии в порядке Чужая иконка вошла в набор без вашей перерисовки
Ориентир по этой теме: любую свою иконку можно поставить в ряд с готовыми, и никто не скажет, какая из них новая.

Что почитать дальше

  • System iconsMaterial Design, вторая версия · на английском · бесплатноХолст, поле и опорные фигуры с картинками: откуда берутся 24, 20 и 18. У Material концы линий прямые, а рисунок может заходить в поле ради веса — в наборе урока и то и другое иначе.
  • Lucide design languageLucide · на английском · бесплатноЧетырнадцать правил открытого набора с парами «так» и «не так»: холст 24, линия 2, скругления 1 и 2, промежутки от 2 пикселей. Удобно сверять свою иконку, только поле у Lucide — 1 пиксель, а не 2, как в уроке.
  • How to Master Pixel Perfect IconsIcon Utopia, 2015 · на английском · бесплатноКак держать иконку на пиксельной сетке: целые размеры, координаты и толщины, проверка в Pixel Preview. Статья 2015 года, все шаги — для Adobe Illustrator; про линию в 1 пиксель на половинках пикселя в ней ничего нет.
  • Icon UsabilityNielsen Norman Group, Аврора Харли · на английском · бесплатноКакие иконки узнают без подписи — дом, печать, лупа — и почему подпись советуют даже знакомой иконке. Там же правило пяти секунд и путаница сердца со звездой. Статья 2014 года, обновлена в 2024-м.
  • SVGOMGинструмент · на английском · бесплатноЧистит SVG от служебных данных редактора, а переключатель Show original показывает, не испортилась ли форма. Цвет на currentColor и обрезку рамки из Figma он не заменит — это правят руками.