Перейти к инструменту
ViewCSV
Без загрузки на сервер

Конвертация CSV в JSON

orders.csv· ПРИМЕР15 строк · 8 столбцов
Типы значений
Тип определяется для каждого столбца и только если ему соответствуют все значения, поэтому коды с ведущими нулями и целые числа больше 9 007 199 254 740 991 остаются текстом.
Столбцы user.name и user.email превращаются в один объект «user» с полями «name» и «email».
[
  {
    "order_id": "001041",
    "customer": "Мария Волков",
    "city": "Санкт-Петербург",
    "product": "Notebook A5",
    "quantity": "5",
    "unit_price": "145.75",
    "order_date": "2026-01-11",
    "status": "pending"
  },
  {
    "order_id": "001042",
    "customer": "Иван Волков",
    "city": "Москва",
    "product": "Desk lamp",
    "quantity": "6",
    "unit_price": "108.80",
    "order_date": "2026-02-13",
    "status": "pending"
  },
  {
    "order_id": "001043",
    "customer": "Наталья Иванов",
    "city": "Самара",
    "product": "Chair, ergonomic",
    "quantity": "7",
    "unit_price": "15.85",
    "order_date": "2026-03-21",
    "status": "refunded"
  },
  {
    "order_id": "001044",
    "customer": "Михаил Кузнецов",
    "city": "Нижний Новгород",
    "product": "Coffee beans 1kg",
    "quantity": "6",
    "unit_price": "85.33",
    "order_date": "2026-04-12",
    "status": "pending"
  },
  {
    "order_id": "001045",
    "customer": "Михаил Морозов",
    "city": "Омск",
    "product": "USB-C cable",
    "quantity": "7",
    "unit_price": "",
    "order_date": "2026-05-04",
    "status": "paid"
  },
  {
    "order_id": "001046",
    "customer": "Иван Морозов",
    "city": "Москва",
    "product": "Desk lamp",
    "quantity": "1",
    "unit_price": "57.41",
    "order_date": "2026-06-18",
    "status": "refunded"
  },
  {
    "order_id": "001047",
    "customer": " Мария Попов ",
    "city": "Новосибирск",
    "product": "USB-C cable",
    "quantity": "7",
    "unit_price": "194.44",
    "order_date": "2026-07-15",
    "status": "shipped"
  },
  {
    "order_id": "001048",
    "customer": "Елена Петров",
    "city": "Новосибирск",
    "product": "USB-C cable",
    "quantity": "4",
    "unit_price": "159.07",
    "order_date": "2026-08-02",
    "status": "refunded"
  },
  {
    "order_id": "001049",
    "customer": "Елена Кузнецов",
    "city": "Омск",
    "product": "USB-C cable",
    "quantity": "3",
    "unit_price": "119.82",
    "order_date": "2026-09-22",
    "status": "paid"
  },
  {
    "order_id": "001050",
    "customer": "Елена Новиков",
    "city": "Санкт-Петербург",
    "product": "Desk lamp",
    "quantity": "8",
    "unit_price": "39.58",
    "order_date": "2026-01-03",
    "status": "shipped"
  },
  {
    "order_id": "001051",
    "customer": "Михаил Фёдоров",
    "city": "Нижний Новгород",
    "product": "Notebook A5",
    "quantity": "8",
    "unit_price": "24.52",
    "order_date": "2026-02-12",
    "status": "paid"
  },
  {
    "order_id": "001052",
    "customer": "Сергей Соколов",
    "city": "Казань",
    "product": "Chair, ergonomic",
    "quantity": "8",
    "unit_price": "75.43",
    "order_date": "2026-03-06",
    "status": "paid"
  },
  {
    "order_id": "001053",
    "customer": "Анна Фёдоров",
    "city": "Нижний Новгород",
    "product": "Notebook A5",
    "quantity": "9",
    "unit_price": "149.13",
    "order_date": "2026-04-10",
    "status": "shipped"
  },
  {
    "order_id": "001054",
    "customer": "Анна Смирнов",
    "city": "Екатеринбург",
    "product": "Notebook A5",
    "quantity": "2",
    "unit_price": "18.09",
    "order_date": "2026-05-20",
    "status": "refunded"
  },
  {
    "order_id": "001043",
    "customer": "Наталья Иванов",
    "city": "Самара",
    "product": "Chair, ergonomic",
    "quantity": "7",
    "unit_price": "15.85",
    "order_date": "2026-03-21",
    "status": "refunded"
  }
]

15 строк · 1 файл

Откройте или вставьте CSV-файл — JSON появится рядом с настройками и будет меняться вместе с ними. По умолчанию каждая строка становится объектом, ключи которого — названия столбцов; если принимающий код ждёт другую структуру, выберите массив массивов, объект с массивами по столбцам или JSON Lines. Все значения по умолчанию остаются строками, поэтому 00731 и 20-значные идентификаторы выходят в точности такими, какими были; распознавание чисел включайте, только когда столбец действительно должен стать числами JSON и значениями true/false. Для файлов конфигурации те же строки в формате YAML запишет CSV в YAML. Файл конвертируется в вашем браузере и никогда не загружается на сервер.

