Конвертер CSV у JSON

Конвертуйте CSV у JSON онлайн — безкоштовно, миттєво та конфіденційно. Ваш файл обробляється безпосередньо у браузері та ніколи не завантажується на сервер.

Розділювач CSV
Результат

Конвертовані файли та попередній перегляд з'являться тут.

Готово. Виберіть табличний файл для конвертації.

Як працює конвертація

  • Перший рядок зчитується як заголовок — його комірки стають назвами полів JSON, а кожен наступний рядок перетворюється на окремий об'єкт.
  • Виберіть роздільник, який відповідає вашим даним — кому, крапку з комою або табуляцію.

Ваш табличний файл конвертується безпосередньо у браузері. Нічого не завантажується на сервери BroBroGo.

Поширені запитання

Як конвертувати CSV у JSON?

Перетягніть файл CSV та натисніть кнопку конвертації — файл JSON буде готовий до завантаження за лічені секунди разом із попереднім переглядом результату. Все працює локально на вашому пристрої.

Файл якого максимального розміру можна конвертувати?

До 8 МБ, 10 000 рядків та 200 стовпців на файл. Більші набори даних краще спочатку розділити на менші файли.

Чому перетворення CSV у JSON складніше, ніж здається

Файли CSV зберігають усі дані як простий текст. JSON підтримує числа, булеві значення, null та вкладені структури. Ця інструментальна сторінка виконує конвертацію табличного файлу в JSON, але робить це без автоматичного перетворення типів. Кожне поле CSV залишається рядком у вихідному JSON — ціна 99,99 не стане числом, а “2024-01-15” не стане датою. Якщо вам потрібні числа або дати, доведеться обробляти їх після завантаження.

Друга принципова річ: CSV — це плоска таблиця, тому його перетворення дає плоский масив плоских об’єктів. Ієрархічний JSON (об’єкти всередині об’єктів) із CSV не створити без додаткових правил, яких цей інструмент не застосовує. Навпаки, зворотна конвертація (JSON → CSV) потребує сплощення вкладених полів, тому вона складніша.

Третій нюанс — роздільник. Ви маєте явно вказати, чи ваш CSV використовує кому, крапку з комою або табуляцію. Для сусідніх сторінок (наприклад, JSON → CSV або Excel → JSON) такого вибору немає.

І нарешті, вбудовані коми та перенесення рядків є крихкими. Правила лапок у CSV не завжди дотримуються, і це часта причина невдалого парсингу, яка трапляється саме тут частіше, ніж при інших перетвореннях форматів.

Як працює інструмент: вхід, налаштування, вихід

На вхід подається один файл. Інструмент автоматично визначає формат — CSV, JSON або XLSX. Але головний сценарій сторінки — саме CSV → JSON, тому решта форматів спочатку інтерпретуються як таблиці.

Користувач обирає вихідний формат (має бути “JSON”) і, якщо вхідний файл CSV, вибирає роздільник: Кома, Крапка з комою або Табуляція.

Після завантаження інструмент показує:

  • попередній перегляд перетворених даних,
  • кількість рядків і стовпців у таблиці,
  • розмір вихідного файлу.

Готовий JSON можна завантажити.

Уся обробка відбувається на стороні клієнта — файли не завантажуються на сервер. Це важливо для конфіденційності: ви можете перетворювати адресні книги, контакти клієнтів або внутрішні логи, не відправляючи їх у хмару.

Обмеження та типові помилки: що може піти не так

Інструмент видає конкретні повідомлення, коли щось не так. Ось усі варіанти з фактшиту:

Умова Повідомлення
CSV не вдається розпарсити (помилки лапок, неоднакова кількість стовпців) “This CSV could not be parsed.”
Файл не містить рядків даних “This file has no table rows.”
Перевищено ліміт рядків або стовпців “This table has more than ‹max› rows.” або “This table has more than ‹max› columns.”
Файл завеликий “This file is too large. Use a file under ‹max›.”
Користувач не вибрав файл “Choose one file first.”
Неправильний тип файлу (не CSV, JSON або XLSX) “Choose a CSV, JSON or XLSX file.”
Конвертація триває надто довго “This conversion is taking too long. Try a smaller file.”

Чому виникають помилки парсингу? CSV — дуже вільний формат. Лапки мають екранувати коми або перенесення рядків всередині поля, але не всі програми дотримуються стандарту RFC 4180. Наприклад, якщо рядок має 4 коми, а наступний — 5, парсер не знає, куди віднести зайве значення. Подвійні лапки всередині поля теж часто ламають розбір.

Робота з роздільниками: кома, крапка з комою чи табуляція?

У CSV “C” означає “comma”, але на практиці роздільником може бути що завгодно. Найпоширеніші варіанти:

  • Кома (,) — стандарт для англомовних систем.
  • Крапка з комою (;) — часто використовується в європейських регіонах, де кома є десятковим роздільником (наприклад, “1,5” означає одна ціла п’ять десятих, тому кому не можна використовувати як роздільник колонок).
  • Табуляція (\t) — зустрічається в експортах із деяких баз даних або старих програм.

Вибір неправильного роздільника приводить до того, що всі дані опиняються в одній колонці або рядки взагалі не розпізнаються.

Вбудовані коми та лапки. Якщо поле містить кому, його потрібно брати в лапки. Наприклад:

Name,City,Note
John,"Paris, France",OK

