Skip to content

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

Конвертируйте JSON в CSV в браузере. Пресеты RFC 4180, Excel-EU, TSV, Pipe. Flatten или Stringify. 100% приватно, без загрузки.

Без отслеживания Работает в браузере Бесплатно
Пресет
Настройки · , · auto · LF · header · no BOM · flatten
Разделитель
Выводить заголовок
Кавычки
Окончание строк
UTF-8 BOM
Вложенные
0 симв. 0 строк
Вывод CSV
0 строк · 0 кол.
Проверено на соответствие RFC 4180, обработку локали Excel-EU, авто-определение NDJSON и сохранение точности больших целых — Команда инженеров Go-Tools · May 8, 2026

Что такое CSV и зачем конвертировать из JSON?

CSV (значения, разделённые запятыми) — старейший и самый широко поддерживаемый табличный формат данных в вычислительной технике: каждое табличное приложение, каждая база данных, каждый аналитический инструмент и большинство языков программирования имеют первоклассную поддержку CSV. JSON, напротив, — универсальный формат для ответов API, конфигурации и обмена структурированными данными. Конвертация между ними — одна из самых частых рутинных задач в data engineering: вы получаете JSON от API или NoSQL-базы, а нужно загрузить CSV в Excel для анализа, в таблицу Postgres через COPY или в хранилище BigQuery / Snowflake. Этот инструмент сделан под этот путь конвертации и обрабатывает четыре сценария, которые большинство онлайн-конвертеров портят.

Четыре важных отличия этого инструмента от типичных онлайн-конвертеров:

**1. Парсер RFC 4180 на конечном автомате.** CSV выглядит просто, но правила экранирования тонкие: поле в двойных кавычках может содержать запятые, вложенные переносы строк и экранированные двойные кавычки (удвоением, как ""). Наивные парсеры split-by-comma ломаются на реальных данных — адресах с запятыми, многострочных текстовых полях и значениях в кавычках с кавычками внутри. Этот инструмент реализует полноценный парсер на конечном автомате по RFC 4180 (спецификация IETF для CSV), корректно обрабатывая поля в кавычках, вложенные разделители, вложенные окончания строк и экранированные кавычки в обе стороны. Вывод обратим через модуль csv в Python, PostgreSQL COPY, AWS S3 SELECT и любой совместимый парсер.

**2. Flatten — односторонний, Stringify — обратимый.** Вложенный JSON принципиально несовместим с плоской табличной формой CSV, и большинство конвертеров молча портят данные, наткнувшись на вложенный объект или массив. Этот инструмент даёт явный выбор: режим Flatten выдаёт ключи через точку (customer.address.city) и индексированные ключи (items.0.sku) для самой чистой табличной раскладки — читаемо в Excel, но с потерями для round-trip. Режим Stringify сохраняет массивы и объекты как JSON внутри одной ячейки — менее красиво, но полностью обратимо: CSV → JSON → CSV даёт идентичные данные при включённом Infer types на обратном пути. Выбирайте по цели: анализ в Excel (Flatten) или round-trip конвейера (Stringify).

**3. Обнаружение больших целых.** Тип Number в JavaScript использует IEEE 754 double-precision и молча округляет целые выше 2^53 - 1 (9007199254740991). Это бьёт по реальному JSON: snowflake-ID Twitter, ID Discord, поля Long в MongoDB и resourceVersion Kubernetes — все 64-битные целые, выходящие за безопасный диапазон. Большинство браузерных JSON-инструментов молча выдаёт неверные числа без предупреждения. Этот инструмент находит большие целые при разборе, показывает баннер с перечнем затронутых полей и сохраняет исходные цифры как строки в выходном CSV, чтобы Excel и Google Sheets не обрезали их до научной нотации.