Как преобразовать CSV в JSON

  1. Откройте файл .csv, .tsv или .txt, перетащите его на инструмент или вставьте строки. Разделитель и метка порядка байтов UTF-8 или UTF-16 определяются автоматически; другой разделитель или устаревшую кодировку, например Windows-1251, Windows-1252 или Shift_JIS, выберите в разделе Параметры импорта.
  2. Выберите Структура JSON. В предпросмотре — первые 200 строк ровно того результата, который окажется в скачанном файле.
  3. Задайте Типы значений, Пустые ячейки, вложенность и отступы, затем нажмите Скачать JSON или Копировать.

Чтобы преобразовать много файлов с одинаковыми настройками, выберите Пакетная конвертация нескольких файлов и отметьте их все сразу: файлы конвертируются по очереди, а результаты скачиваются одним ZIP-архивом.

Структура JSON: объекты, массивы или JSON Lines

Массив объектовПо объекту на строку с ключами из заголовка: [{"sku": "00731", …}]. Такую структуру ожидает большинство API и кода на JavaScript.
Массив массивовСначала строка заголовков, затем каждая строка в виде списка. Самый компактный результат; порядок столбцов задан явно.
Объект с массивами по столбцам{"sku": ["00731", "00732"], …} — удобно для библиотек диаграмм и инструментов, работающих с датафреймами.
JSON LinesПо одному объекту JSON в строке (JSON Lines), без внешнего массива. Подходит для конвейеров логов, загрузки в BigQuery и построчной обработки.
Все значения как текстКаждая ячейка становится строкой JSON ровно в том виде, как записана в файле. Это вариант по умолчанию.
Распознавать числа и true/falseСтолбец становится числами JSON, только если каждое непустое значение — простое число, которое переживёт конвертацию: без ведущих нулей, не больше 15 значащих цифр, без десятичной запятой. Столбцы из true/false становятся логическими значениями. Даты остаются строками.
Пустые ячейкиЗаписывать "", null или вовсе не включать ключ в объект.
Вкладывать столбцы с точкой в имениuser.name и user.email превращаются в {"user": {"name": …, "email": …}}. Если имя одновременно является значением и родителем (user и user.name), такие столбцы остаются плоскими, и инструмент об этом сообщает.

Заголовки, значения в кавычках и идентификаторы в JSON

  • Запятые и кавычки ("") внутри значений в кавычках, а также переносы строк читаются по RFC 4180 и записываются обычными escape-последовательностями строк JSON (\n, \").
  • Названия заголовков используются ровно так, как записаны, включая пробелы и кириллицу или другие нелатинские письменности. Пустой заголовок становится Column 3, повторяющийся — name (2), так что ни одно значение не перезаписывается.
  • Заголовки вроде __proto__ или constructor записываются как обычные ключи.
  • Если в строке больше значений, чем в заголовке, появляются дополнительные ключи Column 4, Column 5…; в короткой строке недостающие значения пусты. Ничего не теряется.
  • Типизированный результат никогда не превращает 0012 в 12, а 19-значный номер заказа — в округлённое число с плавающей точкой: такой столбец остаётся текстом.

Частые проблемы при конвертации CSV в JSON

  • Всё попало в один ключ. Разделитель определён неверно: выберите запятую, точку с запятой, табуляцию или вертикальную черту в параметрах импорта и откройте файл заново.
  • Вместо букв «кракозябры» вроде é или ����. Файл не в UTF-8. Выберите его кодировку в параметрах импорта: у старых выгрузок из Excel это часто Windows-1252, а у файлов из русской Windows — Windows-1251.
  • Числовой столбец остался текстом. Хотя бы одно значение не является простым числом — например, 1,5, 12 kg или значение с ведущим нулём. Найдите его поиском по столбцу в просмотре CSV.
  • Ошибка кавычек с номером записи. Кавычка, открытая в этой записи, не закрывается. Исправьте её в редакторе CSV или проверьте выгрузку в исходной системе.

Ограничения и конфиденциальность

Файлы до 25 МБ, 100 000 строк или 2 млн ячеек открываются с живым предпросмотром. Бо́льшие файлы конвертируются в потоковом режиме: файл читается частями дважды (сначала чтобы узнать столбцы и типы, затем чтобы записать результат), вместо предпросмотра показывается уведомление, а скачанный файл содержит все строки. Один выходной файл ограничен 4 ГБ.

Конвертация идёт в фоновом обработчике в этой вкладке, поэтому страница не зависает, а кнопка Отмена её останавливает. CSV никогда не отправляется на сервер.

Пример: список товаров в виде объектов JSON

Список товаров с артикулом, начинающимся с нуля, и запятой в кавычках, преобразованный с настройками по умолчанию (всё как текст, массив объектов, отступ в 2 пробела). С Распознавать числа и true/false price становится 34.9, а in_stock — true, при этом sku остаётся "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"
  }
]

Вопросы и ответы

Почему по умолчанию числа в кавычках?

Потому что в CSV нет типов: 00731, 1.50 и 2024-03-01 — всё это просто текст. Если оставить их строками, JSON гарантированно скажет ровно то, что было в файле. Включайте распознавание чисел, когда точно знаете, что в столбце количества.

Можно ли здесь преобразовать JSON обратно в CSV?

Пока нет. Эта страница преобразует только CSV и TSV в JSON.

JSON Lines — это то же самое, что NDJSON?

На практике да: оба означают одно законченное значение JSON на строку, строки разделены символами перевода строки.

Стандарты и справочные материалы