Konwerter CSV na JSON

Konwertuj CSV na JSON 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

  • Pierwszy wiersz jest odczytywany jako nagłówek — jego komórki stają się nazwami pól JSON, a każdy kolejny wiersz staje się osobnym obiektem.
  • 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ć CSV na JSON?

Przeciągnij pliki CSV i kliknij konwertuj — plik JSON 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.

CSV do JSON: dlaczego płaska tabela nie staje się hierarchią sama z siebie

Konwersja pliku CSV do JSON wydaje się prosta: wczytujesz tabelę, zapisujesz jako tablicę obiektów. W praktyce różnica między tymi formatami ujawnia się w szczegółach, które decydują o tym, czy dane nadają się do dalszego przetworzenia, czy trzeba je ręcznie poprawiać. Strona ta rozwiązuje konkretne problemy związane z brakiem typów w CSV, płaską strukturą tabeli i nieprzewidywalnymi separatorami. Poniżej znajdziesz opis mechanizmów, ograniczeń i typowych pułapek, które decydują o jakości wyniku.

Co odróżnia tę konwersję od innych

Brak typów w źródle, typy w docelu? Niekoniecznie

CSV przechowuje wszystko jako ciągi znaków. Cena produktu (1499.99), kod pocztowy (00-123) czy współrzędne geograficzne (52.2297,21.0122) – każde z tych pól trafia do JSON jako string. Jeśli oczekujesz, że JSON automatycznie rozpozna liczby, wartości logiczne lub null, musisz samodzielnie skonwertować te wartości po pobraniu pliku. Narzędzie nie próbuje odgadnąć typu, ponieważ CSV nie zawiera metadanych o rodzaju danych.

Brak zagnieżdżania

CSV to ściśle płaska tabela: każdy wiersz ma tę samą liczbę kolumn, a każda komórka zawiera pojedynczą wartość. W wyniku konwersji powstaje więc tablica obiektów, w której każdy obiekt ma te same klucze. Nie można w ten sposób uzyskać hierarchii typu {"adres": {"miasto": "Warszawa", "kod": "00-001"}}. Gdybyś chciał taki efekt, musiałbyś skorzystać z dodatkowej logiki, której narzędzie nie implementuje. W drugą stronę (JSON → CSV) konieczne jest spłaszczanie zagnieżdżeń, ale w tej konwersji problem nie występuje.

Wybór separatora ma znaczenie

W przeciwieństwie do plików JSON lub XLSX, gdzie struktura jest jednoznaczna, CSV może używać przecinka (,), średnika (;) lub tabulatora (\t) jako separatora. Musisz wskazać właściwy. Błędny wybór powoduje, że narzędzie niepoprawnie dzieli wiersze na kolumny – zamiast trzech kolumn dostajesz jedną lub więcej. To najczęstsza przyczyna błędów parsowania.

Przecinki i znaki nowej linii w cudzysłowie – źródło błędów

Standard CSV (RFC 4180) definiuje reguły cytowania pól zawierających separator lub znaki nowej linii. Niestety wiele plików CSV generowanych przez różne programy nie przestrzega tych reguł. Jeśli w polu znajduje się przecinek, a pole nie jest otoczone cudzysłowami, parser uzna ten znak za separator. Jeśli w polu jest znak nowej linii, a cudzysłowy są pominięte, wiersz zostanie przerwany. Narzędzie sygnalizuje takie sytuacje komunikatem o błędzie parsowania.

Wejścia, wyjścia i opcje użytkownika

Dane wejściowe

Narzędzie przyjmuje jeden plik w formacie CSV.

Ustawienia użytkownika

  • Separator CSV – do wyboru: przecinek, średnik, tabulator. Wartość domyślna to przecinek.

Dane wyjściowe

Po zakończeniu konwersji otrzymujesz:

  • plik JSON do pobrania,
  • podgląd przekonwertowanych danych (pierwsze 8 wierszy i 8 kolumn),
  • liczbę wierszy i kolumn w tabeli źródłowej,
  • rozmiar pliku wynikowego.

