Форматировщик и минификатор кода
Форматирование выполняется в вашем браузере — код не отправляется на сервер и нигде не сохраняется. Автоисправление работает только для JSON: там ошибки механические. Для остальных языков мы показываем место ошибки, но не переписываем ваш код.
Об инструменте: форматирование, минификация и проверка кода
Этот инструмент заменяет восемь отдельных вкладок. Он приводит код к читабельному виду, сжимает его для публикации и показывает, где именно синтаксическая ошибка — с номером строки и позицией. Поддерживает JSON, JavaScript, CSS, HTML, XML, PHP, YAML и Markdown. Здесь нет сторонней рекламы, лимитов на объём и регистрации.
Вся работа происходит в вашем браузере — код не отправляется на сервер и нигде не сохраняется. Для кода это принципиально: в нём бывают ключи, пароли и данные клиентов.
Главные преимущества инструмента:
Язык определяется автоматически: вставьте код — инструмент распознает его по структуре. Если догадка ошибочна, язык можно выбрать вручную.
Ошибка с координатами: вместо глухого «невалидно» вы видите сообщение парсера и точное место — строку и позицию.
Форматирует проверенный инструмент, а не самоделка: внутри работает Prettier — тот самый, что стоит в редакторах миллионов разработчиков. Результат совпадает с тем, который дала бы ваша среда разработки.
Форматирование или минификация?
Форматирование
Этот режим расставляет отступы и переносы так, чтобы код было удобно читать. Он пригодится, когда вы получили ответ API одной длинной строкой, унаследовали чужой файл или просто хотите увидеть структуру. Отступ можно задать: два пробела, четыре или табуляция.
Минификация
Этот режим убирает всё лишнее — пробелы, переносы, комментарии — чтобы файл весил меньше. Это нужно перед публикацией на сайт, а не для работы с кодом.
Минификация доступна для JSON, JavaScript, CSS, HTML и XML. Для PHP, YAML и Markdown её нет намеренно: в PHP сжатие кода не даёт выигрыша и ломает отладку, а в YAML и Markdown отступы и переносы — это и есть синтаксис.
Что именно инструмент исправляет сам?
Здесь важно быть точным, потому что автоматическое исправление кода — вещь опасная.
Для JSON исправление действительно работает. Ошибки в нём почти всегда механические, поэтому инструмент молча починит и обязательно покажет перечень того, что изменил:
Комментарии удаляются: в JSON их не бывает, хотя редакторы часто и позволяют их писать.
Лишние запятые перед закрывающей скобкой убираются: чаще всего они остаются после удаления последнего элемента.
Одинарные кавычки заменяются на двойные, а ключи без кавычек берутся в кавычки: так JSON копируют из JavaScript.
True, False, None — литералы Python, в котором они пишутся с большой буквы. Заменяются на
true,false,null.NaN и undefined — литералы JavaScript, которых в JSON не существует вовсе. Заменяются на
null.Типографские кавычки заменяются на прямые: они появляются после копирования через Word или мессенджер.
Python и JavaScript здесь упомянуты не как языки, которые инструмент форматирует, а как источники текста: именно оттуда люди копируют в поле то, что считают JSON. Python печатает словарь собственным синтаксисом, а не через json.dumps() — и получается почти JSON, но невалидный. Форматирование Python инструмент не поддерживает.
Для остальных языков исправления нет, и это осознанное решение. Починить произвольную синтаксическую ошибку в JavaScript или PHP означает угадать, что именно автор имел в виду. Ошибиться здесь легко, а цена высока: инструмент втихую изменит логику вашего кода. Поэтому для JS, PHP, CSS, HTML и XML мы показываем место ошибки и оставляем решение за вами.
Несколько практических советов
Ответ API одной строкой: вставьте как есть и нажмите «Форматировать» — язык определится сам.
Ошибка может быть не в указанной строке: парсер сообщает, где он заметил проблему. Незакрытую скобку обычно видно значительно ниже реального места, поэтому смотрите выше указанной позиции.
Минифицированный код не редактируют: сжимайте последним шагом, а работайте всегда с отформатированным оригиналом.
Секреты в коде: хотя всё и обрабатывается в вашем браузере, возьмите за привычку не вставлять ни в один онлайн-инструмент боевые ключи и пароли.