JSON Formatter / Validator

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

Входные данные
0 симв. · 0 байт
Попробовать:
Результат
✓ Валидирует синтаксис JSON и сообщает об ошибках ✓ Форматирование и минификация в браузере ✓ Обработка выполняется локально в браузере
Примеры
Форматирование объекта
Вход {"имя":"Алиса","возраст":30,"активен":true}
Выход { "имя": "Алиса", "возраст": 30, "активен": true }

Плоский JSON-объект раскрывается с отступом 2 пробела, чтобы его было легче читать.

Форматирование массива
Вход [{"id":1,"роль":"администратор"},{"id":2,"роль":"пользователь"}]
Выход [ { "id": 1, "роль": "администратор" }, { "id": 2, "роль": "пользователь" } ]

Массив JSON-объектов форматируется с вложенными отступами.

Минификация
Вход { "ключ": "значение", "количество": 42 }
Выход {"ключ":"значение","количество":42}

Отформатированный JSON сжимается в одну строку за счёт удаления пробелов и переносов строк.

Форматирование вложенного ответа API
Вход {"status":"ok","data":{"items":[{"id":101,"tags":["json","api"]},{"id":102,"tags":[]}],"next":null}}
Выход { "status": "ok", "data": { "items": [ { "id": 101, "tags": [ "json", "api" ] }, { "id": 102, "tags": [] } ], "next": null } }

Вложенный payload в стиле API красиво форматируется, чтобы объекты, массивы и null-значения было проще просматривать.

Что такое форматирование JSON?

JSON (JavaScript Object Notation) — лёгкий формат обмена данными, который используют API, конфигурационные файлы, логи, веб-приложения, инструменты сборки и экспорты данных. Машинам удобно разбирать JSON, но минифицированный документ или глубоко вложенный ответ API часто сложно читать человеку.

Этот онлайн JSON formatter, также известный как JSON beautifier или pretty printer, разбирает исходный JSON, проверяет его синтаксис и выводит обратно с едиными отступами. Можно выбрать 2 пробела, 4 пробела или табуляцию, а затем посмотреть результат как подсвеченный текст или как сворачиваемое дерево.

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

Форматирование (вкладка Format) делает JSON удобным для чтения: объекты и массивы раскрываются по строкам, а вложенность показывается отступами. Используйте этот режим, когда отлаживаете ответы API, проверяете webhook payload, смотрите состояние фронтенда, сравниваете конфиги или разбираете вложенные данные перед копированием в код.

Минификация (вкладка Minify) удаляет лишние пробелы и переносы строк, превращая JSON в компактную строку. Это полезно для вставки JSON в исходный код, переменные окружения, тестовые запросы или места, где важен размер передаваемых данных. Значения остаются теми же, меняется только пробельное оформление.

Типы данных JSON

JSON поддерживает ровно шесть типов значений:

  • String — строка Unicode-символов в двойных кавычках. Специальные символы экранируются обратным слешем: \", \, \/, \n, \r, \t, \uXXXX. Пример: "Привет, мир!"
  • Number — целое или дробное число. Ведущие нули, Infinity и NaN недопустимы. Пример: 42, -3.14, 1.5e10
  • Boolean — строго true или false в нижнем регистре.
  • Null — строго null в нижнем регистре, значение отсутствия данных.
  • Object — неупорядоченный набор пар ключ-значение в {}. Ключи должны быть строками. Пример: {"имя": "Алиса", "возраст": 30}
  • Array — упорядоченный список значений в []. Элементы могут быть любого JSON-типа и могут смешиваться. Пример: [1, "два", true, null]
Правила синтаксиса JSON

