UTILS.
100% в браузере
🗜️

Минификатор JavaScript

Уменьшите JavaScript, удаляя комментарии и лишние пробелы, при этом безопасно сохраняя строки, шаблонные литералы и regex — работает локально в браузере.

— результат появится здесь —

Об этом инструменте

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

Это консервативный минификатор, учитывающий токены. Он сканирует исходный код в токены, корректно перешагивая через внутренности строк, шаблонных литералов, регулярных выражений и комментариев, так что их содержимое сохраняется байт в байт. Комментарии удаляются (или сохраняются через переключатель), и последовательности пробелов удаляются везде, кроме мест, где пробел действительно требуется — между двумя токенами идентификатора/числа/ключевого слова (так что 'return a' никогда не становится 'returna') или между двумя символами операторов, которые иначе бы слились (так что 'a + +b' сохраняет свой пробел). Литерал regex, следующий за ключевым словом, также сохраняет разделяющий пробел.

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

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

Переименовывает ли он переменные или сжимает логику?
Нет. Это консервативный минификатор пробелов и комментариев, а не полноценный компрессор. Он не искажает имена переменных, не сворачивает константы и не удаляет мёртвый код — он только удаляет комментарии и несущественные пробелы, поэтому вывод остаётся легко сравнимым с исходным кодом.
Безопасны ли мои строки и regex?
Да. Минификатор токенизирует исходный код и сохраняет внутренности строк, шаблонных литералов и регулярных выражений в точности. Пробелы и текст, похожий на комментарии, внутри них никогда не затрагиваются, поэтому минифицированный код ведёт себя идентично.
Может ли минификация сломать мой код?
Она сворачивает переносы строк, поэтому скрипты, зависящие от автоматической вставки точек с запятой через переносы строк, могут изменить смысл. Если ваш код уже использует явные точки с запятой — как большинство — вывод эквивалентен. Если сомневаетесь, протестируйте минифицированный результат.
Что означают числа размера?
После минификации инструмент измеряет исходный и минифицированный код в байтах UTF-8 и показывает оба значения плюс процент сокращения, так что вы точно видите, насколько меньше стал скрипт.

Больше инструментов