Конвертер из JSON в CSV

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

Разделитель CSV
Результат

Сконвертированные файлы и предпросмотр появятся здесь.

Готово. Выберите файл таблицы для конвертации.

Как работает конвертация

  • Массив объектов преобразуется в строки и столбцы; вложенные объекты преобразуются в плоскую структуру со столбцами вида address.city.
  • Выберите разделитель, соответствующий вашим данным — запятую, точку с запятой или табуляцию.

Конвертация таблицы выполняется прямо в вашем браузере. Данные не отправляются на серверы BroBroGo.

Часто задаваемые вопросы

Как конвертировать JSON в CSV?

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

Файлы какого размера можно конвертировать?

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

Что делает этот инструмент и чем он отличается

Загрузите JSON-файл (или перетащите его мышью), выберите разделитель для выходного CSV (запятую, точку с запятой или табуляцию), просмотрите предварительную таблицу и скачайте результат. Всё происходит в вашем браузере — ни один байт не покидает вашу машину. Но ключевое отличие от обратных конвертаций (CSV → Excel или Excel → JSON) в том, что здесь вы сплющиваете иерархический, типизированный формат данных в плоскую, нетипизированную таблицу.

JSON поддерживает объекты, массивы, числа, логические значения (true/false) и null в любой вложенности. CSV не имеет типов, не умеет вкладывать структуры и не знает, что такое листы. При конвертации теряется вся информация о типах, вложенная структура и форматирование. Чтобы представить вложенный JSON-объект в плоском CSV, инструмент использует dot‑path‑нотацию (путь через точку): например, ключ address.city означает, что в исходном JSON был объект address с полем city. Массивы объектов превращаются в строки таблицы; массивы массивов остаются строками. Поскольку CSV использует разделители, запятые и переводы строк внутри значений должны быть экранированы кавычками — инструмент делает это автоматически.

Как JSON превращается в CSV: метод плоского представления

JSON должен быть «таблицеобразным» — массивом объектов или массивом массивов. Если переданный файл невалиден или не является таковым, вы увидите ошибку: «This JSON is invalid or not table‑shaped.»

  • Массив объектов. Каждый объект становится строкой, ключи объектов — столбцами. Для вложенных объектов ключи склеиваются через точку. Например:

    [
      { "name": "Иван", "address": { "city": "Москва", "zip": 123456 } },
      { "name": "Мария", "address": { "city": "Санкт-Петербург", "zip": 190000 } }
    ]
    

    Преобразуется в CSV со столбцами name, address.city, address.zip и двумя строками. Вложенные ключи могут быть любой глубины — каждый уровень добавляет точку.

  • Массив массивов. Каждый внутренний массив становится строкой, элементы — столбцами. Ключей объектов нет, поэтому заголовок не генерируется. Такой вариант реже встречается, но полезен, когда данные уже представляют собой плоскую таблицу в JSON.

Все значения сохраняют свои типы: числа, логические значения и даты остаются таковыми, а не преобразуются в строки. null становится пустой ячейкой. Если в JSON была строка с запятой, переводом строки или двойной кавычкой, инструмент автоматически заключает её в двойные кавычки и экранирует внутренние кавычки удвоением (согласно правилам цитирования CSV). Ведущие нули в числах теряются, если они представлены в JSON как число (например, 0123 становится 123), так как JSON-числа не сохраняют ведущие нули. Чтобы сохранить ведущие нули, исходные данные должны быть строками, а не числами.

Разделители и почему они важны

Пользователь выбирает один из трёх разделителей: запятая (,), точка с запятой (;) или табуляция (\t). Этот выбор напрямую влияет на совместимость CSV с целевым приложением. В англоязычных странах стандартом де-факто является запятая (RFC 4180), но в Европе и многих других регионах запятая используется как десятичный разделитель чисел, поэтому для CSV применяют точку с запятой, чтобы не путать её с разделителем полей. Табуляция часто нужна при импорте в старые базы данных или системы, которые не поддерживают экранирование запятых.

Инструмент обрабатывает цитирование согласно выбранному разделителю. Например, при выборе запятой значение "Hello, world" будет записано как "Hello, world". При выборе точки с запятой — то же самое, поскольку в значении нет точки с запятой. Но если бы значение содержало точку с запятой, оно также было бы заключено в кавычки. От выбора разделителя не зависит логика сплющивания вложенности — dot‑пути остаются одинаковыми.

Ограничения и потеря данных при конвертации

Конвертация JSON → CSV — это потерянная трансформация. Вы никогда не сможете восстановить исходный JSON из CSV без потери информации, если только не знаете изначальную схему и не преобразуете строки обратно в числа/логические значения программно. Вот что теряется безвозвратно:

  • Вложенная структура. Вместо иерархии объектов появляются плоские ключи. Восстановить исходную глубину вложенность без дополнительной информации невозможно.
  • Пустые значения. В JSON null и отсутствие ключа — разные вещи. В CSV отсутствующее значение часто представляется пустой ячейкой, и различие теряется.
  • Ведущие нули. Как уже сказано, числовые значения с ведущими нулями (например, почтовые индексы, коды) могут быть потеряны, если они представлены в JSON как числа. Если они строки — сохранятся.