Несколько правил, которые чаще всего вызывают ошибки валидации JSON:

  • Без висячих запятых. {"a": 1,} и [1, 2,] недопустимы. После последнего элемента объекта или массива не должно быть запятой.
  • Без комментариев. JSON не поддерживает комментарии // line и /* block */. Их нужно удалить до разбора.
  • Только двойные кавычки. Строковые ключи и значения должны использовать "double quotes". Одинарные кавычки (') и бэктики недопустимы.
  • Без undefined и функций. Валидны только шесть типов, перечисленные выше. JavaScript-значения undefined, NaN, Infinity и функции нельзя представить в JSON.
  • Дублирующиеся ключи опасны. JSON-парсеры обычно оставляют последнее значение и молча отбрасывают предыдущие. Инструмент предупреждает о дублях ключей, чтобы вы могли исправить неоднозначный payload до отправки в API или приложение.
  • Верхний уровень может быть любым типом. Валидный JSON-документ может быть строкой, числом, boolean, null, объектом или массивом, а не только объектом.
Проверка JSON и детали ошибок

Валидатор запускается до формирования результата. Если входной текст не является валидным JSON, инструмент показывает ошибку парсера и, когда браузер отдаёт достаточно информации, подсвечивает примерную строку и колонку в исходном тексте. Это помогает быстро находить пропущенные запятые, неправильные кавычки, неэкранированные управляющие символы, обрезанные массивы и некорректные числа.

Так как formatter использует нативный JSON-парсер браузера, он следует строгому синтаксису JSON, а не синтаксису JavaScript object literal. Значение вроде {name: 'Alice'} может выглядеть привычно для JavaScript, но это не валидный JSON: ключ и строковое значение должны быть в двойных кавычках.

Просмотр структуры JSON

После успешного форматирования результат доступен в двух режимах: подсвеченный текст и сворачиваемое дерево. Дерево удобно для изучения глубоко вложенных объектов и массивов без потери контекста, а текстовый вид лучше подходит для копирования отформатированного JSON в редактор, тикет, документацию или API-клиент.

Инструмент также считает статистику структуры: количество объектов, массивов, ключей, максимальную глубину, символы и байты. Эти быстрые метрики помогают оценить размер payload, заметить неожиданно глубокую вложенность и понять, состоит ли ответ в основном из метаданных, списков или смешанной структуры.

Сортировка ключей и скачивание JSON

Действие Sort Keys рекурсивно сортирует ключи объектов по алфавиту, не меняя порядок элементов в массивах. Это делает конфигурационные файлы проще для просмотра, уменьшает визуальный шум в code review и помогает сравнивать два JSON-документа после форматирования.

Действие Download сохраняет текущий результат JSON в файл. Так можно оставить очищенный payload, передать воспроизводимый пример или архивировать минифицированный конфиг без ручного копирования из браузера.

FAQ

Два пробела — самый распространённый стиль в JavaScript и веб-проектах. Четыре пробела часто используют в других языках и они удобнее для чтения глубоко вложенных структур. Табуляция сохраняет намерение автора форматировать отступы табами, а ширину каждый редактор может показывать по-своему. Выбирайте вариант, который совпадает со стилем вашего проекта.

Да. Formatter сначала разбирает входной текст через встроенный JSON-парсер браузера. Если JSON невалиден, сразу показывается сообщение с описанием проблемы. Когда браузер отдаёт позицию ошибки, инструмент дополнительно показывает строку и колонку и выделяет примерное место ошибки во входном поле.

Нет. Вся обработка выполняется прямо в браузере с помощью JavaScript. Ваш JSON не передаётся на сервер. Это удобно для работы с чувствительными конфигами, API-ключами и приватными структурами данных.

Нет. Минификация разбирает JSON и сериализует те же данные без лишних пробелов и переносов строк. Строки, числа, boolean, null, массивы и объекты сохраняют свои значения. Видимое отличие в том, что результат становится компактным и обычно помещается в одну строку.

Да. В режиме Format используйте кнопку Sort Keys, чтобы отсортировать ключи объектов по алфавиту на всех уровнях вложенности. Порядок массивов сохраняется, потому что позиция элемента в массиве является значимой частью данных. Сортировка удобна для конфигов, детерминированных примеров и визуального сравнения.

Tree view отображает объекты и массивы как сворачиваемые узлы, а ключи, индексы и примитивные значения подсвечивает по типам. Этот режим нужен для просмотра вложенных payload без прокрутки длинного текстового блока.

Да. Инструмент сканирует сырой JSON и предупреждает, если один и тот же ключ встречается больше одного раза внутри одного объекта. Обычный JSON-парсинг часто оставляет последнее значение дубля, из-за чего ошибки в API payload или конфигурационных файлах могут остаться незамеченными.

Да. После форматирования или минификации валидного JSON используйте кнопку Download, чтобы сохранить текущий результат в JSON-файл. Это удобно при очистке экспортированных данных, API-примеров и фрагментов конфигурации.

Валидный JSON-документ может начинаться с объекта, массива, строки, числа, boolean или null. Большинство API используют объекты или массивы, но стандарт JSON также допускает примитивные значения верхнего уровня, например "привет", 42, true или null.
Связанные инструменты

ASCII-конвертер

Преобразуйте ASCII-символы и числовые коды для работы с протоколами и парсерами.

JWT-декодер онлайн

Декодируйте JWT в браузере и просматривайте header, payload, claims и срок действия токена.