JSON Formatter — Форматирование и валидация
JSON-форматтер для мгновенного форматирования, валидации и минификации JSON прямо в браузере. Валидация схем, генерация схем, просмотр дерева — без регистрации.
Что такое JSON Formatter?
JSON Formatter — это браузерный инструмент, который за секунды превращает сырой или некорректный JSON-текст в чисто отформатированный, читаемый вывод с правильными отступами. Разработчики постоянно сталкиваются с нечитаемым JSON: ответы API, сжатые в одну строку, скопированные фрагменты конфигурации, потерявшие пробельные символы, или вручную отредактированные файлы с трудноуловимыми синтаксическими ошибками. Этот инструмент решает все три проблемы одновременно: форматирует с настраиваемыми отступами, проверяет синтаксис и автоматически исправляет распространённые ошибки с помощью библиотеки jsonrepair.
В отличие от серверных альтернатив, JSON Formatter работает полностью в вашем браузере. Ваши данные никогда не покидают вашу машину. Нет ни аккаунта, ни ограничений по частоте запросов, ни платы.
Основные возможности
- Форматирование с настраиваемыми отступами (2 или 4 пробела) — Выберите предпочтительный размер отступа в выпадающем меню панели действий перед нажатием «Форматировать». Выбор сохраняется между сессиями при использовании вместе с сохранением пресетов.
- Проверка синтаксиса JSON с сообщениями об ошибках — Инструмент выполняет
JSON.parseпосле попытки автоматического исправления и отображает точное сообщение об ошибке, если входные данные не поддаются разбору. Ошибка показывается на панели вывода с доступным атрибутомrole="alert". - Автоматическое исправление некорректного JSON — Библиотека
jsonrepairисправляет строки в одинарных кавычках, завершающие запятые, ключи без кавычек и другие распространённые отклонения перед разбором. При применении исправления отображается соответствующее всплывающее уведомление. - Минификация JSON (удаление пробельных символов) — Создаёт однострочный вывод со всеми удалёнными пробелами форматирования, полезный для встраивания JSON в конфигурационные файлы или уменьшения размера полезной нагрузки.
- Копирование отформатированного вывода в буфер обмена — Копирование одним кликом через Clipboard API с запасным вариантом для старых браузеров.
- Загрузка в виде файла .json — Сохраняет вывод как
formatted.jsonс MIME-типомapplication/json. - Вкладка «Валидатор схемы» — Вставьте данные JSON и документ JSON Schema draft-07; инструмент сообщит о каждом нарушении с точным путём (например,
root.user.email). - Вкладка «Генератор схемы» — Вставьте любой объект JSON; инструмент выведет документ JSON Schema draft-07, включая определённые форматы (email, дата, UUID, URI).
- Вкладка «Просмотр дерева» — Отображает разобранный JSON в виде интерактивного сворачиваемого дерева с цветовой кодировкой типов, подсветкой результатов поиска, разворачиванием/сворачиванием всего и копированием пути одним кликом.
Как использовать JSON Formatter
Шаг 1: Вставьте ваш JSON
Откройте вкладку «Форматировать/Минифицировать» (вид по умолчанию). Вставьте ваш JSON в панель ввода слева. Текстовое поле принимает входные данные любого размера и может изменяться по вертикали путём перетаскивания нижнего края. Если вы загружаете общую ссылку от коллеги, инструмент автоматически считывает входные данные из URL и отображает всплывающее уведомление.
Шаг 2: Выберите отступы
В панели действий под панелями откройте выпадающее меню отступов. Выберите 2 пробела (по умолчанию) или 4 пробела. Это определяет, сколько пробелов используется на каждом уровне вложенности в выводе. Отступ в 4 пробела распространён в проектах Python и некоторых стилевых руководствах; 2 пробела — стандарт в экосистемах JavaScript и Node.js.
Шаг 3: Нажмите «Форматировать»
Нажмите кнопку Форматировать или клавиши Cmd+Enter (Mac) / Ctrl+Enter (Windows/Linux). Отформатированный JSON появляется в панели вывода только для чтения справа. Если входные данные содержат исправимые проблемы — например, завершающие запятые или ключи без кавычек — всплывающее уведомление «JSON formatted and repaired» подтверждает применение исправления. Если JSON недействителен без возможности исправления, под панелью вывода появляется сообщение об ошибке с конкретной ошибкой разбора.
Пример входных данных (сжатый ответ API):
{"user":{"id":4821,"name":"Maria Santos","email":"maria@example.com","roles":["admin","editor"],"active":true,"lastLogin":null}}
Вывод с отступом в 2 пробела:
{
"user": {
"id": 4821,
"name": "Maria Santos",
"email": "maria@example.com",
"roles": [
"admin",
"editor"
],
"active": true,
"lastLogin": null
}
}
Шаг 4: Минификация (необязательно)
Чтобы свернуть JSON обратно в одну строку, нажмите Минифицировать или клавиши Cmd+Shift+M / Ctrl+Shift+M. Это полезно, когда у вас есть отформатированный JSON, который нужно встроить в переменную окружения или строку конфигурации.
Шаг 5: Скопируйте или загрузите вывод
Нажмите Копировать, чтобы поместить вывод в буфер обмена. Нажмите Загрузить, чтобы сохранить formatted.json в папку загрузок. Кнопка «Копировать» отключена до появления вывода, что предотвращает случайные операции с пустым буфером обмена.
Использование валидатора схемы
Перейдите на вкладку «Валидатор схемы». Вставьте ваши данные JSON в левую панель и документ JSON Schema в правую, затем нажмите Проверить. Результаты отображаются ниже: зелёная галочка для корректных данных или красный список нарушений. Каждое нарушение показывает путь в точечной нотации (например, root.addresses[0].postalCode) и понятное описание того, что не прошло проверку (например, «String does not match pattern: ^\\d{5}$»).
Использование генератора схемы
Перейдите на вкладку «Генератор схемы». Вставьте образец объекта JSON и нажмите Создать схему. Инструмент за несколько секунд создаёт документ JSON Schema draft-07, выведенный из образца, включая подсказки формата для строк, похожих на email-адреса, даты (YYYY-MM-DD), ISO-дата-время, UUID и URI.
Использование просмотра дерева
Перейдите на вкладку «Просмотр дерева». Вставьте JSON, и дерево автоматически строится после задержки в 500 мс (нажимать кнопку не нужно). Нажмите на любой узел объекта или массива, чтобы развернуть или свернуть его. Используйте поле поиска, чтобы выделить узлы, ключ или значение которых совпадает с вашим запросом. Нажмите Развернуть всё, чтобы открыть всю структуру сразу, или наведите курсор на любой узел, чтобы отобразить кнопку копирования пути, которая копирует путь в точечной нотации к этому полю.
Практические примеры
Отладка ответа API
REST API возвращает сжатый профиль пользователя для устранения неполадок:
{"profile":{"id":"a3f8-bc21","created":"2025-11-03","tier":"pro","quota":{"used":14200,"limit":50000},"features":["export","api","webhooks"]}}
Вставьте его, нажмите «Форматировать» с отступом в 2 пробела. Вывод немедленно показывает иерархию вложенности, поясняя, что quota — это вложенный объект с двумя полями, а features — массив из трёх строк. Скопируйте результат и вставьте в отчёт об ошибке.
Проверка конфигурационного файла по схеме
Ваше приложение ожидает конфигурацию с обязательным целочисленным port от 1 до 65535 и обязательной строкой host. Вставьте конфигурационный JSON в левую панель валидатора схемы и схему следующего вида:
{
"type": "object",
"required": ["host", "port"],
"properties": {
"host": { "type": "string" },
"port": { "type": "integer", "minimum": 1, "maximum": 65535 }
}
}
Если port равен "8080" (строка вместо целого числа), валидатор сообщит: root.port — Expected integer, got string.
Создание схемы для нового API-контракта
У вас есть образец ответа нового стороннего API и нужно быстро написать для него JSON Schema. Вставьте образец на вкладке генератора схемы и нажмите «Создать схему». Инструмент создаёт схему draft-07 за несколько секунд, которую затем можно вручную доработать, добавив ограничения, такие как minLength, pattern или значения enum.
Советы и рекомендации
Используйте горячие клавиши. Cmd+Enter форматирует, Cmd+Shift+M минифицирует без использования мыши. В YAML Formatter аналогичное сочетание Cmd+Shift+J применяется для конвертации в JSON, но в этом инструменте Cmd+Shift+M всегда означает минификацию.
Проверяйте уведомление об исправлении. Если всплывающее уведомление об успехе говорит «formatted and repaired» вместо «formatted successfully», проверьте исходный источник. Возможно, исправление устранило настоящую ошибку в конфигурационном файле, которую следует исправить в источнике.
Дерево строится автоматически. Вам не нужно нажимать «Построить дерево» — дерево отображается через 500 мс после прекращения ввода. Это удобно для быстрого изучения неизвестной структуры данных во время редактирования входных данных.
Копируйте пути для доступа в JavaScript. В просмотрщике дерева наведите курсор на любой узел и нажмите появившийся значок копирования. Скопированный путь (например, root.users[2].address.city) — это именно та нотация с точками и скобками, которая нужна для доступа к этому значению в JavaScript после JSON.parse().
Генератор схемы помечает все существующие ключи как обязательные. После создания схемы просмотрите массив required и удалите поля, которые в вашей модели данных действительно являются необязательными.
Распространённые проблемы и их устранение
Ошибка «Invalid JSON syntax» после вставки — Входные данные не удалось исправить автоматически. Частые причины: экранированные кавычки с двойным экранированием при копировании (\\" вместо \"), или двоичные символы, вставленные из терминала. Попробуйте выбрать JSON в его исходном приложении и скопировать снова, или проверьте наличие невидимых символов.
Вывод пустой после нажатия «Форматировать» — Поле ввода пустое или содержит только пробелы. Кнопка «Форматировать» отключена при пустом вводе, но если она каким-то образом сработала, под панелью вывода появляется сообщение «Please enter JSON to format».
Валидатор схемы показывает «Invalid JSON data» — Текст в левой панели валидатора схемы не является корректным JSON. В отличие от вкладки «Форматировать», валидатор схемы не применяет автоматическое исправление. Сначала вставьте на вкладку «Форматировать», скопируйте исправленный вывод, затем вернитесь к валидатору схемы.
Просмотр дерева показывает «Invalid JSON» — Просмотрщик дерева разбирает через JSON.parse без исправления. Если в вашем JSON есть мелкие проблемы, сначала отформатируйте его на вкладке «Форматировать», чтобы получить чистую копию, затем вставьте её в просмотрщик дерева.
Загрузка каждый раз создаёт файл с именем formatted.json — Это сделано намеренно. Переименуйте файл после загрузки.
Конфиденциальность и безопасность
JSON Formatter обрабатывает всё в вашем браузере с помощью JavaScript. Никакие входные данные — включая секретные API-ключи, токены, пароли или личные данные, встроенные в JSON — не передаются на какой-либо сервер. Инструмент работает полностью в автономном режиме после загрузки страницы. В логике форматирования нет аналитических перехватчиков. Вы можете безопасно вставлять производственные секреты, учётные данные базы данных или персональные данные в этот инструмент, не беспокоясь об утечке данных.
Часто задаваемые вопросы
Является ли JSON Formatter бесплатным? Да, JSON Formatter полностью бесплатен без ограничений по использованию. Вкладки «Форматировать», «Минифицировать», «Валидатор схемы», «Генератор схемы» и «Просмотр дерева» — все доступны без оплаты. Премиальные функции для спонсоров Glyph Widgets, такие как сохранённые пресеты, история сессий и заметки к инструментам, доступны для спонсоров, но для основной функциональности форматирования ничего не требуется.
Работает ли офлайн? Да. После загрузки страницы в вашем браузере все операции форматирования и проверки выполняются локально в JavaScript. Вы можете отключиться от интернета и продолжать использовать инструмент без потери функциональности.
Безопасно ли вставлять мои данные сюда? Да. Вся обработка происходит в вашем браузере. Вводимый текст никогда не отправляется на сервер, не регистрируется и не хранится нигде за пределами вашей браузерной сессии. Вы можете безопасно форматировать JSON, содержащий API-ключи, пароли или личные данные.
Какие форматы JSON обрабатывает автоматическое исправление? Инструмент использует библиотеку jsonrepair, которая обрабатывает строки в одинарных кавычках, завершающие запятые в объектах и массивах, ключи свойств без кавычек, комментарии (// и / /), отсутствующие закрывающие скобки и ряд других распространённых отклонений от спецификации JSON.
Какие ограничения поддерживает валидатор схемы? Валидатор поддерживает type, enum, required, properties, additionalProperties, minProperties, maxProperties, minLength, maxLength, pattern, format (email, uri, date, date-time, ipv4, ipv6, uuid), minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, minItems, maxItems, uniqueItems и items.
Какие форматы автоматически определяет генератор схемы? Генератор определяет email-адреса, даты ISO (YYYY-MM-DD), ISO-дата-время, UUID и URI. Он также различает типы integer и number для числовых значений.
Можно ли проверить массив вместо объекта? Да. Валидатор схемы и генератор схемы принимают любое корректное значение JSON на корневом уровне — включая массивы, строки, числа и булевы значения, не только объекты.
Какое сочетание клавиш используется для форматирования? Нажмите Cmd+Enter на macOS или Ctrl+Enter в Windows и Linux для запуска форматирования. Нажмите Cmd+Shift+M или Ctrl+Shift+M для минификации. Эти сочетания клавиш активны только когда открыта вкладка «Форматировать/Минифицировать».
Может ли инструмент обрабатывать очень большие JSON-файлы? Инструмент хранит до 10 000 символов на запись истории, но само форматирование не имеет встроенных ограничений, кроме памяти браузера. Очень большие файлы (несколько мегабайт) будут отформатированы корректно, но текстовое поле может работать медленнее на устройствах низкого класса.
На какой вариант схемы нацелен созданный документ? Генератор создаёт документы JSON Schema draft-07, идентифицируемые по "$schema": "http://json-schema.org/draft-07/schema#" в выводе.
Связанные инструменты
XML Formatter — Форматирование и проверка XML-документов с теми же настройками отступов и поддержкой минификации.
YAML Formatter — Форматирование YAML-файлов и их прямое преобразование в JSON с настраиваемыми отступами.
JSON Converter — Конвертация JSON в форматы CSV, XML, YAML и другие форматы данных и обратно.
Попробуйте JSON Formatter прямо сейчас: JSON Formatter