Skip to content

Formatowanie i walidacja JSON

Formatuj, waliduj i upiększaj JSON w przeglądarce. Bezpłatne narzędzie z kontrolą składni, wykrywaniem błędów i minifikacją. 100% prywatnie.

Bez śledzenia Działa w przeglądarce Bezpłatne
Wynik
Zweryfikowano pod kątem zgodności z RFC 8259 i poprawności formatowania — Zespół inżynieryjny Go Tools · Mar 22, 2026

Czym jest JSON?

JSON (JavaScript Object Notation) to lekki, tekstowy format wymiany danych, który jest łatwy do czytania i pisania dla człowieka oraz prosty w parsowaniu i generowaniu dla maszyn. Ustandaryzowany jako RFC 8259 oraz ECMA-404, JSON stał się uniwersalnym standardem wymiany danych w praktycznie wszystkich językach programowania, API i usługach internetowych.

Jak napisał Douglas Crockford, twórca JSON, na json.org: „Cele projektowe JSON to minimalizm, przenośność, charakter tekstowy i bycie podzbiorem JavaScriptu”. Ta świadoma prostota jest dokładnie powodem, dla którego JSON wygrał z XML i stał się lingua franca współczesnego internetu.

JSON obsługuje sześć typów danych: łańcuchy znaków (w cudzysłowach podwójnych), liczby, wartości logiczne (true/false), null, tablice (uporządkowane listy) oraz obiekty (pary klucz–wartość) (RFC 8259). Jego prostota i czytelność sprawiły, że jest preferowanym formatem nad XML w większości nowoczesnych aplikacji webowych, REST API i plików konfiguracyjnych. JSON to najpopularniejszy format danych dla API, używany przez 86% programistów (Postman State of API Report 2023).

Formater JSON przekształca surowy lub zminifikowany JSON w dobrze ustrukturyzowany, wcięty zapis, który natychmiast uwidacznia hierarchię danych. Jest to niezbędne podczas debugowania odpowiedzi API, inspekcji plików konfiguracyjnych i analizy złożonych, zagnieżdżonych struktur danych. W przeciwieństwie do XML, JSON nie obsługuje komentarzy, atrybutów ani przestrzeni nazw — koncentruje się wyłącznie na reprezentacji danych (ECMA-404).

Narzędzie działa w całości w przeglądarce — dane JSON nigdy nie opuszczają urządzenia. W przeciwieństwie do formaterów serwerowych nie ma tu żadnych przesyłek, logowania ani retencji danych. Bezpieczne dla kluczy API, konfiguracji produkcyjnych i danych zastrzeżonych.

JSON jest często używany razem z innymi narzędziami programistycznymi. Podczas debugowania API może być potrzebne zdekodowanie danych w Base64 w payload JSON (na przykład w token JWT) lub wygenerowanie UUID jako unikalnych identyfikatorów wewnątrz struktur danych JSON. Praca z plikami konfiguracyjnymi JSON5 lub JSONC? Zajrzyj do naszego przewodnika po formatowaniu JSON5 i JSONC po różnice składniowe, wsparcie narzędziowe i dobre praktyki.

// Format (pretty-print) JSON with 2-space indentation
const raw = '{"name":"Alice","age":30,"active":true}';
const parsed = JSON.parse(raw);        // parse string → object
const formatted = JSON.stringify(parsed, null, 2);
console.log(formatted);
// → {
//     "name": "Alice",
//     "age": 30,
//     "active": true
//   }

// Minify JSON (strip all whitespace)
const minified = JSON.stringify(parsed);
console.log(minified);
// → '{"name":"Alice","age":30,"active":true}'

Kluczowe funkcje

Natychmiastowe formatowanie

Wklej dowolny JSON i otrzymaj idealnie wcięty wynik w milisekundach. Obsługa wcięć 2- i 4-spacjowych.

Walidacja w czasie rzeczywistym

Automatyczne wykrywanie błędów składni podczas pisania, z czytelnymi komunikatami wskazującymi dokładną linię i pozycję.

Minifikacja jednym kliknięciem

Skompresuj sformatowany JSON do pojedynczej linii, aby zmniejszyć rozmiar pliku w produkcyjnych API i konfiguracjach.

