Генератор спрайт-листов
Перетащите набор изображений, и генератор разместит их на равномерной сетке и нарисует один PNG спрайт-лист прямо в браузере, а затем создаст CSS со смещением background-position для каждого спрайта. Всё выполняется локально на холсте (canvas), поэтому ничего не загружается на сервер. Удобно для наборов иконок, кадров ретро-игр и состояний интерфейса, когда вы предпочитаете один файл вместо множества отдельных изображений. Вы задаёте число столбцов, размер плитки, отступ между ячейками и фон (прозрачный, белый или чёрный).
Как строится спрайт-лист
-
1
Перетащите изображения
Добавьте файлы PNG, JPG или WebP. Меняйте порядок кнопками вверх/вниз или удаляйте кадры; лист перестраивается мгновенно.
-
2
Задайте сетку
Выберите число столбцов; число строк вычисляется из количества добавленных изображений. Каждое изображение масштабируется, чтобы поместиться в квадратную плитку, с сохранением пропорций и по центру.
-
3
Настройте размер плитки и отступ
Выберите размер плитки в пикселях и добавьте отступ между ячейками, чтобы соседние спрайты не перетекали друг в друга при масштабировании.
-
4
Скачайте PNG и скопируйте CSS
Сохраните спрайт-лист как один PNG и скопируйте созданные классы CSS: по одному правилу `.spr-имя` на изображение с шириной, высотой и background-position.
Как работает компоновка
Генератор использует одну предсказуемую компоновку: равномерную сетку. Вы задаёте число столбцов, а число строк равно округление_вверх(изображения / столбцы). Все ячейки одного квадратного размера (выбранного размера плитки), поэтому каждое изображение масштабируется, чтобы поместиться в свою ячейку с сохранением пропорций, и центрируется. Изображения разного размера попадают в одинаковые ячейки, именно этого ожидают CSS-спрайты с background-position.
| Параметр | Диапазон | Действие |
|---|---|---|
| Столбцы | от 1 до 16 | Спрайтов в строке; строки вычисляются автоматически |
| Размер плитки | от 32 до 512 px | Квадратная ячейка, в которую вписывается каждое изображение |
| Отступ | от 0 до 64 px | Прозрачный зазор между ячейками против перетекания при масштабировании |
| Фон | Прозрачный / Белый / Чёрный | Заливка за спрайтами в итоговом PNG |
Вид итогового CSS
Каждое изображение становится классом с именем файла (.spr-<имя>), размером с плитку и со смещением к своей ячейке. При четырёх столбцах, размере плитки 128 px и без отступа лист выглядит так:
.spr-idle { width: 128px; height: 128px; background: url(spritesheet.png) -0px -0px; }
.spr-walk { width: 128px; height: 128px; background: url(spritesheet.png) -128px -0px; }
.spr-run { width: 128px; height: 128px; background: url(spritesheet.png) -256px -0px; }
.spr-jump { width: 128px; height: 128px; background: url(spritesheet.png) -384px -0px; }
.spr-fall { width: 128px; height: 128px; background: url(spritesheet.png) -0px -128px; }
Смещение движется в двух измерениях: спрайты заполняют каждую строку слева направо, затем переходят на следующую строку. Сохраните PNG как spritesheet.png рядом с вашим CSS (или измените url(...) под ваш путь).
Отступ и перетекание
Спрайты, упакованные встык, могут перетекать друг в друга, когда браузер масштабирует лист (нецелые соотношения пикселей, CSS-преобразования). Добавьте от 2 до 4 пикселей отступа между ячейками, чтобы соседние пиксели не просачивались.
Экраны высокой плотности (retina)
Автоматического экспорта 2x нет, но более чёткий лист получить просто: выберите больший размер плитки (например, 256 px вместо 128 px), чтобы каждый спрайт нёс больше пикселей, а затем показывайте его в половину размера CSS. Так вы получите чёткие спрайты на экранах высокой плотности без отдельного прохода.
Спрайт-листы или альтернативы
- Спрайт-листы: классические наборы иконок в CSS, кадры HTML5-игр и страницы, которым выгодно собрать много мелких изображений в один файл.
- SVG-спрайты (symbol): лучше для современных иконок интерфейса, масштабируются без потерь, принимают
fillв CSS, без возни сbackground-position. - Иконочные шрифты: ограничены, но всё ещё применяются для крошечных одноцветных иконок.
- Отдельные файлы с HTTP/2 или HTTP/3: мультиплексирование делает число запросов менее важным, чем прежде.
Часто задаваемые вопросы
Изображения остаются в браузере. В пошаговом режиме выбранные файлы изображений и раскладка временно хранятся в этой вкладке браузера не более 30 минут. Ничего не отправляется на сервер и не добавляется в URL.
Да, но встроенные SVG или SVG-спрайты <symbol> обычно лучше подходят для компонентных фреймворков. CSS-спрайт-листы хороши, когда на статических страницах одновременно показывается много изображений.
Задайте число столбцов равным числу кадров, чтобы каждый кадр был в одной строке, а затем управляйте им через animation-timing-function: steps(N) в CSS и background-position, перескакивающий по ячейкам. Хорошо подходит для коротких зацикленных анимаций (спиннеры, состояния покоя).
Каждая ячейка сетки имеет один квадратный размер (выбранный размер плитки), поэтому каждое изображение вписывается в свою ячейку и центрируется. Если ваши спрайты уже одинаковые квадраты, задайте соответствующий размер плитки, и они пройдут без изменений.
Сопутствующие инструменты
Палитра цветов Material Design
Просмотрите палитру цветов Material Design. Копируйте любой оттенок (от 50 до A700) в форматах HEX, RGB или HSL одним нажатием.
Изменение размера изображений
Меняйте размер изображений до точных пиксельных размеров или процентов, сохраняя пропорции. Подходит для пакетной подготовки, без загрузки файлов.
WebP в JPG
Конвертируйте изображения WebP в JPG/JPEG прямо в браузере. Выберите качество, объедините прозрачность с цветом фона и скачайте без загрузки файлов на сервер.
Генератор надписей граффити
Создавайте надписи в стилях тег, баббл, блок, трафарет, неон и вайлд. Настраивайте цвета и экспортируйте PNG или SVG прямо в браузере.
Генератор штрихкодов
Создавайте Code 128, EAN-13, UPC, ITF-14 и еще семь линейных штрихкодов. Данные остаются в браузере, результат можно скачать в SVG или PNG.
Генератор QR-кодов
Создавайте QR-код из текста или URL в браузере и скачивайте его в PNG.