Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Konwertuj CSV do JSON

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Typy wartości
Typ jest rozpoznawany dla każdej kolumny osobno i tylko wtedy, gdy pasują do niego wszystkie wartości. Dlatego identyfikatory z zerami wiodącymi i liczby całkowite większe niż 9 007 199 254 740 991 pozostają tekstem.
Kolumny user.name i user.email stają się jednym obiektem „user” z polami „name” i „email”.
[
  {
    "order_id": "001041",
    "customer": "Nikodem Kamiński",
    "city": "Poznań",
    "product": "Desk lamp",
    "quantity": "7",
    "unit_price": "195.66",
    "order_date": "2026-01-06",
    "status": "paid"
  },
  {
    "order_id": "001042",
    "customer": "Antoni Szymański",
    "city": "Wrocław",
    "product": "Chair, ergonomic",
    "quantity": "5",
    "unit_price": "106.18",
    "order_date": "2026-02-07",
    "status": "refunded"
  },
  {
    "order_id": "001043",
    "customer": "Franciszek Kamiński",
    "city": "Gdańsk",
    "product": "USB-C cable",
    "quantity": "1",
    "unit_price": "142.78",
    "order_date": "2026-03-19",
    "status": "pending"
  },
  {
    "order_id": "001044",
    "customer": "Nikodem Lewandowski",
    "city": "Gdańsk",
    "product": "Coffee beans 1kg",
    "quantity": "3",
    "unit_price": "155.57",
    "order_date": "2026-04-26",
    "status": "shipped"
  },
  {
    "order_id": "001045",
    "customer": "Aleksander Nowak",
    "city": "Kraków",
    "product": "Desk lamp",
    "quantity": "9",
    "unit_price": "",
    "order_date": "2026-05-25",
    "status": "pending"
  },
  {
    "order_id": "001046",
    "customer": "Antoni Kowalski",
    "city": "Szczecin",
    "product": "Notebook A5",
    "quantity": "6",
    "unit_price": "234.47",
    "order_date": "2026-06-16",
    "status": "pending"
  },
  {
    "order_id": "001047",
    "customer": " Maja Kamiński ",
    "city": "Wrocław",
    "product": "Coffee beans 1kg",
    "quantity": "6",
    "unit_price": "239.01",
    "order_date": "2026-07-02",
    "status": "pending"
  },
  {
    "order_id": "001048",
    "customer": "Julia Wójcik",
    "city": "Gdańsk",
    "product": "USB-C cable",
    "quantity": "8",
    "unit_price": "212.47",
    "order_date": "2026-08-02",
    "status": "paid"
  },
  {
    "order_id": "001049",
    "customer": "Zofia Wójcik",
    "city": "Szczecin",
    "product": "Chair, ergonomic",
    "quantity": "1",
    "unit_price": "29.67",
    "order_date": "2026-09-08",
    "status": "refunded"
  },
  {
    "order_id": "001050",
    "customer": "Aleksander Wójcik",
    "city": "Poznań",
    "product": "Desk lamp",
    "quantity": "7",
    "unit_price": "61.38",
    "order_date": "2026-01-17",
    "status": "shipped"
  },
  {
    "order_id": "001051",
    "customer": "Jakub Nowak",
    "city": "Kraków",
    "product": "Chair, ergonomic",
    "quantity": "3",
    "unit_price": "76.09",
    "order_date": "2026-02-20",
    "status": "paid"
  },
  {
    "order_id": "001052",
    "customer": "Jan Wójcik",
    "city": "Poznań",
    "product": "Monitor 27\"",
    "quantity": "4",
    "unit_price": "57.81",
    "order_date": "2026-03-01",
    "status": "refunded"
  },
  {
    "order_id": "001053",
    "customer": "Alicja Dąbrowski",
    "city": "Lublin",
    "product": "Desk lamp",
    "quantity": "9",
    "unit_price": "110.39",
    "order_date": "2026-04-07",
    "status": "pending"
  },
  {
    "order_id": "001054",
    "customer": "Hanna Kowalski",
    "city": "Wrocław",
    "product": "Notebook A5",
    "quantity": "5",
    "unit_price": "36.16",
    "order_date": "2026-05-11",
    "status": "paid"
  },
  {
    "order_id": "001043",
    "customer": "Franciszek Kamiński",
    "city": "Gdańsk",
    "product": "USB-C cable",
    "quantity": "1",
    "unit_price": "142.78",
    "order_date": "2026-03-19",
    "status": "pending"
  }
]

