Konwerter JSON na CSV

Konwertuj JSON na CSV online — bezpłatnie, natychmiast i prywatnie. Twój plik jest przetwarzany w przeglądarce i nigdy nie trafia na serwer.

Separator CSV
Wynik

Przekonwertowane pliki oraz podgląd pojawią się tutaj.

Gotowe. Wybierz plik tabeli, aby go przekonwertować.

Jak działa konwersja

  • Tablica obiektów jest przekształcana w wiersze i kolumny; zagnieżdżone obiekty są spłaszczane do kolumn z kropką w nazwie, np. address.city.
  • Wybierz separator pasujący do Twoich danych — przecinek, średnik lub tabulator.

Twój plik tabeli jest konwertowany bezpośrednio w przeglądarce. Nic nie jest przesyłane do BroBroGo.

Najczęściej zadawane pytania (FAQ)

Jak przekonwertować JSON na CSV?

Przeciągnij pliki JSON i kliknij konwertuj — plik CSV będzie gotowy do pobrania w kilka sekund wraz z podglądem wyniku. Cały proces odbywa się na Twoim urządzeniu.

Jak duży plik mogę przekonwertować?

Do 8 MB, 10 000 wierszy i 200 kolumn na plik. Większe zestawy danych najlepiej najpierw podzielić na mniejsze pliki.

Jak działa konwersja JSON na CSV: spłaszczanie i notacja z kropkami

Główną różnicą między tym narzędziem a konwersją w przeciwną stronę (CSV na JSON czy Excel na JSON) jest kierunek przekształcenia: z formatu hierarchicznego i typowanego na płaski i pozbawiony typów. JSON dopuszcza zagnieżdżone obiekty, tablice, liczby, wartości logiczne (true/false) i null w dowolnych strukturach. CSV nie ma żadnych typów, nie dopuszcza zagnieżdżeń i nie obsługuje wielu arkuszy. Aby przejść z jednego na drugi, konwerter spłaszcza zagnieżdżone klucze obiektów, używając notacji z kropkami.

Działa to tak: dla obiektu JSON {"osoba": {"imię": "Anna", "wiek": 30}} powstają kolumny osoba.imie i osoba.wiek. Każdy wiersz w wynikowym CSV odpowiada jednemu obiektowi z tablicy źródłowej. Jeśli JSON jest tablicą tablic, np. [["a", "b"], ["c", "d"]], każda wewnętrzna tablica staje się wierszem, a elementy są przypisywane do kolumn według indeksu – bez żadnych nazw nagłówków.

Wszystkie operacje są wykonywane wyłącznie w przeglądarce użytkownika. Żadna część pliku JSON nie jest przesyłana na serwer. To kluczowa zaleta dla osób pracujących z danymi wrażliwymi, takimi jak dane osobowe, dane finansowe lub odpowiedzi z wewnętrznych API.

Struktury danych: tablice obiektów i tablice tablic

Aby konwersja się powiodła, JSON musi mieć strukturę tabelaryczną. Narzędzie akceptuje tylko jeden kształt danych:

  • Tablica obiektów – każdy obiekt to wiersz, a klucze (również te zagnieżdżone) definiują kolumny. Na przykład:

    [
      {"id": 1, "nazwa": "Alfa", "szczegóły": {"kolor": "czerwony", "waga": 10}},
      {"id": 2, "nazwa": "Beta", "szczegóły": {"kolor": "niebieski", "waga": 15}}
    ]
    

    Po konwersji otrzymasz kolumny: id, nazwa, szczegóły.kolor, szczegóły.waga.

  • Tablica tablic – każda wewnętrzna tablica to wiersz, a elementy są kolumnami. Brak nagłówków. Przykład:

    [[1, "czerwony"], [2, "niebieski"]]
    

    Plik CSV będzie miał dwie kolumny bez etykiet.