**4. 100% приватность в браузере.** Ваши JSON-данные — часто содержат PII пользователей, внутренние дампы БД, API-ключи во вложениях и production-секреты — никогда не покидают браузер. Никакие данные не отправляются на сервер, не логируются, нет аналитики, перехватывающей ввод. Это можно проверить через вкладку Network браузера. Это единственный безопасный способ обработки чувствительных данных в онлайн-инструменте. Посмотрите обратное направление через «Поменять направление» или используйте парный конвертер JSON в YAML, когда ваша цель — YAML. Нужно проверить JSON перед конвертацией? Попробуйте наш форматировщик JSON.

Сильные стороны CSV — универсальность и простота: каждый инструмент его читает, парсеры маленькие, формат человекочитаем в любом текстовом редакторе. Слабые — отсутствие информации о типах (всё строка, пока вы не скажете парсеру обратное), нет нативной поддержки вложенных структур и локально-зависимые особенности (точки с запятой в Excel-EU, Windows CRLF против Unix LF). Сильные стороны JSON — ровно противоположны: точные типы, нативная вложенность и строгая спецификация, парсящаяся одинаково везде. Правильный инструмент зависит от потребителя: человек читает таблицу — CSV, машина потребляет API — JSON. Этот конвертер обеспечивает мост в обоих направлениях.

// Input JSON
[
  { "id": 1, "name": "Alice", "role": "admin" },
  { "id": 2, "name": "Bob", "role": "editor" }
]

// Output CSV (RFC 4180 preset: comma + CRLF + no BOM)
id,name,role
1,Alice,admin
2,Bob,editor

// Same input with Stringify mode + nested data
[
  { "id": 1, "tags": ["a", "b"] }
]

// Becomes
id,tags
1,"[""a"",""b""]"

Ключевые возможности

Соответствие RFC 4180

Строгий парсер на конечном автомате по спецификации CSV от IETF: корректная обработка полей в кавычках, вложенных разделителей, вложенных CR/LF и экранированных двойных кавычек (удвоением). Вывод чисто проходит round-trip через Python csv, PostgreSQL COPY и AWS S3 SELECT.

Пресеты Excel, TSV и Pipe

Пресеты в один клик для четырёх самых частых целей: RFC 4180 (запятая + CRLF), Excel (точка с запятой + CRLF + UTF-8 BOM для EU-локалей), TSV (Tab + LF) и Pipe (| + LF). Переключайтесь между форматами без ручной правки пяти отдельных параметров.

Flatten или Stringify для вложенных

Явная обработка вложенных: Flatten выдаёт ключи через точку (customer.address.city) для чистого анализа в таблице, Stringify сохраняет массивы и объекты как JSON в одной ячейке для round-trip без потерь. Выбирайте по тому, нужен ли анализ в Excel или round-trip конвейера.

Обнаружение больших целых

Целые выше 2^53 находятся при разборе и сохраняются как строки в CSV — ID Twitter, snowflake Discord, поля Long в MongoDB и resourceVersion в K8s остаются точными вместо молчаливого округления типом Number IEEE 754 в JavaScript.

Авто-определение NDJSON

JSON со строчным разделителем (.ndjson, .jsonl) определяется автоматически — вставляйте потоковые журналы, экспорты событий API или вывод data lake напрямую, не оборачивая вручную в массив. Каждая строка становится строкой CSV.

Двунаправленность через Swap

Одна кнопка «Поменять направление» переворачивает конвертацию на месте: вход становится CSV, вывод — JSON, текущий текст сохраняется. Прогоняйте данные round-trip в обе стороны, чтобы проверить конвертацию без потерь перед отправкой в конвейер.

Примеры

Ответ REST API

[{"id":1,"name":"Alice Chen","email":"alice@example.com","role":"admin"},{"id":2,"name":"Bob Garcia","email":"bob@example.com","role":"editor"},{"id":3,"name":"Carol Singh","email":"carol@example.com","role":"viewer"},{"id":4,"name":"Dan Müller","email":"dan@example.com","role":"viewer"}]