15 wierszy · 1 plik

Otwórz lub wklej plik CSV, a JSON pojawi się obok opcji i będzie się zmieniał razem z nimi. Domyślnie każdy wiersz staje się obiektem z kluczami w postaci nazw kolumn; tablicę tablic, obiekt z tablicami kolumn albo JSON Lines wybierz wtedy, gdy kod odbierający dane oczekuje takiej struktury. Każda wartość domyślnie pozostaje ciągiem znaków, więc 00731 i 20-cyfrowe identyfikatory trafiają do wyniku dokładnie w tej samej postaci; rozpoznawanie liczb włącz tylko wtedy, gdy kolumna ma stać się liczbami JSON i wartościami true/false. Do plików konfiguracyjnych narzędzie CSV do YAML zapisze te same wiersze jako YAML. Plik jest konwertowany w Twojej przeglądarce i nigdy nie jest wysyłany na serwer.

Jak przekonwertować CSV do JSON

  1. Otwórz plik .csv, .tsv lub .txt, upuść go na narzędzie albo wklej wiersze. Ogranicznik i znacznik BOM dla UTF-8 lub UTF-16 są wykrywane automatycznie; inny ogranicznik lub starsze kodowanie, np. Windows-1250, Windows-1252 czy Shift_JIS, wybierzesz w sekcji Ustawienia importu.
  2. Wybierz Struktura JSON. Podgląd pokazuje pierwsze 200 wierszy dokładnie takiego wyniku, jaki znajdzie się w pobranym pliku.
  3. Ustaw Typy wartości, Puste komórki, zagnieżdżanie i wcięcia, a potem kliknij Pobierz JSON lub Kopiuj.

Aby przekonwertować wiele plików z tymi samymi ustawieniami, wybierz Tryb wsadowy: konwertuj kilka plików i zaznacz je razem: każdy plik zostanie przekonwertowany po kolei, a wyniki pobierzesz jako jeden plik ZIP.

Opcje JSON: obiekty, tablice lub JSON Lines

Tablica obiektów (jeden na wiersz)Jeden obiekt na wiersz, z kluczami z nagłówka: [{"sku": "00731", …}]. Taką strukturę oczekuje większość interfejsów API i kodu JavaScript.
Tablica tablic (najpierw nagłówek)Najpierw wiersz nagłówka, potem każdy wiersz jako lista. Najmniejszy wynik; kolejność kolumn jest zapisana jawnie.
Obiekt z tablicami kolumn{"sku": ["00731", "00732"], …} – wygodne dla bibliotek do wykresów i narzędzi pracujących na ramkach danych.
JSON Lines (jeden obiekt w wierszu)Jeden obiekt JSON w każdym wierszu (JSON Lines), bez otaczającej tablicy. Pasuje do potoków logów, ładowania danych do BigQuery i przetwarzania wiersz po wierszu.
Zachowaj wszystkie wartości jako tekstKażda komórka staje się ciągiem znaków JSON, dokładnie w postaci zapisanej w pliku. To ustawienie domyślne.
Rozpoznawaj liczby i true/falseKolumna staje się liczbami JSON tylko wtedy, gdy każda niepusta wartość jest zwykłą liczbą, która przetrwa konwersję: bez zer wiodących, z najwyżej 15 cyframi znaczącymi, bez przecinka dziesiętnego. Kolumny z true/false stają się wartościami logicznymi. Daty pozostają ciągami znaków.
Puste komórkiZapisz "", null albo pomiń klucz w danym obiekcie.
Zagnieżdżaj nazwy kolumn z kropkamiuser.name i user.email stają się {"user": {"name": …, "email": …}}. Jeśli nazwa jest jednocześnie wartością i rodzicem (user oraz user.name), te kolumny pozostają płaskie, a narzędzie Cię o tym informuje.

