# JSON Formatter i walidator

> Formatowanie i walidacja JSON online. Błędy z numerem wiersza i kolumny, naprawa przecinków i apostrofów jednym kliknięciem, minifikacja, sortowanie kluczy.

URL: https://acrafto.com/pl/json-formatter-i-walidator/  
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.

Wklej dowolny JSON do pola powyżej, a ten JSON formatter i walidator sprawdzi go już podczas pisania. Poprawne dane zostaną sformatowane z wybranym wcięciem albo zminifikowane do jednego wiersza. Przy błędnych danych dostajesz dokładny komunikat z numerem wiersza i kolumny, podświetlony fragment, a przy typowych pomyłkach także naprawę jednym kliknięciem. Wszystko działa w Twojej przeglądarce, więc odpowiedzi API, pliki konfiguracyjne i eksporty nigdy nie opuszczają Twojego komputera.

## Co robi ten JSON formatter

- **Formatowanie JSON** z wcięciem 2 spacji, 4 spacji lub tabulatorami. Wynik zachowuje oryginalną kolejność kluczy, chyba że zaznaczysz *Sortuj klucze*.
- **Minifikacja JSON** przez usunięcie wszystkich spacji i podziałów wierszy. Informacja o rozmiarze pod wynikiem pokazuje, ile bajtów udało się oszczędzić.
- **Walidacja JSON** na żywo zgodnie z [RFC 8259](https://datatracker.ietf.org/doc/html/rfc8259), aktualnym standardem JSON. Wiersz statusu zmienia kolor na zielony w chwili, gdy dokument jest poprawny.
- **Automatyczna naprawa typowych błędów**: końcowe przecinki, pojedyncze cudzysłowy, klucze bez cudzysłowów, komentarze, wartości w stylu Pythona `True`, `None` i `NaN` oraz liczby takie jak `.5` czy `+1`.
- **Wczytywanie plików** przyciskiem *Otwórz plik* albo przez upuszczenie pliku `.json` na pole wejściowe. Wynik możesz potem pobrać lub przenieść z powrotem do pola wejściowego, żeby go dalej obrobić.

## Dlaczego komunikat o błędzie znaczy więcej niż czerwony kolor

Większość walidatorów online mówi tylko, że coś jest nie tak. Przeglądarki nie są dużo lepsze: `JSON.parse` w Chrome zgłasza `Unexpected token } in JSON at position 148`, Firefox pisze `expected property name or '}'`, i żaden z nich nie mówi, w który wiersz trzeba spojrzeć. To narzędzie ma własny parser, który zapamiętuje, gdzie zaczyna się każdy token. Gdy parser się zatrzyma, dostajesz numer wiersza i kolumny, wycinek tego wiersza z daszkiem `^` pod błędnym znakiem oraz podpowiedź prostym językiem, na przykład *Prawdopodobnie brakuje przecinka między dwiema właściwościami*. Przycisk *Przejdź do błędu* ustawia kursor dokładnie w tym miejscu pola wejściowego.

Najczęstsze błędy, które widzimy we wklejanych dokumentach:

| Dane wejściowe | Problem | Poprawny JSON |
| --- | --- | --- |
| `{'name': 'Ada'}` | pojedyncze cudzysłowy | `{"name": "Ada"}` |
| `{name: "Ada"}` | klucz bez cudzysłowów | `{"name": "Ada"}` |
| `[1, 2, 3,]` | końcowy przecinek | `[1, 2, 3]` |
| `{"a": 1 "b": 2}` | brakujący przecinek | `{"a": 1, "b": 2}` |
| `{"ok": True}` | literał z Pythona | `{"ok": true}` |
| `{"x": 007}` | wiodące zero | `{"x": 7}` lub `{"x": "007"}` |
| `// comment` | komentarz | niedozwolony w JSON |

Przycisk *Napraw za mnie* naprawia wszystkie te błędy oprócz brakującego przecinka i wiodącego zera. Naprawa jest celowo ostrożna: nigdy nie zgaduje, gdzie powinien stać brakujący przecinek, bo wstawienie go w złym miejscu zmieniłoby znaczenie danych, a `007` może oznaczać liczbę 7 albo kod. W takich przypadkach zamiast poprawki dostajesz dokładną pozycję błędu.

## Duże liczby, kolejność kluczy i inne rzeczy, które zwykle się psują

Wiele formatterów działa tak, że wywołuje `JSON.parse`, a potem `JSON.stringify`. Taka podróż w obie strony po cichu uszkadza dane. Identyfikator z Twittera albo Snowflake, na przykład `1234567890123456789`, przekracza limit 2^53 dla liczb w JavaScript i wraca jako `1234567890123456800`. Wartość `1.0` zmienia się w `1`, a `1e3` w `1000`. Ten formatter nigdy nie zamienia liczb na zmiennoprzecinkowe. Kopiuje każdy literał dokładnie tak, jak został zapisany, więc wynik jest wiernym przeformatowaniem danych wejściowych, a nie ich nową interpretacją. To samo dotyczy sekwencji ucieczki w ciągach znaków: `"\u00e9"` zostaje `"\u00e9"` i nie zamienia się w `"é"`.

Kolejność kluczy również zostaje zachowana. Specyfikacja JSON mówi, że elementy obiektu nie mają ustalonej kolejności, ale pliki konfiguracyjne, dane testowe i przeglądy kodu czyta się znacznie lepiej, gdy kolejność jest stała. Jeśli wolisz postać kanoniczną, na przykład żeby porównać dwie odpowiedzi API w narzędziu diff, włącz *Sortuj klucze*, a oba dokumenty wypiszą swoje właściwości alfabetycznie na każdym poziomie zagnieżdżenia.

## Formatowanie JSON a minifikacja JSON: kiedy co wybrać

Sformatowany JSON jest dla ludzi. Używaj go, gdy przeglądasz odpowiedź API, piszesz `package.json`, `tsconfig.json` albo dokument OpenAPI lub gdy trzymasz dane testowe w repozytorium, w którym diffy powinny pokazywać jedną zmianę na wiersz. Dwie spacje to konwencja w ekosystemie JavaScript, cztery spacje są popularne w projektach w Pythonie i .NET, a tabulatory pozwalają każdemu czytelnikowi ustawić własną szerokość wcięcia.

Zminifikowany JSON jest dla maszyn. Białe znaki stanowią zwykle 20 do 40 procent sformatowanego dokumentu, więc ich usunięcie zmniejsza dane wysyłane do przeglądarek, wartości zapisywane w Redis lub w kolumnie bazy danych oraz atrybuty `data-*` osadzone w HTML. Kompresja gzip niweluje część tej różnicy, ale wersja zminifikowana i tak kompresuje się do mniejszego rozmiaru. Informacja o rozmiarze pod wynikiem pokazuje dokładną różnicę dla Twojego dokumentu.

## Praca z JSON w terminalu i w edytorach

Przy plikach, które przetwarzasz regularnie, narzędzie wiersza poleceń jest szybsze niż jakakolwiek strona internetowa. `jq . file.json` formatuje, `jq -c . file.json` minifikuje, a `python -m json.tool file.json` działa wszędzie tam, gdzie jest zainstalowany Python. Visual Studio Code formatuje JSON skrótem Shift+Alt+F i waliduje go względem schematu, gdy dodasz właściwość `$schema`. Ta strona jest na pozostałe sytuacje: odpowiedź skopiowaną z zakładki Sieć w narzędziach deweloperskich, wiersz z logu, fragment konfiguracji z wiki albo szybkie sprawdzenie na komputerze, na którym nie możesz niczego zainstalować.

Powiązane narzędzia na tej stronie: [koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) dekoduje część z danymi (payload) tokenu JWT, czyli JSON zakodowany w Base64url. [Konwerter Unix timestamp](https://acrafto.com/pl/konwerter-unix-timestamp/) zamienia liczby `createdAt`, które znajdziesz w większości odpowiedzi API, na czytelne daty, a [dekoder UUID](https://acrafto.com/pl/dekoder-i-walidator-uuid/) pokazuje wersję i sygnaturę czasową identyfikatorów w Twoich danych. Więcej przydatnych narzędzi znajdziesz w kategorii [narzędzia dla programistów](https://acrafto.com/pl/programisci/).

## Często zadawane pytania

### Czy mój JSON jest wysyłany na serwer?

Nie. Parsowanie, formatowanie i naprawa działają w całości w Twojej przeglądarce, w JavaScript. Po załadowaniu strony możesz odłączyć internet, a narzędzie nadal będzie działać. Nic nie jest logowane ani zapisywane.

### Dlaczego walidator odrzuca komentarze, skoro mój edytor je akceptuje?

Komentarze celowo usunął z JSON jego autor, Douglas Crockford, żeby format nie był wykorzystywany do przekazywania dyrektyw parserowi. Pliki takie jak `tsconfig.json` czy `.vscode/settings.json` to formalnie JSONC, czyli nadzbiór JSON obsługiwany przez edytory. Ścisłe parsery w API, bazach danych i większości języków programowania takie pliki odrzucają. Przycisk naprawy usuwa komentarze, więc wynik jest prawidłowy wszędzie.

### Czy mogę sformatować JSON Lines albo kilka obiektów naraz?

Dokument JSON zawiera dokładnie jedną wartość. Jeśli wkleisz kilka obiektów oddzielonych przecinkami lub podziałami wierszy, walidator zatrzyma się na pierwszej nadmiarowej wartości. Ujmij je w nawiasy kwadratowe, żeby powstała tablica, i dopiero wtedy formatuj. Przycisk naprawy nie robi tego automatycznie, bo nie może wiedzieć, czy dane miały być jednym dokumentem.

### Jaki jest maksymalny rozmiar?

Nie ma stałego limitu. Dokumenty o rozmiarze kilku megabajtów formatują się na laptopie w znacznie krótszym czasie niż sekunda. Powyżej około 400 kB podświetlanie składni jest wyłączane, żeby strona działała płynnie, ale kopiowanie i pobieranie nadal działają.

### Czy sortowanie kluczy zmienia dane?

Nie. Obiekty w JSON z definicji nie mają ustalonej kolejności (zobacz [artykuł o JSON w Wikipedii](https://pl.wikipedia.org/wiki/JSON)), więc parser odczytuje posortowany i oryginalny dokument jako tę samą wartość. Tablice nigdy nie są przestawiane, bo ich kolejność jest częścią danych.

### Jak przygotować JSON do osadzenia w ciągu znaków?

Najpierw zminifikuj dane, a potem poprzedź każdy ukośnik odwrotny i każdy podwójny cudzysłów ukośnikiem odwrotnym. Wiele języków robi to od razu: `JSON.stringify(JSON.stringify(obj))` w JavaScript albo `json.dumps(json.dumps(obj))` w Pythonie zwraca ciąg JSON, który zawiera tekst 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))
- 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))
- Русский (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))