Типичный вывод API. С включённым заголовком получаете аккуратный табличный CSV, готовый для Excel.

GitHub Issues API

[{"id":1001,"title":"Bug: login redirects to 404","state":"open","labels":["bug","priority:high"],"user":{"login":"alice"}},{"id":1002,"title":"Feature: dark mode toggle","state":"open","labels":["enhancement"],"user":{"login":"bob"}},{"id":1003,"title":"Docs: update README","state":"closed","labels":["docs","good-first-issue"],"user":{"login":"carol"}}]

Получено из /repos/{owner}/{repo}/issues. Flatten включён, заголовок включён — user.login раскрывается отдельной колонкой.

MongoDB mongoexport

[{"_id":{"$oid":"6634a1b2c3d4e5f600000001"},"email":"alice@example.com","metadata":{"signupDate":"2026-01-15T10:30:00Z","preferences":{"newsletter":true,"theme":"dark"}}},{"_id":{"$oid":"6634a1b2c3d4e5f600000002"},"email":"bob@example.com","metadata":{"signupDate":"2026-02-20T14:15:00Z","preferences":{"newsletter":false,"theme":"light"}}}]

Форма экспорта MongoDB. Выбирайте режим Stringify, если планируете round-trip CSV→JSON.

Журнал событий NDJSON

{"event":"signup","user":"alice","ts":1715000000}
{"event":"login","user":"alice","ts":1715000060}
{"event":"checkout","user":"alice","ts":1715000300}

JSON с разделителями строк (.ndjson/.jsonl) определяется автоматически — вставьте содержимое файла напрямую.

Вложенные заказы e-commerce

[{"id":"ord-001","customer":{"name":"Alice Chen","email":"alice@example.com","address":{"city":"Seattle","country":"US"}},"items":[{"sku":"SKU-100","qty":2},{"sku":"SKU-205","qty":1}]},{"id":"ord-002","customer":{"name":"Bob Garcia","email":"bob@example.com","address":{"city":"Madrid","country":"ES"}},"items":[{"sku":"SKU-100","qty":1}]}]

Режим Flatten выдаёт ключи через точку (customer.address.city, items.0.sku). Переключайтесь на Stringify, чтобы массивы и объекты сохранились как JSON в одной ячейке.

Результаты тестов Postman

[{"name":"GET /users returns 200","status":"pass","duration":142},{"name":"POST /users creates record","status":"pass","duration":287},{"name":"GET /users/999 returns 404","status":"fail","duration":98,"error":"Expected 404, got 500"},{"name":"DELETE /users/1 returns 204","status":"pass","duration":156}]

Экспорт тестов Postman/Newman. Строки разной формы (некоторые с error) дополняются пустыми ячейками — появится предупреждение Schema notes.

Как использовать

  1. 1

    Вставьте JSON

    Введите или вставьте JSON в поле ввода выше. Инструмент принимает массивы объектов, одиночные объекты и NDJSON (JSON со строчным разделителем) — определяется автоматически. Можно нажать «Загрузить пример», чтобы попробовать на образце — ответе REST API, экспорте MongoDB или журнале событий NDJSON.

  2. 2

    Выберите пресет (или настройте параметры)

    Нажмите RFC 4180 (по умолчанию), Excel (точка с запятой EU + BOM), TSV (Tab) или Pipe, чтобы настроить целевой формат одним кликом. Откройте панель «Настройки» для тонкой регулировки: разделитель, заголовок, кавычки (Auto/Always), окончание строк (LF/CRLF), BOM и вложенные (Flatten/Stringify).

  3. 3

    Скопируйте или скачайте CSV

    Нажмите «Скопировать», чтобы поместить CSV в буфер обмена, или «Скачать», чтобы сохранить как .csv (.tsv при пресете TSV) для Excel, Google Sheets, PostgreSQL COPY или любого data-конвейера. Для round-trip нажмите «Поменять направление», чтобы преобразовать CSV обратно в JSON на месте.