Без лапок “Paris, France” розіб’ється на два стовпці. Аналогічно з перенесенням рядка всередині поля: воно має бути взяте в лапки, інакше рядок перетвориться на два окремі рядки таблиці.

Інструмент намагається коректно обробляти такі поля, але багато CSV-файлів, створених вручну, не дотримуються правил лапок. Тоді виникає помилка парсингу.

Типізація даних: чому числа та дати залишаються рядками

CSV — текстовий формат без типів. Коли ви пишете “123” у CSV, це рядок “123”, а не число 123. JSON розрізняє рядок "123" і число 123. Інструмент не робить автоматичного перетворення — всі значення з CSV потрапляють у JSON як рядки.

Це важливо в кількох ситуаціях:

  • Провідні нулі. Поштові індекси, коди продуктів, номери телефонів часто мають нулі на початку (наприклад, “00123”). Якби інструмент автоматично перетворив це на число, нулі зникли б, і ви отримали б 123. Але оскільки кожне поле зберігається як рядок, провідні нулі залишаються. Якщо ви потім імпортуєте цей JSON у середовище, яке автоматично типізує (наприклад, JavaScript JSON.parse), нулі можуть зникнути — але в самому файлі JSON вони будуть.

  • Числа. Ціна 99,99 у CSV — це текст “99,99”. Багато країн використовують кому як десятковий роздільник. Інструмент не намагається визначити локаль — він просто передає символ “99,99” як рядок.

  • Дата. “2024-01-15” залишається рядком. Якщо вам потрібно, щоб JSON-парсер інтерпретував його як дату, доведеться перетворювати це вручну.

  • Перенесення рядків у лапках. Якщо CSV-поле містить перенесення рядка в лапках, воно перетворюється на \n у рядковому значенні JSON. Це очікувано, але не завжди зручно.

Межі обробки: рядки, стовпці та розмір файлу

Інструмент має чіткі обмеження на обсяг даних. Точні значення ‹max› у фактшиті не вказані, але відомо, що:

  • Перевищення ліміту рядків: “This table has more than ‹max› rows.”
  • Перевищення ліміту стовпців: “This table has more than ‹max› columns.”
  • Файл завеликий: “This file is too large. Use a file under ‹max›.”

Орієнтовно, для клієнтських інструментів типові обмеження — декілька десятків тисяч рядків і декілька сотень стовпців, а розмір файлу — до 50–100 МБ. Але без точних цифр із документації варто сприймати це як загальну практику.

Якщо конвертація займає надто багато часу, інструмент пропонує спробувати менший файл. Це може статися через величезну кількість рядків або поля дуже великого розміру (наприклад, колонка з довгими текстовими описами).

Кому потрібне це перетворення?

Розробник, який отримує CSV-експорт із бази даних або електронної таблиці й повинен передати дані в JavaScript-застосунок або API, що очікують JSON.

Аналітик даних, який конвертує застарілий CSV-файл адрес (з поштовими індексами з провідними нулями) у JSON, зберігаючи нулі, — без ризику, що автоматичне типізування їх виріже.

Команда, яка ділиться табличними даними між нетехнічним колегою (що працює з Excel/CSV) і технічним стеком, який “розуміє” тільки JSON, — без завантаження чутливої інформації на сервер.

Студент або дослідник, якому потрібно перетворити разовий CSV у структурований формат для програмувального завдання.

Будь-хто, хто готує просту таблицю продуктів, контактів або логів для використання у веб-інструменті, що читає JSON.

Поширені запитання (FAQ)

1. Чи можу я перетворити CSV, де поля містять коми? Так, якщо такі поля взяті в лапки. Наприклад: "Місто, область". Якщо лапок немає, інструмент може неправильно розпарсити файл і показати помилку.

2. Чи зберігаються поштові індекси з нулями на початку? Так. Оскільки всі значення залишаються рядками, провідні нулі не втрачаються. У JSON ви побачите "postal_code": "00123". Але якщо ви потім завантажите цей JSON у програму, яка автоматично перетворює рядки на числа, нулі можуть зникнути — це вже залежить від цієї програми, а не від інструмента.

3. Чому мій JSON має всі значення рядками, навіть числа? Тому що CSV не має типів даних. Інструмент не робить припущень про те, чи має поле бути числом. Якщо вам потрібні числа або дати, доведеться перетворити рядки після завантаження, наприклад, за допомогою parseInt() або new Date() у вашому коді.

4. Яка максимальна кількість рядків чи стовпців? Інструмент повідомляє про перевищення ліміту: “This table has more than ‹max› rows.” або “This table has more than ‹max› columns.” Точні числа залежать від реалізації, але орієнтовно — десятки тисяч рядків і сотні стовпців.

5. Чи безпечно завантажувати конфіденційні дані? Так. Уся обробка відбувається на вашому пристрої, файли не надсилаються на сервер. Тому ви можете безпечно конвертувати списки клієнтів або фінансові дані.

6. Що робити, якщо інструмент показує “This CSV could not be parsed.”? Перевірте, чи правильно вибрано роздільник. Спробуйте відкрити файл у текстовому редакторі та подивитися, чи скрізь однакова кількість стовпців. Якщо є поля з лапками в середині або перенесеннями рядків без лапок, виправте їх у CSV. Також переконайтеся, що файл не містить символів BOM або невірних кодувань — інструмент може їх не коректно обробляти.