Jeśli JSON jest nieprawidłowy (np. nie jest tablicą, zawiera obiekt z różnymi kluczami w każdym wierszu lub ma głęboko zagnieżdżone struktury niespójne z resztą), narzędzie wyświetli komunikat: „This JSON is invalid or not table‑shaped.” W takiej sytuacji należy przekształcić dane przed konwersją – na przykład spłaszczyć je ręcznie lub wybrać inne narzędzie do obróbki JSON.

Utrata typów danych: liczby, wartości logiczne i null stają się ciągami

JSON rozróżnia typy: liczby całkowite i zmiennoprzecinkowe, wartości logiczne (true/false), null, ciągi znaków, obiekty i tablice. CSV natomiast przechowuje wszystko jako tekst. Każda konwersja z JSON do CSV powoduje nieodwracalną utratę informacji o typie.

Oto co dokładnie się dzieje:

  • Liczby (np. 42, 3.14) są zapisywane jako ciągi znaków: "42", "3.14". W programie do arkuszy kalkulacyjnych mogą zostać automatycznie rozpoznane jako liczby, ale jeśli zawierają wiodące zera (np. "001"), to po zaimportowaniu do Excela czy Google Sheets stracą te zera i staną się 1. Aby temu zapobiec, konieczne jest ręczne sformatowanie kolumny jako tekst.
  • Wartość true staje się ciągiem "true", false"false". W arkuszu nie ma odróżnienia od tekstu.
  • null zamienia się na pusty ciąg lub słowo null (w zależności od implementacji narzędzia). W tym konwerterze wszystkie wartości są przekształcane na ciągi, więc null stanie się pustym polem.
  • Zagnieżdżone obiekty są spłaszczane, a ich struktura ginie – np. obiekt {"adres": {"miasto": "Kraków"}} zamienia się w kolumnę adres.miasto z tekstem "Kraków". Nie ma możliwości odtworzenia oryginalnej hierarchii.

Ponadto CSV nie przechowuje separatorów dziesiętnych jako znaczników typu – jeśli w JSON pojawi się liczba 3,14 (z przecinkiem jako separatorem dziesiętnym), to w CSV zostanie zapisana jako ciąg "3,14", ale po zaimportowaniu do arkusza z separatorem przecinkowym może zostać potraktowana jako dwie liczby. Dlatego narzędzie domyślnie obsługuje wybór separatora CSV (przecinek, średnik, tabulator), co minimalizuje ryzyko takich błędów.

Ograniczniki w CSV: przecinek, średnik, tabulator

Użytkownik może wybrać jeden z trzech separatorów:

  • przecinek (,)
  • średnik (;)
  • tabulator (\t)

Wybór ma bezpośrednie konsekwencje praktyczne. W polskich wersjach Excela domyślnym separatorem jest średnik, a nie przecinek. Jeśli wybierzesz przecinek, a twój arkusz kalkulacyjny oczekuje średnika, dane zostaną nieprawidłowo podzielone na kolumny. Podobnie w krajach anglosaskich standardem jest przecinek. Tabulator jest użyteczny do importu do baz danych lub narzędzi analitycznych, które preferują ten separator.

Narzędzie automatycznie stosuje reguły cytowania według specyfikacji RFC 4180:

  • Wartości zawierające separator, znak nowej linii lub cudzysłów są otaczane cudzysłowami.
  • Cudzysłowy wewnątrz wartości są podwajane (np. powiedział "cześć""powiedział ""cześć""").
  • Nowe linie wewnątrz wartości są zachowane, co może powodować problemy przy odczycie w niektórych arkuszach.

Dlatego przed konwersją warto upewnić się, że dane nie zawierają nieoczekiwanych znaków nowej linii w polach – w JSON są one dozwolone, ale w CSV mogą prowadzić do błędów parsowania.

Przetwarzanie lokalne i prywatność: brak wysyłania danych na serwer

Całe przetwarzanie odbywa się w przeglądarce – plik JSON jest wczytywany do pamięci RAM urządzenia, konwertowany lokalnie, a wynikowy CSV jest generowany i udostępniany do pobrania. Żadne dane nie są przesyłane przez sieć. Jest to szczególnie istotne w przypadku:

  • danych osobowych (RODO, HIPAA),
  • danych finansowych,
  • wewnętrznych API firm,
  • wrażliwych danych badawczych.