Podgląd pozwala sprawdzić, czy struktura JSON odpowiada oczekiwaniom, zanim pobierzesz plik. Jeśli w podglądzie widzisz stringi zamiast liczb, wiesz, że po stronie odbiorcy musisz wykonać konwersję typów.

Reguły, limity i komunikaty błędów

Błędy parsowania CSV

Jeśli plik CSV zawiera niespójności (np. wiersze o różnej liczbie kolumn, źle zamknięte cudzysłowy), narzędzie wyświetla komunikat:
"This CSV could not be parsed."

Brak danych

Jeśli plik nie zawiera żadnych wierszy z danymi (np. jest pusty lub zawiera tylko nagłówki), pojawia się:
"This file has no table rows."

Przekroczenie limitów

  • Za dużo wierszy: "This table has more than ‹max› rows."
  • Za dużo kolumn: "This table has more than ‹max› columns."

Liczby max są określone przez narzędzie. Limit dla wierszy wynosi 10 000, a dla kolumn 200. Jeśli Twój plik przekracza te wartości, rozważ podział na mniejsze części.

Za duży plik

"This file is too large. Use a file under ‹max›." – limit wielkości pliku to 8 MB.

Brak wyboru pliku

"Choose one file first."

Nieobsługiwany format

"Choose a CSV, JSON or XLSX file."

Przekroczenie czasu

"This conversion is taking too long. Try a smaller file." – może wystąpić przy bardzo dużych plikach lub słabym sprzęcie.

Ochrona zer wiodących

Każde pole w CSV jest traktowane jako string, więc kody pocztowe, numery identyfikacyjne czy inne wartości z zerami na początku pozostają nienaruszone. Problem pojawia się dopiero wtedy, gdy zaimportujesz wynikowy JSON do środowiska, które automatycznie konwertuje stringi na liczby (np. JavaScript w przeglądarce). Wtedy "00123" zmieni się w 123. Aby tego uniknąć, po stronie odbiorcy musisz jawnie traktować te wartości jako teksty.

Znaki nowej linii w cudzysłowie

Jeśli plik CSV zawiera pola wielowierszowe (np. opis produktu), znaki nowej linii zostają zachowane jako sekwencja w stringu JSON. To zachowanie jest zgodne z oczekiwaniami, ale upewnij się, że Twój parser JSON obsługuje takie sekwencje.

Kto korzysta z tej konwersji

Deweloper przed API

Odbierasz eksport z bazy danych w formacie CSV i musisz przekazać go do aplikacji JavaScript, która oczekuje JSON-a. Zamiast pisać własny parser, wgrywasz plik do narzędzia, ustawiasz separator i pobierasz gotowy wynik. Oszczędzasz czas i unikasz błędów implementacji.

Analityk z danymi wrażliwymi na typ

Pracujesz z plikiem adresowym, w którym kody pocztowe mają zera wiodące. Konwersja zachowuje je, dopóki nie zaimportujesz JSON-a do środowiska, które automatycznie rzutuje stringi na liczby. Wiesz, że musisz ustawić odpowiedni typ kolumny w docelowej bazie.

Zespół łączący Excela z JSON-em

Nietechniczny członek zespołu przygotowuje dane w Excelu i zapisuje jako CSV. Ty musisz wczytać je do aplikacji napisanej w Node.js. Narzędzie działa w przeglądarce – nie przesyłasz pliku na serwer, więc dane wrażliwe (np. adresy e-mail) nie trafiają do zewnętrznej infrastruktury.

Student przygotowujący dane do projektu

Masz jednorazowy zestaw danych w CSV (np. wyniki ankiety, dane pogodowe) i potrzebujesz struktury JSON, którą wczytasz w skrypcie Python lub JavaScript. Narzędzie pozwala szybko przekształcić dane bez instalowania dodatkowego oprogramowania.

Dlaczego CSV jest trudniejszy niż się wydaje

Różne warianty separatora