Типичные ловушки конвертации

Верхнеуровневое значение — примитив

CSV принципиально табличный — это строки полей. Одиночное число, строка или булево не имеют структуры строк/колонок для проекции. Верхнеуровневое значение JSON должно быть объектом (таблица из одной строки) или массивом (многострочная таблица). Сначала оберните примитив в объект или массив.

✗ Неверно
42
✓ Верно
[{"value": 42}]

Массив со строками разной формы (разные ключи)

Когда строки в JSON-массиве имеют разные ключи (у одних есть поле error, у других нет), инструмент объединяет все ключи по всем строкам и заполняет отсутствующие ячейки пустыми значениями. Появляется предупреждение Schema notes — вы знаете, что колонки слиты. Обычно это нормально, но проверьте вывод, если внешние инструменты ждут строгую схему.

✗ Неверно
[
  {"name": "GET /users", "status": "pass"},
  {"name": "GET /users/999", "status": "fail", "error": "500"}
]
✓ Верно
// Output CSV (note empty cell in row 1)
name,status,error
GET /users,pass,
GET /users/999,fail,500

Большое целое обрезается Excel

Snowflake-ID Twitter, ID Discord и другие 64-битные целые превышают безопасный диапазон JavaScript (2^53 - 1) и теряют точность при чтении через JSON.parse(). Даже если CSV сохранит цифры, Excel по умолчанию покажет их в научной нотации. Решение в двух частях: храните ID как строки в JSON перед конвертацией и включайте BOM (или используйте пресет Excel), чтобы Excel сохранил ячейку как текст.

✗ Неверно
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Верно
{"id": "9007199254740993"}
// CSV preserves the string; Excel displays exactly

Запятая внутри поля без кавычек

Если вы строите CSV вручную через наивный join(','), любое поле с запятой (Smith, Jr. или 1,234.56) сломает границы колонок — парсер увидит лишние колонки, где должна быть одна. Режим Auto-кавычек этого инструмента следует RFC 4180 и автоматически оборачивает в двойные кавычки любое поле, содержащее разделитель, двойную кавычку, CR или LF.

✗ Неверно
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Верно
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

Файл Excel-EU нечитаем как CSV с запятыми

Европейские локали Excel (Германия, Франция, Испания, Италия и др.) резервируют запятую под десятичный разделитель и используют точку с запятой как разделитель полей. Стандартный CSV с запятыми открывается с каждой строкой, схлопнутой в колонку A. Решение — пресет Excel: переключение на ; + CRLF + UTF-8 BOM, чтобы Excel корректно разобрал файл в любой локали.

✗ Неверно
id,name,price
1,Alice,1,234.56
// Excel-EU mis-parses 1,234.56 as two columns
✓ Верно
// Excel preset output: ; + CRLF + BOM
id;name;price
1;Alice;1234,56
// Excel-EU reads cleanly with comma decimal

NDJSON не определён (форма ввода)

Авто-определение NDJSON требует одного корректного значения JSON на строку, без ведущих и концевых квадратных скобок массива. Если вы вставляете JSON-массив массивов или у файла есть ведущая [ и концевая ], инструмент трактует это как одно JSON-значение, а не NDJSON. Уберите оборачивающие скобки и убедитесь, что каждая строка — самодостаточный JSON-объект.

✗ Неверно
[
  {"event": "signup"},
  {"event": "login"}
]
// Detected as a regular JSON array (works, but not NDJSON path)
✓ Верно
{"event": "signup"}
{"event": "login"}
// Each line is one JSON value — auto-detected as NDJSON

Типичные сценарии

