# JSON formatter и валидатор

> Форматирование, проверка и минификация JSON онлайн. Ошибки с номером строки и столбца, исправление лишних запятых в один клик, большие числа без искажений.

URL: https://acrafto.com/ru/json-formatter-validator/  
Updated: 2026-10-03

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

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

## Что умеет этот JSON formatter

- **Форматирование JSON** с отступом в 2 пробела, 4 пробела или табуляцией. Исходный порядок ключей сохраняется, если не отметить *Сортировать ключи*.
- **Минификация JSON** удаляет все пробелы и переносы строк. Показатель размера под результатом показывает, сколько байт вы сэкономили.
- **Проверка JSON** в реальном времени по [RFC 8259](https://datatracker.ietf.org/doc/html/rfc8259), действующему стандарту JSON. Строка состояния становится зелёной, как только документ корректен.
- **Автоматическое исправление типичных ошибок**: лишние запятые, одинарные кавычки, ключи без кавычек, комментарии, `True`, `None` и `NaN` в стиле Python, числа вида `.5` или `+1`.
- **Загрузка файлов** кнопкой *Открыть файл* или перетаскиванием файла `.json` в поле ввода. Результат можно скачать или вернуть в поле ввода для следующего прохода.

## Проверка JSON: сообщение об ошибке важнее красного цвета

Большинство онлайн-валидаторов сообщает только о том, что что-то не так. Браузеры ненамного лучше: `JSON.parse` в Chrome выдаёт `Unexpected token } in JSON at position 148`, Firefox пишет `expected property name or '}'`, и ни один из них не говорит, на какую строку смотреть. У этого инструмента собственный парсер, который запоминает, где начинается каждый токен. Когда он останавливается, вы видите строку и столбец, фрагмент этой строки с указателем ^ под проблемным символом и понятную подсказку, например *Вероятно, пропущена запятая между двумя свойствами*. Кнопка *Перейти к ошибке* переносит курсор прямо в это место поля ввода.

Самые частые ошибки, которые мы видим во вставленных документах:

| Ввод | Проблема | Правильный JSON |
| --- | --- | --- |
| `{'name': 'Ada'}` | одинарные кавычки | `{"name": "Ada"}` |
| `{name: "Ada"}` | ключ без кавычек | `{"name": "Ada"}` |
| `[1, 2, 3,]` | лишняя запятая в конце | `[1, 2, 3]` |
| `{"a": 1 "b": 2}` | пропущена запятая | `{"a": 1, "b": 2}` |
| `{"ok": True}` | литерал Python | `{"ok": true}` |
| `{"x": 007}` | ведущий ноль | `{"x": 7}` или `{"x": "007"}` |
| `// comment` | комментарий | в JSON не допускается |

Кнопка *Исправить за меня* устраняет все эти ошибки, кроме пропущенной запятой и ведущего нуля. Исправление намеренно осторожное: оно никогда не угадывает, где должна стоять пропущенная запятая, потому что запятая не на своём месте меняет смысл данных, а `007` может означать как число 7, так и код. В таких случаях вы получаете точную позицию ошибки.

## Большие числа, порядок ключей и другие вещи, которые обычно ломаются

Многие форматтеры работают так: вызывают `JSON.parse`, а затем `JSON.stringify`. Такой круговой путь незаметно портит данные. ID из Twitter или Snowflake вроде `1234567890123456789` превышает предел 2^53 для чисел JavaScript и возвращается как `1234567890123456800`. Значение `1.0` превращается в `1`, а `1e3` в `1000`. Этот форматтер никогда не преобразует числа в формат с плавающей точкой. Он копирует каждый литерал точно в том виде, в каком тот был записан, поэтому результат остаётся точным переформатированием исходных данных, а не их новой интерпретацией. То же касается escape-последовательностей в строках: `"\u00e9"` остаётся `"\u00e9"` и не превращается в `"é"`.

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

## Форматирование JSON или минификация: что когда использовать

Отформатированный JSON предназначен для людей. Используйте его, когда просматриваете ответ API, пишете `package.json`, `tsconfig.json` или документ OpenAPI, или храните фикстуры в репозитории, где diff должен показывать одно изменение на строку. Два пробела приняты в мире JavaScript, четыре пробела распространены в проектах на Python и .NET, а табуляция позволяет каждому читателю выбрать ширину отступа самостоятельно.

Минифицированный JSON предназначен для машин. Пробельные символы обычно занимают от 20 до 40 процентов отформатированного документа, поэтому их удаление уменьшает данные, которые отправляются в браузер, значения в Redis или в столбце базы данных и атрибуты `data-*`, встроенные в HTML. Gzip частично сокращает этот разрыв, но минифицированная версия всё равно сжимается до меньшего размера. Показатель размера под результатом показывает точную разницу для вашего документа.

## Работа с JSON в терминале и в редакторах

Для файлов, которые вы обрабатываете регулярно, инструмент командной строки быстрее любого сайта. `jq . file.json` форматирует, `jq -c . file.json` минифицирует, а `python -m json.tool file.json` работает везде, где установлен Python. Visual Studio Code форматирует JSON сочетанием Shift+Alt+F и проверяет его по схеме, если добавить свойство `$schema`. Эта страница нужна для остальных случаев: ответ, скопированный со вкладки «Сеть» в инструментах разработчика, строка из лога, фрагмент конфигурации из вики или быстрая проверка на компьютере, где нельзя ничего установить.

Связанные инструменты на сайте: [кодировщик и декодировщик Base64](https://acrafto.com/ru/base64-koder-dekoder/) декодирует часть с данными (payload) токена JWT, которая представляет собой JSON, закодированный в Base64url. [Конвертер Unix timestamp](https://acrafto.com/ru/unix-timestamp-konverter/) превращает числа `createdAt` из большинства ответов API в читаемые даты, а [UUID декодер](https://acrafto.com/ru/uuid-dekoder-validator/) покажет версию и временную метку идентификаторов в ваших данных. Другие утилиты собраны в разделе [инструменты для разработчиков](https://acrafto.com/ru/razrabotchiki/).

## Часто задаваемые вопросы

### Загружается ли мой JSON на сервер?

Нет. Разбор, форматирование и исправление полностью выполняются в вашем браузере на JavaScript. После загрузки страницы можно отключить интернет, и инструмент продолжит работать. Ничего не записывается в журналы и не сохраняется.

### Почему валидатор отклоняет комментарии, если мой редактор их принимает?

Комментарии намеренно убрал из JSON его автор, Douglas Crockford, чтобы формат не использовали для директив парсеру. Файлы вроде `tsconfig.json` или `.vscode/settings.json` формально являются JSONC, расширенной версией формата, которую поддерживают редакторы. Строгие парсеры в API, базах данных и большинстве языков программирования такие файлы отклоняют. Кнопка исправления удаляет комментарии, поэтому результат будет валидным везде.

### Можно ли отформатировать JSON Lines или несколько объектов сразу?

Документ JSON содержит ровно одно значение. Если вставить несколько объектов, разделённых запятыми или переносами строк, валидатор остановится на первом лишнем значении. Заключите их в квадратные скобки, чтобы получился массив, и затем отформатируйте. Кнопка исправления не делает этого автоматически, потому что не может знать, задумывались ли входные данные как один документ.

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

Фиксированного ограничения нет. Документ в несколько мегабайт ноутбук форматирует за доли секунды. Подсветка синтаксиса отключается примерно после 400 КБ, чтобы страница оставалась отзывчивой, но копирование и скачивание продолжают работать.

### Меняет ли сортировка ключей данные?

Нет. Объекты в JSON по определению неупорядочены (см. [статью о JSON в Википедии](https://ru.wikipedia.org/wiki/JSON)), поэтому парсер читает отсортированный и исходный документ как одно и то же значение. Массивы никогда не переупорядочиваются, потому что их порядок является частью данных.

### Как экранировать JSON для вставки в строку?

Сначала минифицируйте его, затем экранируйте каждую обратную косую черту и двойную кавычку. Во многих языках это делается напрямую: `JSON.stringify(JSON.stringify(obj))` в JavaScript или `json.dumps(json.dumps(obj))` в Python создают строку JSON, которая содержит текст JSON.

## Other languages

- Čeština (cs): [JSON formatter a validátor](https://acrafto.com/cs/json-formatter-validator/) ([Markdown](https://acrafto.com/cs/json-formatter-validator/index.md))
- Slovenčina (sk): [JSON formatter a validátor](https://acrafto.com/sk/json-formatter-validator-online/) ([Markdown](https://acrafto.com/sk/json-formatter-validator-online/index.md))
- English (en): [JSON Formatter and Validator](https://acrafto.com/en/json-formatter-validator/) ([Markdown](https://acrafto.com/en/json-formatter-validator/index.md))
- Deutsch (de): [JSON Formatter & Validator](https://acrafto.com/de/json-formatter-validator/) ([Markdown](https://acrafto.com/de/json-formatter-validator/index.md))
- Français (fr): [JSON Formatter et validateur](https://acrafto.com/fr/formateur-validateur-json/) ([Markdown](https://acrafto.com/fr/formateur-validateur-json/index.md))
- Español (es): [Formateador y validador JSON](https://acrafto.com/es/formateador-validador-json/) ([Markdown](https://acrafto.com/es/formateador-validador-json/index.md))
- Italiano (it): [JSON formatter e validatore](https://acrafto.com/it/json-formatter-validatore-online/) ([Markdown](https://acrafto.com/it/json-formatter-validatore-online/index.md))
- Português (pt): [Formatador e validador JSON](https://acrafto.com/pt/formatador-validador-json/) ([Markdown](https://acrafto.com/pt/formatador-validador-json/index.md))
- Nederlands (nl): [JSON formatter & validator](https://acrafto.com/nl/json-formatter-validator/) ([Markdown](https://acrafto.com/nl/json-formatter-validator/index.md))
- Polski (pl): [JSON Formatter i walidator](https://acrafto.com/pl/json-formatter-i-walidator/) ([Markdown](https://acrafto.com/pl/json-formatter-i-walidator/index.md))
- Română (ro): [JSON formatter și validator](https://acrafto.com/ro/json-formatter-validator/) ([Markdown](https://acrafto.com/ro/json-formatter-validator/index.md))
- Magyar (hu): [JSON formatter és validátor](https://acrafto.com/hu/json-formatter-validator/) ([Markdown](https://acrafto.com/hu/json-formatter-validator/index.md))
- Ελληνικά (el): [JSON formatter και validator](https://acrafto.com/el/json-formatter-validator/) ([Markdown](https://acrafto.com/el/json-formatter-validator/index.md))
- Български (bg): [JSON formatter и валидатор](https://acrafto.com/bg/json-formatter-validator/) ([Markdown](https://acrafto.com/bg/json-formatter-validator/index.md))
- Hrvatski (hr): [JSON formatter i validator](https://acrafto.com/hr/json-formatter-validator-online/) ([Markdown](https://acrafto.com/hr/json-formatter-validator-online/index.md))
- Slovenščina (sl): [JSON formatter in validator](https://acrafto.com/sl/json-formatter-validator/) ([Markdown](https://acrafto.com/sl/json-formatter-validator/index.md))
- Eesti (et): [JSON formatter ja validaator](https://acrafto.com/et/json-formatter-validaator/) ([Markdown](https://acrafto.com/et/json-formatter-validaator/index.md))
- Latviešu (lv): [JSON formatter un validētājs](https://acrafto.com/lv/json-formatter-validetajs/) ([Markdown](https://acrafto.com/lv/json-formatter-validetajs/index.md))
- Lietuvių (lt): [JSON Formatter ir validatorius](https://acrafto.com/lt/json-formatter-validatorius/) ([Markdown](https://acrafto.com/lt/json-formatter-validatorius/index.md))
- Svenska (sv): [JSON formatter och validator](https://acrafto.com/sv/json-formatter-validator/) ([Markdown](https://acrafto.com/sv/json-formatter-validator/index.md))
- Dansk (da): [JSON formatter og validator](https://acrafto.com/da/json-formatter-validator/) ([Markdown](https://acrafto.com/da/json-formatter-validator/index.md))
- Suomi (fi): [JSON formatter ja validaattori](https://acrafto.com/fi/json-formatter-validaattori/) ([Markdown](https://acrafto.com/fi/json-formatter-validaattori/index.md))
- Norsk (no): [JSON formatter og validator](https://acrafto.com/no/json-formatter-validator/) ([Markdown](https://acrafto.com/no/json-formatter-validator/index.md))
- Українська (uk): [JSON Formatter і валідатор](https://acrafto.com/uk/json-formatter-i-validator/) ([Markdown](https://acrafto.com/uk/json-formatter-i-validator/index.md))
- Српски (sr): [JSON formatter i validator](https://acrafto.com/sr/json-formatter-i-validator/) ([Markdown](https://acrafto.com/sr/json-formatter-i-validator/index.md))
- Македонски (mk): [JSON Formatter & Validator](https://acrafto.com/mk/json-formatter-validator/) ([Markdown](https://acrafto.com/mk/json-formatter-validator/index.md))
- Bosanski (bs): [JSON formatter i validator](https://acrafto.com/bs/json-formatter-validator/) ([Markdown](https://acrafto.com/bs/json-formatter-validator/index.md))
- Shqip (sq): [JSON Formatter dhe validues](https://acrafto.com/sq/json-formatter-validues/) ([Markdown](https://acrafto.com/sq/json-formatter-validues/index.md))
- Türkçe (tr): [JSON formatter ve doğrulayıcı](https://acrafto.com/tr/json-formatter-dogrulayici/) ([Markdown](https://acrafto.com/tr/json-formatter-dogrulayici/index.md))
- 日本語 (ja): [JSON整形ツール](https://acrafto.com/ja/json-formatter-validator/) ([Markdown](https://acrafto.com/ja/json-formatter-validator/index.md))
- 한국어 (ko): [JSON 정렬 및 검사기](https://acrafto.com/ko/json-formatter-validator/) ([Markdown](https://acrafto.com/ko/json-formatter-validator/index.md))
- العربية (ar): [تنسيق JSON والتحقق منه](https://acrafto.com/ar/json-formatter-validator/) ([Markdown](https://acrafto.com/ar/json-formatter-validator/index.md))
- हिन्दी (hi): [JSON Formatter और Validator](https://acrafto.com/hi/json-formatter-validator/) ([Markdown](https://acrafto.com/hi/json-formatter-validator/index.md))
- Bahasa Indonesia (id): [JSON formatter dan validator](https://acrafto.com/id/json-formatter-validator/) ([Markdown](https://acrafto.com/id/json-formatter-validator/index.md))
- Tiếng Việt (vi): [JSON Formatter và Validator](https://acrafto.com/vi/json-formatter-kiem-tra-json/) ([Markdown](https://acrafto.com/vi/json-formatter-kiem-tra-json/index.md))
- ไทย (th): [JSON Formatter & Validator](https://acrafto.com/th/json-formatter-validator/) ([Markdown](https://acrafto.com/th/json-formatter-validator/index.md))
- עברית (he): [JSON Formatter ובדיקת תקינות](https://acrafto.com/he/json-formatter-validator/) ([Markdown](https://acrafto.com/he/json-formatter-validator/index.md))
