UTILS.
100% в браузере
🎨

Бьютификатор / форматировщик JavaScript

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

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

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

Бьютификатор JavaScript переформатирует минифицированный, однострочный или непоследовательно отформатированный JavaScript и JSON в чистый, читаемый исходный код с единообразными отступами и пробелами. Он удобен для чтения собранной библиотеки, приведения в порядок скопированного фрагмента или изучения JSON-блоба. Всё происходит в вашем браузере — код только переформатируется как текст, никогда не выполняется, поэтому нет ни eval, ни new Function, и ничего не загружается на сервер.

Форматировщик — это написанный вручную токенизатор, а не хак на регулярных выражениях: он сканирует исходный код в токены, корректно пропуская внутренности строк, шаблонных литералов, регулярных выражений и строчных/блочных комментариев, так что кавычки и слэши внутри них никогда не принимаются за структуру. Классическая эвристика просмотра назад отличает оператор деления от литерала регулярного выражения. Затем поток токенов заново выводится с переносами строк после '{', '[' и ';', с уменьшением отступа перед '}' и ']', по одному элементу на строку внутри литералов объектов и массивов, и с одним пробелом вокруг операторов и после ключевых слов.

Выберите отступ в 2 пробела, 4 пробела или табуляцию, и стиль скобок: свёрнутый оставляет открывающую скобку на той же строке (K&R / 1TBS), тогда как развёрнутый переносит её на отдельную строку (Allman). Поскольку инструмент сохраняет содержимое строк и регулярных выражений байт в байт, переформатированный код семантически идентичен вводу. Скопируйте результат прямо в ваш редактор.

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

Запускает ли он или выполняет мой код?
Нет. Бьютификатор только токенизирует и заново выводит ваш исходный код как текст. Он никогда не вызывает eval или new Function и никогда не выполняет код, поэтому вставка недоверенного или проприетарного JavaScript безопасна. Вся работа остаётся в вашем браузере.
Работает ли он с JSON тоже?
Да. JSON — это подмножество синтаксиса JavaScript, поэтому вставка минифицированного JSON-объекта или массива переформатирует его в форму с отступами, по одному ключу на строку. Строки, числа и вложенные структуры форматируются так же, как в JavaScript.
В чём разница между стилями скобок?
Свёрнутый (K&R / 1TBS) оставляет открывающую скобку на той же строке, что и оператор, например 'if (x) {'. Развёрнутый (Allman) помещает открывающую скобку на собственную строку под оператором. Оба дают идентичный, корректный код — различается только оформление.
Изменит ли он то, что делает мой код?
Нет. Меняются только пробелы, отступы и переносы строк. Содержимое строк, шаблонных литералов и регулярных выражений сохраняется в точности, поэтому переформатированный вывод функционально идентичен исходному коду.

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