W plikach generowanych przez polskie programy często spotyka się średnik (;) jako separator, ponieważ przecinek występuje jako separator dziesiętny. W systemach anglosaskich standardem jest przecinek (,). Tabulator pojawia się w eksportach z systemów mainframe lub starszych baz danych. Wybór niewłaściwego separatora powoduje, że wiersze są dzielone w złych miejscach – zamiast kolumny cena i miasto dostajesz cena;miasto w jednym polu.

Niespójne cytowanie

Standard RFC 4180 mówi, że pola zawierające separator, cudzysłów lub znak nowej linii powinny być otoczone cudzysłowem, a cudzysłów wewnątrz pola podwajany. W praktyce wiele generatorów CSV ignoruje te zasady. Jeśli plik zawiera pole z przecinkiem bez cudzysłowu, parser uzna ten przecinek za separator i zniszczy strukturę wiersza. Narzędzie sygnalizuje to komunikatem o błędzie parsowania, ale nie próbuje domyślnie naprawić danych.

Brak informacji o typie

JSON rozróżnia typy: "123" (string), 123 (number), true (boolean), null. CSV nie zna tych rozróżnień. Każde pole w CSV jest ciągiem znaków. Jeśli chcesz, aby w JSON wartość "123" stała się liczbą 123, musisz samodzielnie skonwertować ją po pobraniu pliku. Narzędzie nie próbuje odgadnąć typu, ponieważ byłoby to zgadywanie obarczone ryzykiem błędów (np. kod pocztowy 00-001 zostałby uznany za string, a 12345 za liczbę – w rzeczywistości oba są kodami pocztowymi i powinny pozostać stringami).

FAQ – najczęściej zadawane pytania

Dlaczego w JSON wszystkie wartości są stringami, nawet jeśli w CSV są liczbami?

CSV nie przechowuje informacji o typach danych. Każde pole w pliku CSV jest ciągiem znaków. Narzędzie nie podejmuje próby odgadnięcia typu, ponieważ mogłoby to prowadzić do błędów (np. kody pocztowe z zerami wiodącymi zostałyby uznane za liczby i straciłyby zera). Jeśli potrzebujesz liczb w JSON, skonwertuj je ręcznie po pobraniu pliku.

Moje CSV ma średnik zamiast przecinka. Co robić?

Wybierz separator Średnik (;) w ustawieniach narzędzia. Jeśli plik używa tabulatora, wybierz Tabulator. Narzędzie nie wykrywa automatycznie separatora – musisz go wskazać.

Czy mogę przekonwertować plik z kolumnami o różnej liczbie wierszy?

CSV musi mieć stałą liczbę kolumn w każdym wierszu. Jeśli wiersze różnią się liczbą pól, narzędzie wyświetli komunikat o błędzie parsowania. Przed konwersją uzupełnij brakujące wartości lub usuń wiersze z nieprawidłową strukturą.

Jak zachować zera wiodące w kodach pocztowych?

Narzędzie traktuje wszystkie pola jako stringi, więc zera wiodące są zachowane w pliku JSON. Problem pojawia się, gdy wczytasz ten JSON do środowiska, które automatycznie konwertuje stringi na liczby (np. JavaScript w przeglądarce). Aby tego uniknąć, upewnij się, że parser JSON nie rzutuje wartości na liczby, lub po wczytaniu jawnie traktuj te pola jako tekst.

Mój plik CSV nie parsuje się. Co jest nie tak?

Sprawdź, czy pola zawierające przecinki są otoczone cudzysłowami. Upewnij się, że cudzysłowy są prawidłowo zamknięte. Jeśli plik zawiera znaki nowej linii wewnątrz pól, muszą one być otoczone cudzysłowami. W razie wątpliwości otwórz plik w edytorze tekstu i sprawdź strukturę.

Czy mogę przekonwertować plik większy niż 5 MB?

Narzędzie ma limit wielkości pliku, który wynosi 8 MB. Jeśli Twój plik jest większy, podziel go na mniejsze części za pomocą narzędzi do wycinania wierszy (np. head i tail w systemie Unix, lub w edytorze arkuszy kalkulacyjnych). Pamiętaj, że przy dużych plikach konwersja może zająć dużo czasu lub przekroczyć limit czasu narzędzia.