100% w przeglądarce

Całe przetwarzanie odbywa się lokalnie w przeglądarce. Dane nigdy nie opuszczają urządzenia — bez przesyłek na serwer i bez śledzenia.

Obsługa dużych plików

Wydajne przetwarzanie plików JSON do 10 MB z płynną pracą, bez ostrzeżeń o rozmiarze i bez awarii.

Kopiowanie i pobieranie

Eksportuj wyniki natychmiast — kopiuj do schowka lub pobieraj jako plik .json jednym kliknięciem.

Przykłady

Odpowiedź API

{"status":200,"data":{"user":{"id":"usr_2x7kP9","name":"Alice Chen","email":"alice@example.com","roles":["admin","editor"],"lastLogin":"2026-03-12T08:30:00Z"},"meta":{"requestId":"req_abc123","timestamp":1741776600}}}

Sformatuj typową odpowiedź REST API z zagnieżdżonymi danymi użytkownika i metadanymi

Konfiguracja pakietu

{"name":"my-app","version":"2.1.0","private":true,"scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"eslint ."},"dependencies":{"react":"^18.2.0","next":"14.1.0"},"devDependencies":{"typescript":"^5.3.0","eslint":"^8.56.0"}}

Upiększ zminifikowany plik konfiguracyjny package.json

Kolekcja danych

[{"id":1,"product":"Laptop Pro","price":1299.99,"inStock":true,"tags":["electronics","computers"]},{"id":2,"product":"Wireless Mouse","price":29.99,"inStock":false,"tags":["electronics","accessories"]},{"id":3,"product":"USB-C Hub","price":49.99,"inStock":true,"tags":["electronics","accessories"]}]

Sformatuj tablicę obiektów produktów pochodzącą z bazy danych lub API e-commerce

Zagnieżdżona konfiguracja

{"database":{"host":"localhost","port":5432,"name":"mydb","pool":{"min":2,"max":10}},"cache":{"enabled":true,"ttl":3600,"provider":"redis"},"logging":{"level":"info","format":"json","outputs":["stdout","file"]}}

Wcięcie głęboko zagnieżdżonej konfiguracji aplikacji z ustawieniami bazy danych, pamięci podręcznej i logowania

Jak używać

  1. 1

    Wklej JSON

    Wpisz lub wklej surowe dane JSON w polu wejściowym powyżej. Można też kliknąć „Wczytaj przykład”, aby wypróbować próbkę.

  2. 2

    Sformatuj lub zminifikuj

    Kliknij „Sformatuj JSON”, aby uzyskać czytelny zapis z wcięciami, lub „Minifikuj JSON”, aby skompresować wynik do pojedynczej linii.

  3. 3

    Skopiuj wynik

    Przetworzony wynik pojawi się w obszarze wyjściowym. Kliknij „Skopiuj”, aby od razu skopiować go do schowka.

Typowe błędy JSON

Przecinki kończące

JSON nie dopuszcza przecinka po ostatnim elemencie tablicy lub obiektu. To jeden z najczęstszych błędów, zwłaszcza przy kopiowaniu z kodu JavaScript.

✗ Niepoprawne
{"name": "Alice", "age": 30,}
✓ Poprawne
{"name": "Alice", "age": 30}

Apostrofy

JSON wymaga cudzysłowów podwójnych dla wszystkich łańcuchów i kluczy. Apostrofy są poprawne w JavaScript, ale nie w JSON.

✗ Niepoprawne
{'name': 'Alice'}
✓ Poprawne
{"name": "Alice"}

Klucze bez cudzysłowów

Wszystkie klucze właściwości w JSON muszą być ujęte w cudzysłowy podwójne. Klucze bez cudzysłowów są poprawne w obiektach JavaScript, ale nie w JSON.

✗ Niepoprawne
{name: "Alice"}
✓ Poprawne
{"name": "Alice"}

Komentarze

Standardowy JSON nie obsługuje komentarzy w żadnej formie. Jeśli potrzebne są komentarze, warto rozważyć JSONC (JSON with Comments) lub YAML.

✗ Niepoprawne
{"name": "Alice" // user name}
✓ Poprawne
{"name": "Alice"}

Brakujące nawiasy

Każdy nawias otwierający (klamrowy lub kwadratowy) musi mieć odpowiadający mu nawias zamykający. Niedopasowane nawiasy powodują błędy „Unexpected end of JSON input”.

✗ Niepoprawne
{"users": [{"name": "Alice"}
✓ Poprawne
{"users": [{"name": "Alice"}]}

Unexpected token

Ten błąd pojawia się, gdy parser natrafia na znak, który nie powinien znajdować się w danym miejscu. Typowe przyczyny to brakujące przecinki między elementami lub dodatkowe znaki po zakończeniu JSON.

✗ Niepoprawne
{"name": "Alice" "age": 30}
✓ Poprawne
{"name": "Alice", "age": 30}

Typowe zastosowania

Debugowanie odpowiedzi API
Sformatuj zminifikowane odpowiedzi API w czytelny JSON na potrzeby szybkiego debugowania i inspekcji.
Pliki konfiguracyjne
Waliduj i upiększaj pliki konfiguracyjne, takie jak package.json, tsconfig.json czy .eslintrc.
Inspekcja danych
Eksploruj i analizuj dane JSON eksportowane z baz danych, dzienników lub usług zewnętrznych.
Code review
Formatuj fragmenty JSON, aby uzyskać czytelniejsze diffy i ułatwić porównywanie podczas przeglądu kodu.
Dokumentacja
Generuj starannie sformatowane przykłady JSON do dokumentacji technicznej i tutoriali.
Migracja danych
Waliduj strukturę i składnię JSON przed importem danych do nowych systemów.

Szczegóły techniczne

Zgodność z RFC 8259
Pełne wsparcie dla standardowej specyfikacji JSON, w tym Unicode i znaków escapowanych.
Przetwarzanie w przeglądarce
Całe formatowanie działa lokalnie w przeglądarce dzięki natywnym funkcjom JSON.parse() i JSON.stringify().
Obsługa rozmiaru plików
Obsługa plików JSON do 10 MB z konfigurowalnym wcięciem (2 lub 4 spacje).

Dobre praktyki

Waliduj przed użyciem
Zawsze waliduj dane JSON przed użyciem ich na produkcji, aby wcześnie wychwycić błędy składni.
Stosuj spójne wcięcia
Trzymaj się wcięcia 2-spacjowego dla czytelności i mniejszego rozmiaru plików w systemie kontroli wersji.
Minifikuj na produkcję
Używaj zminifikowanego JSON w odpowiedziach API i plikach konfiguracyjnych, aby ograniczyć przepustowość i czas ładowania.

Najczęściej zadawane pytania

Jak sformatować JSON online?
Wystarczy wkleić surowy lub zminifikowany JSON do pola wejściowego powyżej i kliknąć „Sformatuj JSON”. Narzędzie natychmiast parsuje dane, sprawdza poprawność składni i wyświetla poprawnie wcięty zapis z wcięciem 2-spacjowym. Wynik można następnie skopiować do schowka jednym kliknięciem. Wszystko działa lokalnie w przeglądarce — żadne dane nie są wysyłane na serwer.
Jak zwalidować JSON?
Wystarczy wkleić JSON do pola wejściowego i kliknąć „Sformatuj JSON”. Jeśli JSON zawiera błędy składniowe, narzędzie wyświetli szczegółowy komunikat wskazujący, co poszło nie tak i w którym miejscu. Jeśli JSON jest poprawny, zostanie sformatowany i pokazany w obszarze wynikowym. Narzędzie sprawdza zgodność z RFC 8259 — aktualnym standardem JSON.
Jak zminifikować JSON?
Wystarczy wkleić JSON do pola wejściowego i kliknąć „Minifikuj JSON”. Narzędzie usunie wszystkie zbędne białe znaki, znaki nowej linii oraz wcięcia, tworząc najbardziej zwartą reprezentację. Zminifikowany JSON sprawdza się w odpowiedziach API, plikach konfiguracyjnych w środowisku produkcyjnym oraz wszędzie tam, gdzie liczy się rozmiar pliku lub przepustowość.
Czy moje dane JSON są bezpieczne podczas korzystania z tego narzędzia?
Tak, w pełni. Całe przetwarzanie odbywa się lokalnie w przeglądarce za pomocą natywnych funkcji JavaScript JSON.parse() i JSON.stringify() — dane nigdy nie opuszczają urządzenia. Nie ma żadnych wysyłek na serwer, plików cookie, śledzenia analitycznego danych wejściowych ani jakiegokolwiek przechowywania danych. Dzięki temu narzędzie jest bezpieczne nawet dla kluczy API, danych uwierzytelniających i informacji zastrzeżonych.
Jak naprawić błędy „Unexpected token” w JSON?
Błąd „Unexpected token” oznacza, że parser JSON natrafił na znak, który nie powinien znaleźć się w danym miejscu. Najczęstsze przyczyny to: brak przecinka między elementami ({"name": "Alice" "age": 30}), zbędny przecinek po ostatnim elemencie ({"name": "Alice",}) lub dodatkowe znaki po zakończeniu JSON. Wystarczy wkleić JSON do tego narzędzia, aby zobaczyć dokładną lokalizację błędu, a następnie sprawdzić znaki wokół tej pozycji.
Dlaczego mój JSON ma błąd „trailing comma”?
JSON nie dopuszcza przecinka po ostatnim elemencie obiektu lub tablicy. To jeden z najczęstszych błędów, ponieważ JavaScript i wiele innych języków pozwala na przecinki kończące. Na przykład {"name": "Alice", "age": 30,} jest niepoprawnym JSON — wystarczy usunąć przecinek po 30, aby go naprawić. Jeśli często kopiuje się dane z kodu JavaScript, należy zawsze sprawdzać przecinki kończące przed użyciem ich jako JSON.
Czy w JSON można używać apostrofów (pojedynczych cudzysłowów)?
Nie. JSON wymaga cudzysłowów podwójnych dla wszystkich łańcuchów znaków i kluczy właściwości. Apostrofy są poprawne w JavaScript i Pythonie, ale nie należą do specyfikacji JSON (RFC 8259). Na przykład {'name': 'Alice'} jest niepoprawne — musi być {"name": "Alice"}. Jeśli dane zawierają apostrofy, narzędzie zgłosi błąd składni i wskaże dokładną pozycję do poprawy.
Czy w JSON można dodawać komentarze?
Nie, standardowy JSON nie obsługuje komentarzy w żadnej formie — ani //, ani /* */, ani #. Była to świadoma decyzja projektowa, aby utrzymać JSON prosty i łatwy w parsowaniu. Jeśli komentarze w plikach konfiguracyjnych są niezbędne, warto rozważyć JSONC (JSON with Comments, używany przez VS Code i TypeScript), JSON5 lub YAML. Aby używać plików z komentarzami jako standardowego JSON, należy najpierw usunąć komentarze przed parsowaniem.
Dlaczego mój JSON nie parsuje się poprawnie?
Najczęstsze powody, dla których parsowanie JSON kończy się błędem, to: (1) przecinki kończące po ostatnim elemencie, (2) apostrofy zamiast cudzysłowów podwójnych, (3) klucze właściwości bez cudzysłowów, (4) komentarze w danych, (5) brakujące lub nadmiarowe nawiasy klamrowe lub kwadratowe, (6) niezaescapowane znaki specjalne, takie jak ukośniki wsteczne czy znaki nowej linii w łańcuchach. Wystarczy wkleić JSON do tego narzędzia — wskaże ono dokładny typ i lokalizację błędu, aby można było szybko go naprawić.
Jaka jest różnica między JSON a YAML?
Zarówno JSON, jak i YAML to formaty serializacji danych, ale różnią się filozofią projektową. JSON używa nawiasów klamrowych, kwadratowych i cudzysłowów podwójnych ze ścisłą składnią — co czyni go idealnym do parsowania maszynowego oraz API. YAML opiera się na wcięciach i minimum interpunkcji — przez co jest bardziej czytelny dla człowieka i popularny w plikach konfiguracyjnych (Docker Compose, Kubernetes, GitHub Actions). JSON jest podzbiorem YAML, więc każdy poprawny JSON jest również poprawnym YAML, ale nie odwrotnie.
Czym jest JSON Schema?
JSON Schema to odrębny standard (niebędący częścią samego JSON), który definiuje oczekiwaną strukturę, typy i ograniczenia danych JSON. Można na przykład określić, że dane pole musi być łańcuchem znaków, liczba ma mieścić się w przedziale od 1 do 100, a tablica zawierać co najmniej jeden element. JSON Schema jest powszechnie używany do walidacji żądań i odpowiedzi API, generowania formularzy oraz dokumentacji. To narzędzie sprawdza składnię JSON, a nie schema JSON — do walidacji schema należy użyć dedykowanego walidatora JSON Schema.
Jaka jest różnica między JSON a JSON5?
JSON5 to rozszerzenie JSON, które dodaje funkcje często wymagane przez programistów: cudzysłowy pojedyncze i podwójne, przecinki kończące, komentarze (// oraz /* */), klucze bez cudzysłowów, łańcuchy wieloliniowe oraz liczby szesnastkowe. JSON5 bywa używany w plikach konfiguracyjnych, w których częsta jest edycja przez człowieka. Standardowe parsery JSON nie odczytają JSON5 — potrzebny jest parser JSON5. To narzędzie obsługuje wyłącznie standardowy JSON (RFC 8259).
Jaki jest maksymalny rozmiar pliku JSON?
Sama specyfikacja JSON nie określa limitu rozmiaru pliku. Praktyczne limity zależą od parsera i środowiska: przeglądarki zwykle radzą sobie z JSON o rozmiarze do 500 MB–1 GB, zanim pojawią się problemy z pamięcią, natomiast parsery serwerowe (Node.js, Python, Java) mogą obsłużyć większe pliki przy użyciu parserów strumieniowych. To narzędzie online wydajnie obsługuje JSON o rozmiarze do około 10 MB. W przypadku bardzo dużych plików JSON warto rozważyć narzędzia wiersza poleceń, takie jak jq, lub parsery strumieniowe.
Mam dużą, całkowicie zminifikowaną odpowiedź API — jak najszybciej uczynić ją czytelną na potrzeby debugowania?
Wystarczy wkleić zminifikowany JSON do tego narzędzia i kliknąć Sformatuj JSON. Dane zostaną natychmiast sparsowane i wyświetlone w czytelnej formie z wcięciem 2-spacjowym, dzięki czemu zagnieżdżone obiekty i tablice staną się od razu widoczne. Dla bardzo dużych odpowiedzi (5–10 MB) to narzędzie działające w przeglądarce jest często szybsze niż VS Code czy jq w wierszu poleceń, ponieważ wykorzystuje natywną funkcję JSON.parse() przeglądarki bez żadnego narzutu uruchomieniowego. Można także użyć skrótu klawiaturowego Ctrl+V do wklejenia danych — wynik pojawi się natychmiast. Do programistycznego formatowania nadaje się JSON.stringify(data, null, 2) w JavaScript lub python -m json.tool z wiersza poleceń.
Wciąż dostaję błędy parsowania JSON podczas kopiowania danych z kodu JavaScript — co robię źle?
Najczęstszą przyczyną jest to, że literały obiektów JavaScript nie są poprawnym JSON. Problemy sprawiają trzy kluczowe różnice: (1) JavaScript dopuszcza apostrofy ('name'), ale JSON wymaga cudzysłowów podwójnych ("name"); (2) JavaScript pozwala na przecinki kończące ({"a": 1,}), a JSON nie; (3) JavaScript dopuszcza klucze bez cudzysłowów ({name: "Alice"}), natomiast JSON wymaga kluczy w cudzysłowach ({"name": "Alice"}). Dodatkowo komentarze JavaScript (// lub /* */) są niedozwolone w JSON. Wystarczy wkleić dane do tego narzędzia — wskaże ono dokładny typ i pozycję błędu, aby można było szybko go naprawić. Jeśli często trzeba konwertować obiekty JS na JSON, warto rozważyć format JSON5 jako etap pośredni.

Powiązane narzędzia

Zobacz wszystkie narzędzia →