Ответ API в таблицу
Вставьте ответ REST API (массив объектов user/order/event) и получите аккуратный табличный CSV, готовый для Excel, Google Sheets или Numbers. Самый частый сценарий — аналитикам и PM нужны данные в табличной форме, инженеры отдают JSON с бэкенда.
Экспорт MongoDB в data warehouse
Преобразуйте JSON-вывод mongoexport (с обёртками $oid и вложенными metadata-документами) в CSV для загрузки в BigQuery, Snowflake или Redshift. Режим Stringify сохраняет вложенную форму без потерь, когда внешние инструменты поддерживают JSON-в-ячейке.
Триаж GitHub Issues
Получите issues из /repos/{owner}/{repo}/issues, вставьте JSON и получите плоский CSV с колонками id, title, state, labels и user.login. Перетащите в Sheets, чтобы фильтровать, сортировать и распределять во время планирования спринта.
Просмотр журнала событий NDJSON
Потоковые журналы из Cloud Logging, Datadog, Vector или собственного конвейера часто приходят как NDJSON (.ndjson, .jsonl). Вставьте содержимое файла напрямую — определится автоматически — и получите CSV для ad-hoc анализа без подъёма реального ETL-конвейера.
Извлечение заказов e-commerce
Преобразуйте вложенный JSON заказов (customer.address.city, массив items) в плоский CSV для финансов, фулфилмента или fraud-обзора. Режим Flatten выдаёт по одной колонке на листовое поле, готовое для загрузки в Excel под ad-hoc отчётность.
Отчёт о тестах Postman/Newman
Экспорты тестов Postman содержат строки разной формы (некоторые с необязательным полем error). Вставьте JSON, получите CSV с объединением всех ключей и заполненными пустыми ячейками — идеально для шаринга отчётов по упавшим тестам с не-инженерами в Sheets.

Технические детали

Парсер RFC 4180 на конечном автомате
Оба направления используют полноценный парсер на конечном автомате по RFC 4180. Состояния — UnquotedField, QuotedField, AfterQuote, RowEnd и EndOfInput. Парсер корректно обрабатывает поля в кавычках с разделителем внутри, вложенные CR/LF в полях в кавычках, экранированные двойные кавычки (удвоением, как "") и концевые переносы строк. На выходе — round-trip без потерь через модуль csv в Python, PostgreSQL COPY, AWS S3 SELECT и любой совместимый парсер.
Алгоритм обнаружения больших целых
Перед прогоном JSON через JSON.parse() (который молча округлил бы большие целые через IEEE 754) инструмент сканирует исходный текст JSON регуляркой в поисках целочисленных литералов вне безопасного диапазона (-2^53+1 до 2^53-1). При обнаружении затронутые пути полей записываются, и под выводом появляется баннер Big-integer warning. Затем CSV-писатель сохраняет эти значения как строки, обеспечивая точное совпадение через Excel, Google Sheets и любого внешнего потребителя, понимающего текст.
BOM и кодировка UTF-8 для Excel
Весь ввод и вывод — UTF-8. Необязательный UTF-8 BOM (0xEF 0xBB 0xBF) добавляется в начало вывода, когда переключатель BOM включён или выбран пресет Excel. Excel в Windows использует BOM, чтобы определить кодировку UTF-8 — без него Excel откатывается к системной локали (Windows-1252 в США, Windows-1251 в России и т. д.) и портит не-ASCII символы. Современные парсеры (Python csv, Pandas, jq, PostgreSQL) обычно не нуждаются в BOM и могут включить его как лишний символ в начале первой ячейки, поэтому для не-Excel конвейеров оставляйте BOM выключенным.

Лучшие практики