Nagłówki, wartości w cudzysłowie i identyfikatory w JSON

  • Przecinki, cudzysłowy ("") i podziały wiersza wewnątrz wartości w cudzysłowie są odczytywane zgodnie z RFC 4180 i zapisywane jako zwykłe sekwencje ucieczki JSON (\n, \").
  • Nazwy nagłówków są używane dokładnie tak, jak je zapisano, łącznie ze spacjami, polskimi znakami i pismami niełacińskimi. Pusty nagłówek staje się Column 3, a powtórzony – name (2), więc żadna wartość nie zostaje nadpisana.
  • Nagłówki takie jak __proto__ czy constructor są zapisywane jako zwykłe klucze.
  • Wiersz z większą liczbą wartości niż nagłówek dostaje dodatkowe klucze Column 4, Column 5…; krótszy wiersz dostaje puste wartości. Nic nie jest pomijane.
  • Wynik z typami nigdy nie zamienia 0012 na 12 ani 19-cyfrowego numeru zamówienia na zaokrągloną liczbę zmiennoprzecinkową: taka kolumna pozostaje tekstem.

Typowe problemy przy konwersji CSV do JSON

  • Wszystko trafia do jednego klucza. Ogranicznik został źle rozpoznany; w ustawieniach importu wybierz przecinek, średnik, tabulator lub kreskę pionową i otwórz plik ponownie.
  • Polskie znaki wyglądają jak é lub podobne. Plik nie jest zapisany w UTF-8. Wybierz jego kodowanie w ustawieniach importu (dla starszych eksportów z polskiego Excela często Windows-1250).
  • Kolumna liczbowa pozostała tekstem. Co najmniej jedna wartość nie jest zwykłą liczbą – np. 1,5, 12 kg albo wartość z zerem wiodącym. Wyszukaj ją w tej kolumnie w przeglądarce CSV.
  • Błąd cudzysłowu wskazuje konkretny rekord. W tym rekordzie otwarto cudzysłów, którego nigdy nie zamknięto. Popraw go w edytorze CSV albo sprawdź eksport z systemu źródłowego.

Limity i prywatność

Pliki do 25 MB, 100 000 wierszy lub 2 mln komórek otwierają się z podglądem na żywo. Większe pliki są konwertowane strumieniowo: plik jest odczytywany dwukrotnie we fragmentach (raz, aby poznać kolumny i typy, i drugi raz, aby zapisać wynik), zamiast podglądu wyświetla się komunikat, a pobrany plik obejmuje wszystkie wiersze. Pojedynczy plik wynikowy może mieć najwyżej 4 GB.

Konwersja odbywa się w tle w tej karcie, więc strona cały czas reaguje, a Anuluj przerywa pracę. Plik CSV nigdy nie jest wysyłany na serwer.

Przykład: lista produktów jako obiekty JSON

Lista produktów z kodem SKU z zerem wiodącym i przecinkiem w cudzysłowie, przekonwertowana z ustawieniami domyślnymi (wszystko jako tekst, tablica obiektów, wcięcie 2 spacji). Po włączeniu opcji Rozpoznawaj liczby i true/false pole price staje się 34.9, a in_stock – true, natomiast sku pozostaje "00731".

CSV
sku,name,price,in_stock
00731,"Desk lamp, brass",34.90,true
00732,Cable tidy,4.50,false
JSON
[
  {
    "sku": "00731",
    "name": "Desk lamp, brass",
    "price": "34.90",
    "in_stock": "true"
  },
  {
    "sku": "00732",
    "name": "Cable tidy",
    "price": "4.50",
    "in_stock": "false"
  }
]

Pytania i odpowiedzi

Dlaczego liczby są domyślnie w cudzysłowie?

Bo CSV nie ma typów: 00731, 1.50 i 2024-03-01 to po prostu tekst. Zachowanie ich jako ciągów znaków gwarantuje, że JSON zawiera dokładnie to, co plik. Rozpoznawanie liczb włącz, gdy wiesz, że kolumna zawiera ilości.

Czy mogę tu przekonwertować JSON z powrotem do CSV?

Jeszcze nie. Ta strona konwertuje wyłącznie CSV i TSV do JSON.

Czy JSON Lines to to samo co NDJSON?

W praktyce tak: oba oznaczają jedną kompletną wartość JSON w każdym wierszu, z wierszami rozdzielonymi znakami nowego wiersza.

Standardy i źródła