🔧Toolify

Форматер и минификатор JSON (с валидацией и красивым выводом)

Вставьте любой JSON для форматирования с отступами 2/4/8 пробелов или минификации до одной строки. Неверный JSON показывает ошибку разбора, чтобы вы могли быстро найти проблему.

Форматированный вывод
{
  "hello": "world",
  "items": [
    1,
    2,
    3
  ]
}
Ввод: 38 байт · Вывод: 60 байт

Как это работает

Что делает этот инструмент

JSON — строгий формат: каждая кавычка, запятая и скобка должны быть на правильном месте. Браузеры и API возвращают загадочные сообщения «Unexpected token», когда что-то не так, и проблема часто не видна с первого взгляда. Этот форматер разбирает ввод нативным парсером JSON браузера, затем повторно сериализует его красиво (с отступами) или в минифицированном виде (без пробелов).

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

Форматирование vs минификация

Форматирование с отступами: стандартный способ чтения JSON. 2 пробела — принято в экосистеме JavaScript; 4 пробела распространены в Python и Java. Выбирайте то, что принято в вашем проекте.

Минификация: сжатие в одну строку без пробелов. Удобно при встраивании JSON в URL, переменные окружения или любое место, где пробелы имеют значение. Разница в размере существенна: типичный красиво отформатированный конфиг-файл уменьшается на 20–40% при минификации.

Типичные проблемы с JSON

Замыкающие запятые. Разрешены в JavaScript, но не в JSON. {a:1, b:2,} разбирается в редакторе кода, но даёт сбой при передаче.

Одинарные кавычки. JSON требует двойных кавычек как для ключей, так и для строковых значений. {'a': 1} — невалидный JSON. {"a": 1} — правильно.

Комментарии. В JSON нет комментариев. // или /* */ внутри JSON ломают разбор. JSONC (используемый в конфигах VS Code) поддерживает комментарии, но это не стандартный JSON.

Числа. JSON не поддерживает NaN и Infinity. Используйте null или оберните в строку в зависимости от потребителя.

Частые вопросы

Поддерживается ли JSONC (JSON с комментариями)?

Пока нет. Сначала удалите комментарии или используйте инструмент с поддержкой JSONC.

Какой максимальный размер?

Современные браузеры обрабатывают многомегабайтный JSON, хотя textarea может замедлиться после ~1 МБ. Для больших файлов используйте десктопный инструмент.

Почему мой JSON невалиден?

Чаще всего: замыкающая запятая, одинарные кавычки или неэкранированная кавычка внутри строки. Ошибка парсера указывает на столбец, где обнаружена проблема.

Можно ли сортировать ключи по алфавиту?

Пока не в этой версии. Самый чистый вариант — использовать jq с флагом --sort-keys; возможно, добавим эту опцию позже.

Поддерживается ли глубоко вложенный JSON?

Да. Браузерный парсер JSON обрабатывает любую практическую глубину вложенности.

Почему минификация не сжимает файл 1 МБ до 1 байта?

Минификация только удаляет пробелы. Сами данные остаются. Для реального уменьшения размера используйте gzip или бинарный формат вроде MessagePack.

Данные куда-то отправляются?

Нет. Весь разбор и форматирование происходят в вашем браузере.

Что насчёт валидации JSON Schema?

Этот инструмент проверяет только синтаксис. Для валидации по схеме используйте валидатор JSON Schema с вашим файлом схемы.

Похожие инструменты

Обновлено:

Попробуйте наши ИИ-промпты →