Сначала пресет, потом тонкая настройка
Пресеты RFC 4180, Excel, TSV и Pipe настраивают пять параметров за раз (разделитель, окончание строк, режим кавычек, BOM, заголовок). Сначала выберите ближайший пресет, затем при необходимости подстройте отдельные параметры — это убережёт от частой ошибки переключить один параметр и забыть другой (например, перейти на точку с запятой, но оставить LF, что Excel-EU в Windows всё равно неверно разберёт).
Flatten для анализа, Stringify для round-trip
Используйте Flatten, когда цель — Excel, Sheets или одноразовый анализ: ключи через точку дают самую чистую табличную раскладку. Используйте Stringify, когда нужен round-trip CSV → JSON → CSV без потерь: массивы и объекты выживают как JSON внутри одной ячейки. Сменить режим и перезапустить дёшево; выбирайте под потребителя.
BOM — только для Excel
UTF-8 BOM нужен Excel в Windows, чтобы корректно определить кодировку. Любой другой парсер (Python csv, Pandas, jq, PostgreSQL COPY, BigQuery) либо игнорирует BOM, либо включает его как лишний символ в начале первой ячейки, ломая имена колонок. Для конвейеров оставляйте BOM выключенным и включайте (или используйте пресет Excel) только когда цель — Excel.
Большие ID — строками в JSON
Snowflake-ID Twitter, ID Discord, поля Long в MongoDB и resourceVersion в K8s — это 64-битные целые, превышающие безопасный диапазон JavaScript (2^53 - 1). Храните их как JSON-строки ("id": "9007199254740993") перед конвертацией — CSV сохранит цифры точно, тогда как числовой литерал JSON.parse() молча округлит.
Проверяйте форму строк перед загрузкой
Строки разной формы (у одних объектов есть ключи, у других нет) сливаются с пустыми ячейками в выводе, и инструмент показывает предупреждение Schema notes. Для потребителей со строгой схемой (BigQuery, Redshift COPY) проверьте, что все строки имеют одинаковый набор ключей перед экспортом — или явно обработайте пропуски в конвейере. Используйте наш форматировщик JSON, чтобы сначала изучить форму ввода.

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