Jedynym ograniczeniem jest rozmiar pliku i liczba wierszy/kolumn. Narzędzie wyświetla komunikaty błędów, jeśli przekroczone zostaną wewnętrzne limity: „This file is too large. Use a file under ‹max›.”, „This table has more than ‹max› rows.” oraz „This table has more than ‹max› columns.” (dokładne wartości progów zależą od implementacji przeglądarki). Jeśli konwersja trwa zbyt długo, pojawi się komunikat „This conversion is taking too long. Try a smaller file.”. W takiej sytuacji należy podzielić plik na mniejsze fragmenty.

Typowe błędy i komunikaty o błędach

Narzędzie obsługuje kilka specyficznych sytuacji błędów:

Komunikat Przyczyna
„Choose one file first.” Nie wybrano żadnego pliku przed kliknięciem konwersji.
„Choose a CSV, JSON or XLSX file.” Wybrano plik w nieobsługiwanym formacie (np..xml,.txt).
„Choose a different output format.” Wybrano format wyjściowy inny niż CSV (np. PDF, XLSX).
„This file is too large. Use a file under ‹max›.” Plik przekracza limit rozmiaru.
„This table has more than ‹max› rows.” Liczba wierszy w JSON przekracza limit.
„This table has more than ‹max› columns.” Liczba kolumn (po spłaszczeniu) przekracza limit.
„This JSON is invalid or not table‑shaped.” JSON jest nieprawidłowy składniowo lub nie jest tablicą obiektów/tablic.
„Could not convert this file.” Ogólny błąd konwersji – np. problem z dekodowaniem znaków.
„Conversion cancelled.” Użytkownik przerwał konwersję.
„This conversion is taking too long. Try a smaller file.” Przetwarzanie trwa zbyt długo (zwykle z powodu bardzo dużego pliku lub złożonych zagnieżdżeń).

FAQ

Czy mogę konwertować JSON z wieloma zagnieżdżeniami?

Tak, narzędzie spłaszcza wszystkie zagnieżdżone obiekty, używając notacji z kropkami dla każdego poziomu. Na przykład obiekt a.b.c stanie się trzema kolumnami: a, a.b, a.b.c. Jednak tablice zagnieżdżone wewnątrz obiektu nie są rozwijane – są zapisywane jako ciągi znaków (np. ``).

Czy mogę zachować wiodące zera w numerach kont lub kodach pocztowych?

Nie bezpośrednio. Podczas konwersji wszystkie wartości są ciągami, ale po zaimportowaniu do arkusza kalkulacyjnego Excel lub Google Sheets mogą zostać automatycznie skonwertowane na liczby, co usuwa wiodące zera. Aby temu zapobiec, po wygenerowaniu CSV otwórz go w edytorze tekstu, a potem zaimportuj do arkusza z opcją formatowania kolumny jako tekst.

Co zrobić, jeśli mój JSON ma różne klucze w różnych wierszach?

Narzędzie nie radzi sobie z takimi danymi – wyświetli błąd „This JSON is invalid or not table‑shaped.” Należy ujednolicić strukturę: dodać brakujące klucze z wartościami pustymi (null) w każdym obiekcie przed konwersją.

Czy mogę wybrać inny separator niż przecinek lub średnik?

Tak, dostępne są trzy opcje: przecinek, średnik i tabulator. Jeśli potrzebujesz innego separatora (np. pionowej kreski), musisz po konwersji zastąpić separator ręcznie w edytorze tekstu.

Czy narzędzie działa offline?

Tak, ponieważ całe przetwarzanie odbywa się w przeglądarce, po pierwszym załadowaniu strony możesz korzystać z narzędzia bez dostępu do internetu (chyba że strona wymaga połączenia dla skryptów – w praktyce większość nowoczesnych przeglądarek buforuje kod lokalnie).