CSS-минификатор

Минифицированный CSS-файл загружается заметно быстрее своей красивой версии, и эта разница складывается на каждой загрузке страницы. Этот минификатор удаляет пробелы, комментарии и завершающие точки с запятой, не меняя каскад и эффект ни одного правила. Вывод всегда валидный CSS, который браузеры парсят идентично оригиналу.

Как минифицировать CSS

  1. 1

    Вставьте CSS

    Любой CSS: написанный вручную, скомпилированный из Sass, inline-блоки style.

  2. 2

    Минифицируйте

    Нажмите "Minify CSS", чтобы удалить комментарии, пробелы и завершающие точки с запятой за один проход.

  3. 3

    Проверьте экономию

    Отчёт об экономии байт отображается рядом со сжатым выводом.

  4. 4

    Скопируйте результат

    Вставьте минифицированный CSS в свой production-бандл или сохраните его как `.min.css`.

Что делает минификатор

Преобразования (никогда не меняют поведение):

  • Удаление комментариев (всех, включая блоки /*! лицензий).
  • Удаление лишних пробелов (между селекторами, объявлениями, скобками).
  • Удаление завершающих точек с запятой перед закрывающими скобками.
  • Схлопывание многострочных правил в одну строку.

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

Типичная экономия

Источник Исходный размер После минификации Экономия
Отформатированный CSS, написанный вручную 20 KB 12 KB 40%
Скомпилированный из Sass, режим разработки 45 KB 25 KB 44%
Уже минифицированный + gzip 10 KB 10 KB 0%

Поверх минификации gzip-сжатие на сервере добавляет ещё 60-80% экономии, потому что CSS очень избыточен. Эти эффекты складываются; всегда делайте оба.

Чего минификация не делает

  • Удаление неиспользуемого CSS. Это территория tree-shaking / PurgeCSS, что требует анализа HTML или компонентов.
  • Сокращение hex-цветов, схлопывание нулевых единиц или объединение объявлений. Эти агрессивные преобразования это работа cssnano, esbuild или Lightning CSS, а не этого инструмента.
  • Объединение одинаковых селекторов в один. Рискованно, потому что порядок исходников влияет на каскад; некоторые минификаторы пробуют, большинство пропускают.
  • Переименование классов. Это CSS-in-JS или CSS Modules, не минификация.
  • Инлайнинг critical CSS. Это отдельный этап на этапе сборки.

Сохранение license-комментариев

Многие минификаторы сохраняют комментарии, начинающиеся с /*!, для license-заголовков:

/*! Bootstrap v5.3 · MIT License · https://github.com/twbs/bootstrap */

Этот инструмент удаляет все комментарии. Если ваш CSS содержит license-заголовки, добавьте их обратно после минификации или используйте build-инструмент с опцией сохранения лицензий, например cssnano или esbuild.

Source maps

Для отладки в продакшене build-инструменты генерируют source map рядом с минифицированным выводом:

styles.min.css
styles.min.css.map

DevTools может прочитать map и показать номера строк исходника при инспекции элемента. Этот инструмент не генерирует source maps.

CSS-минификация в build-пайплайне

  • Vite, Webpack, Parcel: делают это автоматически в production-сборках.
  • PostCSS с cssnano: стандартный самостоятельный минификатор.
  • esbuild: тоже включает минификацию CSS.
  • Пресеты cssnano: default для безопасных преобразований, advanced для агрессивных (с компромиссами).

Этот инструмент для разовой минификации, быстрых правок и понимания, что именно делают минификаторы. Для production-воркфлоу используйте build-инструмент, чтобы исходники оставались читаемыми и минифицировался только вывод.

Когда минификация может сломать CSS

Редко, но возможно:

  • Пробел-чувствительные селекторы: .foo .bar против .foo.bar, пробел важен.
  • Значения custom properties с пробелами: --shadow: 0 2px 4px rgba(0,0,0,0.1), запятые внутри rgba() нельзя удалять.
  • Незакрытые блок-комментарии: /* missing close съедает всё после себя. Минификаторы могут вести себя странно на некорректном вводе.

Решение: всегда прогоняйте минифицированный вывод через lint/test перед выкаткой.

Часто задаваемые вопросы

Нет. Корректно минифицированный CSS-файл отличается по байтам, но семантически идентичен. Каждый селектор, свойство и значение дают одинаковый визуальный результат. Если видите изменение в рендере, у минификатора баг или во вводе был whitespace-sensitive синтаксис.

Да, после нажатия “Minify CSS”. Вставленный CSS отправляется на наш сервер для минификации, а результат возвращается на страницу. Он не сохраняется в базе данных и не добавляется в ссылку страницы.

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

Скромно, но реально, обычно 5-15% сверху gzip. Удаление пробелов и комментариев также делает gzip-паттерны чуть плотнее.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор цветовой палитры

Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.