Что делает этот инструмент?
Он конвертирует JSON в CSV прямо в браузере с двусторонней поддержкой: нажмите «Поменять направление», чтобы преобразовать CSV обратно в JSON в той же панели. Вставьте JSON в поле ввода — инструмент мгновенно выдаст CSV: без загрузки, без регистрации, ничего не покидает ваше устройство. Вывод соответствует выбранному пресету (RFC 4180, Excel, TSV или Pipe), так что его можно вставить прямо в Excel, Google Sheets, команду COPY базы данных или любой data-конвейер. Инструмент обрабатывает плоские массивы объектов, вложенные структуры (через режим Flatten или Stringify), вход NDJSON со строчным разделителем и большие целые числа, которые в табличных приложениях иначе теряют точность.
Загружаются ли мои данные куда-либо?
Нет. Вся конвертация происходит на 100% в браузере на JavaScript. Ваши JSON-данные не передаются по сети, не сохраняются на сервере, не логируются и не анализируются. Это делает инструмент безопасным для ответов API с PII, внутренних дампов БД, экспортов MongoDB и любых чувствительных данных. Это можно проверить через вкладку Network браузера — вставка JSON не вызывает ни одного сетевого запроса. Инструмент не использует cookie для ваших данных и стороннюю аналитику, которая могла бы перехватить введённое.
В чём разница между режимами Flatten и Stringify?
Режим Flatten выдаёт ключи через точку для вложенных объектов и индексированные ключи для вложенных массивов (customer.address.city, items.0.sku), так что каждое листовое значение оказывается в своей колонке. Это самая удобная для чтения раскладка для анализа в Excel или BigQuery, но она с потерями для round-trip, поскольку структуру с точечными ключами невозможно безупречно восстановить. Режим Stringify сохраняет массивы и объекты как JSON внутри одной ячейки ({"name":"Alice","city":"Seattle"}) — менее красиво в таблице, но полностью обратимо: CSV → JSON → CSV даёт идентичные данные. Выбирайте Flatten для анализа, Stringify — для безопасного round-trip. Выберите до конвертации; смена в процессе перезапустит конвертацию текущего ввода.
Как обрабатываются большие целые, например ID Twitter или ключи Snowflake?
Большие целые (выше 2^53 - 1, или 9007199254740991) определяются при разборе JSON, и под выводом появляется баннер с предупреждением. Инструмент сохраняет исходные цифры как строки в CSV, чтобы Excel и Google Sheets не обрезали их до научной нотации. Это важно, потому что тип IEEE 754 double-precision в JavaScript молча округляет целые выше 2^53 — например, 9007199254740993 становится 9007199254740992. Чтобы сохранить точность при генерации JSON в источнике, храните такие ID как строки ("id": "9007199254740993"). Инструмент сохранит их как строки в CSV без потери точности.
Почему Excel показывает CSV в одной колонке?
Европейские локали Excel (Германия, Франция, Испания, Италия и др.) ожидают точку с запятой в качестве разделителя, потому что запятая зарезервирована за десятичным разделителем. Когда вы открываете CSV с запятыми в Excel-EU, каждая строка схлопывается в колонку A. Используйте пресет Excel в этом инструменте — он переключает разделитель на ;, окончание строки на CRLF и добавляет UTF-8 BOM, чтобы Excel правильно определил кодировку и границы колонок. Если вы делитесь CSV между регионами, безопаснее TSV (разделитель Tab), который Excel единообразно обрабатывает в любой локали.
Поддерживается ли NDJSON или JSON Lines?
Да. NDJSON (.ndjson) и JSONL (.jsonl) — форматы со строчным разделителем, где каждая строка — корректное значение JSON. Вставьте содержимое файла прямо в поле ввода — инструмент автоматически определит формат, увидев несколько верхнеуровневых JSON-значений, разделённых переносами строк, и обработает каждую строку как строку выходного CSV. Это естественная форма для потоковых журналов, экспортов событий API и многих data lake конвейеров. NDJSON не требует обёртки в массив, поэтому вручную сливать строки в один JSON-документ не нужно.
Что такое RFC 4180?
RFC 4180 — спецификация IETF, которая в 2005 году кодифицировала де-факто формат CSV. Она определяет правила разделителей (обычно запятая), окончаний строк (CRLF), необязательной строки заголовка и, что важнее всего, правила экранирования: поля, содержащие разделитель, двойную кавычку, CR или LF, должны быть обёрнуты в двойные кавычки, а вложенные двойные кавычки экранируются удвоением (""). Пресет RFC 4180 в этом инструменте выдаёт вывод, строго соответствующий спецификации: разделитель — запятая, окончания строк — CRLF, без BOM, авто-экранирование двойных кавычек. Это самый безопасный выбор для совместимости с парсерами Python (модуль csv), PostgreSQL COPY, AWS S3 SELECT и большинством data-конвейеров.
Почему одни ячейки обёрнуты в кавычки, а другие нет?
Режим кавычек по умолчанию — Auto, он следует RFC 4180: ячейка оборачивается в двойные кавычки только тогда, когда содержит разделитель, двойную кавычку, возврат каретки или перенос строки. Так получается самый чистый, человекочитаемый CSV — значения вроде Alice или 42 остаются без кавычек, а Smith, Jr. или Line 1\nLine 2 — с кавычками. Переключитесь на режим Always, чтобы оборачивать каждую ячейку, даже простую, — это полезно, когда у внешних инструментов есть багованные CSV-парсеры, которые неправильно интерпретируют значения без кавычек, или когда конвейер вашей команды для единообразия ожидает каждое поле в кавычках.
Можно ли пройти round-trip CSV → JSON → CSV без потерь?
Да, когда вход плоский (без вложенных объектов и массивов). Для вложенных данных нужно использовать режим Stringify — он сохраняет массивы и объекты как JSON внутри одной ячейки, что без потерь возвращается к исходной структуре, когда вы разворачиваете направление через «Поменять направление» с включённым Infer types. Режим Flatten — односторонний: он выдаёт ключи через точку (customer.address.city), которые невозможно безупречно восстановить, поскольку парсер не отличит ключ с точкой от вложенного пути. Инструмент находит вложенные структуры и показывает предупреждение Schema notes, когда round-trip под угрозой, чтобы вы могли сменить режим до экспорта.
Как получить TSV-файл?
Нажмите чип пресета TSV. Это переключает разделитель на Tab, окончание строк — на LF и отключает BOM — стандартный формат табулированных значений, используемый Unix-инструментами (cut, awk), хранилищами данных (BigQuery, Snowflake) и большинством локалей Excel без двусмысленности. TSV в целом безопаснее CSV с запятыми для обмена между локалями, потому что Tab вряд ли встретится внутри текстовых полей, что устраняет большинство краевых случаев экранирования. Сохраните вывод с расширением .tsv или .tab, и большинство инструментов распознает его автоматически.
Что происходит при очень большом вводе?
Свыше 100 000 символов или 2 000 строк live-конвертация автоматически переключается в ручной режим: в информационном баннере появляется кнопка «Конвертировать», и преобразование запускается только при клике. Это предотвращает блокировку основного потока браузера на каждое нажатие клавиши при тяжёлой сериализации. Для вывода больше 5 МБ или 50 000 строк инструмент усекает экранный предпросмотр до первых 500 строк и показывает баннер «Показаны первые 500 из N строк» — но кнопка «Скачать» по-прежнему создаёт полный файл со всеми строками. Жёсткий верхний предел — 10 МБ ввода; выше инструмент показывает ошибку и просит сократить ввод.
Какие кодировки поддерживаются?
Вход и выход — UTF-8. UTF-8 покрывает все современные наборы символов, включая эмодзи, идеограммы CJK, арабский, иврит и комбинирующие знаки. Единственный нюанс кодировки — необязательный UTF-8 BOM: Excel в Windows традиционно нуждается в BOM, чтобы правильно определить UTF-8, иначе откатывается к системной локали и портит не-ASCII символы. Включайте BOM (или используйте пресет Excel, в котором BOM включён по умолчанию), когда планируете открывать CSV в Excel. Для всего остального оставляйте BOM выключенным — большинство современных парсеров (PostgreSQL, Pandas, jq, Python csv) либо споткнутся, либо включат BOM как лишний символ в начале первой ячейки.

