CSV в JSON

Вставьте или загрузите CSV-файл и мгновенно получите чистый JSON — заголовки становятся ключами объекта, числа и логические значения определяются автоматически.

Нажмите, чтобы выбрать файл .csv, или перетащите его сюда

Или вставьте текст CSV прямо в поле ниже.

Первая строка — заголовок
Форматировать JSON

Вывод


          

Как это работает

Файлы читаются с помощью API браузера FileReader и разбираются написанным вручную однопроходным парсером, следующим правилам RFC 4180: он проходит по тексту символ за символом, отслеживая, находится ли он внутри поля в кавычках. Именно в этом ошибаются наивные конвертеры, разделяющие по запятым: внутри кавычек запятые и даже переносы строк принадлежат ячейке, а удвоенная кавычка ("") — это буквальный символ кавычки. Автоопределение разделителя прагматично, а не «умно»: оно считает запятые, точки с запятой и табуляции в первой строке и выбирает победителя, что корректно обрабатывает CSV-файлы с разделителем точка с запятой, которые создают европейские экспорты из Excel.

Приведение типов — это то место, куда стоит внимательно посмотреть в результате. Значения, похожие на целые или десятичные числа, становятся числами JSON, а true/false — логическими значениями. Обычно это именно то, что нужно, но это означает, что значения с ведущими нулями, например почтовые индексы или добавочные номера телефонов, выходят как числа: 01234 превращается в 1234. Если столбец является идентификатором, а не количеством, проверьте его после конвертации. Отсутствующие завершающие ячейки в коротких строках становятся пустыми строками, а не приводят к сбою строки.

Разбор, приведение типов и даже скачивание .json (построенное из Blob в памяти) — всё это происходит внутри JavaScript этой страницы. Откройте вкладку Network в DevTools во время конвертации: ни один запрос не передаёт ваши данные, поэтому списки клиентов и экспортированные файлы никогда не покидают ваш компьютер.