# JSON Formatter і валідатор

> Форматування, перевірка та мініфікація JSON онлайн. Помилки з номером рядка і стовпця, виправлення зайвих ком і одинарних лапок одним кліком, сортування ключів.

URL: https://acrafto.com/uk/json-formatter-i-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 та валідатор перевіряє його вже під час введення. Дійсний JSON він гарно форматує з обраним відступом або мініфікує в один рядок. Для недійсного ви отримаєте точне повідомлення про помилку з номером рядка і стовпця, виділений фрагмент, а для типових помилок ще й виправлення одним кліком. Усе працює у вашому браузері, тож відповіді 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`. Такий цикл непомітно пошкоджує дані. Ідентифікатор Twitter або Snowflake на кшталт `1234567890123456789` перевищує межу 2^53 для чисел у JavaScript і повертається як `1234567890123456800`. Значення `1.0` перетворюється на `1`, а `1e3` на `1000`. Цей форматер ніколи не перетворює числа на числа з рухомою комою. Він копіює кожен літерал точно так, як його записано, тож результат є вірним переформатуванням вхідних даних, а не їх новим тлумаченням. Те саме стосується escape-послідовностей у рядках: `"\u00e9"` залишається `"\u00e9"` і не перетворюється на `"é"`.

Порядок ключів також зберігається. Специфікація JSON каже, що члени об’єкта невпорядковані, але конфігураційні файли, тестові фікстури та код-рев’ю читаються значно краще, коли порядок стабільний. Якщо вам потрібна канонічна форма, наприклад щоб порівняти дві відповіді API в інструменті для порівняння текстів, увімкніть *Сортувати ключі*, і обидва документи покажуть свої властивості за алфавітом на кожному рівні вкладеності.

## Форматування чи мініфікація 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/uk/base64-koder-dekoder-onlajn/) декодує корисне навантаження (payload) JWT, тобто JSON, закодований у Base64url. [Конвертер Unix timestamp](https://acrafto.com/uk/konverter-unix-chasu/) перетворює числа `createdAt`, які є в більшості відповідей API, на зрозумілі дати, а [декодер UUID](https://acrafto.com/uk/uuid-dekoder/) покаже версію та часову мітку ідентифікаторів у ваших даних. Більше утиліт знайдете в розділі [інструменти для розробників](https://acrafto.com/uk/rozrobnyky/).

## Часті запитання

### Чи завантажується мій JSON на сервер?

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

### Чому валідатор відхиляє коментарі, якщо мій редактор їх приймає?

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

### Чи можна відформатувати JSON Lines або кілька об'єктів одночасно?

Документ JSON містить рівно одне значення. Якщо вставити кілька об'єктів, розділених комами або перенесеннями рядків, валідатор зупиниться на першому зайвому значенні. Візьміть їх у квадратні дужки, щоб отримати масив, а потім відформатуйте. Кнопка виправлення не робить цього автоматично, бо не може знати, чи мали вхідні дані бути одним документом.

### Який максимальний розмір?

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

### Чи змінює сортування ключів дані?

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

### Як екранувати 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))
- Русский (ru): [JSON formatter и валидатор](https://acrafto.com/ru/json-formatter-validator/) ([Markdown](https://acrafto.com/ru/json-formatter-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))
