IZN Tools

Минификация JSON

Убрать все пробелы и переносы, не тронув данные.

ВВОД
РЕЗУЛЬТАТ
Ожидание ввода
Посчитано на вашем устройстве

Что убирается, а что убрать нельзя

Минификация JSON удаляет символы между токенами: отступы, переносы строк и пробел после двоеточия или запятой. Это весь список. Порядок ключей, точность чисел и содержимое строк не трогаются, потому что это данные, а не оформление.

Больше сжимать нечего. В JSON нет комментариев, которые можно вырезать, и нет более короткого синтаксиса — в отличие от JavaScript, где минификатор ещё и переименовывает переменные и переписывает выражения.

Где это реально имеет значение

Большая часть JSON едет по HTTP с gzip или brotli, а сжатие и так хорошо справляется с повторяющимися пробелами. Минификация остаётся полезной там, где сжатия не происходит:

  • JSON внутри инлайнового тега <script>
  • data--атрибут с блоком конфигурации
  • Значение, попадающее в URL, куку или QR-код, где есть жёсткий лимит длины
  • Всё, что кладётся в localStorage, — там есть ограничение на origin

Обратный путь

Минифицированный и отформатированный JSON — один и тот же документ. Ничто не мешает отформатировать результат позже: операция не теряет информацию, и держать неминифицированную копию «на всякий случай» незачем.

Вопросы

Минификация меняет данные?+

Нет. Документ разбирается в настоящие значения и печатается обратно без форматирования, поэтому на выходе — то же самое как данные: те же ключи, те же числа, та же вложенность. Исчезают только пробелы.

Насколько меньше становится?+

Обычно на 15–30% для отформатированного JSON и больше для глубоко вложенных документов, где каждый уровень добавляет отступы. Строка состояния показывает точную цифру для ваших данных, а не обещание.

Нужно ли минифицировать JSON в ответе API?+

Это и так поведение по умолчанию во всех серьёзных фреймворках, а gzip убирает почти всю оставшуюся разницу. Минификация важнее там, где сжатия нет: инлайновый тег script, data-атрибут, параметр URL, содержимое QR-кода.

Можно вернуть форматирование?+

Да, ничего не потеряно. Прогоните результат через [форматтер JSON](/ru/t/json-formatter) и выберите отступ.