Похожие инструменты

Все инструменты →

Base64 декодер и кодировщик

Кодирование и форматирование

Декодирование и кодирование Base64 онлайн бесплатно. Преобразование в реальном времени с полной поддержкой UTF-8 и эмодзи. Полная приватность — работает в браузере. Без регистрации.

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

Кодирование и форматирование

Конвертируйте CSV в JSON в браузере. RFC 4180, определение типов, заголовок, безопасность больших целых. 100% приватно, без загрузки.

JSON Diff и сравнение

Кодирование и форматирование

Сравнивайте два JSON-файла мгновенно в браузере. Side-by-side подсветка, вывод JSON Patch (RFC 6902), игнорирование шума вроде timestamp и ID. 100% приватно, без загрузки.

Форматировщик и валидатор JSON

Кодирование и форматирование

Форматирование, проверка и улучшение читаемости JSON прямо в браузере. Бесплатный онлайн-инструмент с проверкой синтаксиса, поиском ошибок, минификацией и копированием в один клик. Полная приватность.

Валидатор JSON Schema

Кодирование и форматирование

Проверяйте JSON по любой JSON Schema мгновенно в браузере. Поддержка Draft 2020-12, 2019-09 и Draft-07 с точными путями ошибок. 100% приватно — без загрузки, без аккаунта, бесплатно.

Конвертер JSON в YAML

Кодирование и форматирование

Вставьте JSON, получите YAML мгновенно. Live-конвертация в браузере. Готово для K8s/Compose, отступ 2/4 пробела, умное экранирование. 100% приватно, без загрузки.