Кроме того, инструмент накладывает практические ограничения:

  • Размер файла. Файл должен быть не более 8 МБ. Если файл превышает максимальный допустимый размер, появится ошибка: «This file is too large. Use a file under 8 MB.»
  • Количество строк/столбцов. Таблица может содержать не более 10 000 строк и 200 столбцов. При превышении лимита строк или столбцов выводятся сообщения: «This table has more than ‹max› rows.» или «This table has more than ‹max› columns.»
  • Тайм-аут. Если конвертация занимает слишком много времени (более 12 секунд), показывается: «Конвертация занимает слишком много времени. Попробуйте использовать файл меньшего размера.»

Все эти ограничения существуют, потому что обработка идёт в браузере с ограниченными ресурсами. Никакие данные не отправляются на сервер — это принципиальное свойство инструмента.

Ошибки и как их избежать

Кроме уже упомянутых, возможны следующие сообщения об ошибках:

Сообщение Причина Решение
«Choose a CSV, JSON or XLSX file.» Выбран файл неподдерживаемого формата (например,.txt) Убедитесь, что расширение файла —.json
«This file is too large. Use a file under 8 MB.» Файл превышает 8 МБ Используйте файл меньшего размера
«Choose a different output format.» Выбранный формат вывода не CSV Проверьте выпадающий список формата вывода
«This JSON is invalid or not table‑shaped.» JSON невалиден или не имеет табличной формы Проверьте JSON на валидность, убедитесь, что это массив объектов или массив массивов
«В этом файле нет строк таблицы.» Файл не содержит строк таблицы Убедитесь, что JSON содержит данные
«Conversion cancelled.» Конвертация отменена Просто начните заново
«Could not convert this file.» Не удалось конвертировать файл Проверьте JSON на валидность, убедитесь, что это массив объектов или массив массивов
«Конвертация занимает слишком много времени. Попробуйте использовать файл меньшего размера.» Конвертация занимает слишком много времени Используйте файл меньшего размера

Чтобы минимизировать ошибки:

  • Перед загрузкой проверьте JSON с помощью любого валидатора. Убедитесь, что корневой элемент — массив, а не объект (если объект один, он конвертируется в таблицу из одной строки).
  • Все объекты в массиве должны иметь одинаковый набор ключей (для однородности таблицы). Если ключи различаются, некоторые ячейки останутся пустыми.
  • Избегайте вложенности глубже, чем это необходимо. Если возможно, упростите структуру на стороне источника.
  • Если вам нужно сохранить ведущие нули в числах, рассмотрите возможность конвертации в JSON, где числа уже явно записаны как строки (в кавычках).

Кому нужна такая конвертация и сценарии использования

  • Разработчики получают данные из API в формате JSON (например, список пользователей, заказов) и хотят быстро открыть их в Excel или Google Sheets для просмотра или передачи аналитику.
  • Аналитики данных загружают плоские таблицы из NoSQL-хранилищ и нуждаются в CSV для построения отчётов. Dot‑пути помогают понять, какие поля были вложенными.
  • Специалисты по безопасности и приватности выбирают этот инструмент, потому что все операции выполняются локально. Данные не покидают локальную сеть — это критично для работы с чувствительной информацией (медицина, финансы).
  • Интеграторы используют быструю конвертацию в браузере при прототипировании ETL-пайплайнов: не нужно писать скрипты или устанавливать библиотеки, достаточно открыть страницу и скачать результат.

Часто задаваемые вопросы

Почему после конвертации числа теряют ведущие нули?
JSON-числа не могут иметь ведущих нулей. Если исходное значение "0123" (строка), оно остаётся 0123. Если это 0123 как числовой литерал, JSON-парсеры обрабатывают его как число 123, и инструмент выводит 123. Храните такие значения как строки в JSON, если вам нужен ноль.

Можно ли конвертировать глубоко вложенный JSON-объект?
Да. Вложенные объекты внутри каждого элемента массива сплющиваются с использованием dot‑path‑нотации (например, a.b.c), а один объект верхнего уровня преобразуется в таблицу из одной строки. Если нужная вам таблица находится глубоко внутри более крупной структуры, сначала извлеките этот массив — иначе он попадёт в одну ячейку как JSON-текст.

Что происходит, если мой JSON содержит один объект вместо массива?
Он преобразуется в таблицу из одной строки: каждый ключ верхнего уровня становится столбцом. Заключение объекта в массив ([{...}]) даёт тот же результат.

Почему в моём CSV-выводе некоторые значения заключены в кавычки?
Цитирование CSV является обязательным, если поле содержит разделитель, двойную кавычку или перевод строки. Инструмент автоматически применяет цитирование RFC 4180. Двойные кавычки внутри значения удваиваются (например, He said "Hello" становится "He said ""Hello""").

Поддерживает ли инструмент очень большие JSON-файлы?
Лимит составляет 8 МБ; файлы большего размера отклоняются с ошибкой «This file is too large. Use a file under 8 MB.» Таблицы также ограничены 10 000 строк и 200 столбцами, а конвертация, занимающая более 12 секунд, останавливается с сообщением «Конвертация занимает слишком много времени. Попробуйте использовать файл меньшего размера.»

Безопасны ли мои данные при использовании этого инструмента?
Да. Вся обработка происходит в вашем браузере. Никакие данные никуда не загружаются. Вы можете убедиться в этом, наблюдая за вкладкой сети — во время конвертации не должно быть исходящих запросов.