Skip to content

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

Вставьте JSON, получите XML мгновенно. Конвертирует объекты, массивы и атрибуты @_ в браузере — без загрузки. Бесплатно, приватно, регистрация не требуется.

Без отслеживания Работает в браузере Бесплатно
Настройки · 2 пробела · JSON → XML
Отступ
0 симв.
XML Вывод
0 строк
Проверено на соответствие требованиям XML 1.0, корректности конвенции @_/#text и точности нормализации корня — Команда инженеров Go-Tools · May 29, 2026

Что такое конвертация JSON в XML и как она работает?

JSON (JavaScript Object Notation) и XML (Extensible Markup Language) — оба являются форматами структурированных данных, но имеют принципиально разные модели: JSON — это дерево объектов, массивов, строк, чисел, булевых значений и null без концепции атрибутов или ограничений на корень документа; XML — это дерево элементов, которые могут иметь атрибуты и текстовое содержимое, и документ должен иметь ровно один корневой элемент. Конвертация из JSON в XML требует набора конвенций для преодоления этого несоответствия.

Этот инструмент использует наиболее широко принятую конвенцию — ту же, что используют fast-xml-parser (Node.js), xmltodict (Python) и JAXB (Java) — применяя её в обратном порядке:

**1. Нормализация корневого элемента.** Самое важное различие между JSON и XML — ограничение на корень. У JSON нет концепции корня; XML требует ровно одного. Конвертер автоматически обрабатывает четыре случая. Объект с одним ключом использует этот ключ как корень XML: { "config": {...} } → .... Объект с несколькими ключами оборачивается в : { "a": 1, "b": 2 } → 12. Массив верхнего уровня оборачивается как .... Примитивное значение оборачивается как value.

**2. Префикс @_ → XML-атрибуты.** JSON-ключи с префиксом @_ становятся XML-атрибутами охватывающего элемента. { "element": { "@_id": "42", "@_class": "primary" } } создаёт . Этот префикс является канонической конвенцией — ни одно допустимое имя XML-элемента не начинается с @, поэтому коллизий с именами дочерних элементов никогда нет.

**3. #text → текстовое содержимое элемента.** Когда элементу нужны и атрибуты, и текстовое содержимое, текст хранится под ключом #text: { "price": { "@_currency": "USD", "#text": "29.99" } } → 29.99. Элементы, содержащие только текстовое содержимое (без ключей @_), конвертируются в обычные текстовые элементы без этого косвенного обращения.

**4. Массивы → повторяющиеся одноимённые соседние элементы.** XML допускает несколько дочерних элементов с одинаковым именем; JSON использует массивы для упорядоченных списков. JSON-массив под ключом создаёт повторяющиеся дочерние элементы, повторно использующие имя ключа: { "items": ["a", "b"] } создаёт ab (два элемента являются соседними под родительским элементом). Когда весь JSON-ввод является массивом верхнего уровня, добавляется обёртка и каждый элемент становится дочерним является фиксированным запасным именем, используемым только в этом случае.

**5. Симметрия с конвертером XML в JSON.** Конвенции @_ и #text, используемые здесь, — это в точности те же конвенции, что использует сопутствующий Конвертер XML в JSON. Это означает, что круговое преобразование JSON → XML → JSON сохраняет атрибуты, текстовое содержимое и структуру элементов — при условии, что входной JSON соответствует конвенциям @_/#text.

**Когда конвертировать JSON в XML?** Наиболее распространённые сценарии: (1) отправка данных в устаревший SOAP или XML-веб-сервис, требующий тело XML-запроса; (2) генерация XML-конфигурационных файлов (Spring, Maven, Ant, ресурсы Android) из JSON-данных; (3) создание XML карты сайта или RSS-ленты из JSON-данных контента; (4) интеграция с корпоративными системами (ERP, CRM, EDI), потребляющими XML; (5) программная генерация SVG или других XML-форматов графики из JSON-данных. Для форматирования и валидации полученного XML используйте XML Форматировщик.

// Convert JSON to XML in Node.js using fast-xml-parser
import { XMLBuilder } from 'fast-xml-parser';

const data = {
  catalog: {
    product: {
      '@_id': 'P01',
      '@_category': 'electronics',
      name: 'Wireless Headphones',
      price: {
        '@_currency': 'USD',
        '#text': '79.99'
      }
    }
  }
};

const builder = new XMLBuilder({
  attributeNamePrefix: '@_',   // @_ keys become XML attributes
  textNodeName: '#text',       // #text key becomes element text content
  ignoreAttributes: false,     // process @_ attribute keys
  format: true,                // pretty-print with indentation
  indentBy: '  ',              // 2-space indent
});

const xml = builder.build(data);
console.log(xml);
// <catalog>
//   <product id="P01" category="electronics">
//     <name>Wireless Headphones</name>
//     <price currency="USD">79.99</price>
//   </product>
// </catalog>

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

Конвертация в реальном времени

XML-вывод обновляется мгновенно по мере ввода или вставки JSON — кнопка «Конвертировать» не нужна. Большие входные данные (>200 КБ) автоматически переключаются в ручной режим для сохранения отзывчивости браузера.

Автоматическая нормализация корневого элемента

XML требует ровно одного корневого элемента. Объекты с одним ключом используют свой ключ в качестве корня; объекты с несколькими ключами оборачиваются в ; массивы верхнего уровня становятся ...; примитивы становятся value — всегда допустимый XML-вывод.

Конвенция атрибутов @_ и #text

Ключи с префиксом @_ становятся XML-атрибутами; ключ #text становится текстовым содержимым элемента. Это соответствует конвенции fast-xml-parser и xmltodict, делая вывод симметричным с сопутствующим конвертером XML в JSON.

Массив в повторяющиеся элементы

JSON-массивы под ключом создают повторяющиеся дочерние элементы, повторно использующие имя ключа — без сингуляризации. { "items": [1, 2, 3] } создаёт три соседних элемента . Ввод в виде массива верхнего уровня оборачивается как ... с использованием в качестве фиксированного буквального имени.

100% конфиденциальность в браузере

Вся конвертация выполняется локально в вашем браузере с помощью JavaScript. Ваш JSON — включая учётные данные, внутренние конфиги и конфиденциальные нагрузки — никогда не отправляется на сервер, не записывается и не хранится.

Симметричное круговое преобразование с XML в JSON

Конвенции @_ и #text разделяются с сопутствующим конвертером XML в JSON. Круговое преобразование JSON → XML → JSON точно сохраняет атрибуты, текстовое содержимое и вложенную структуру.

Примеры

Объект ответа API

{"user":{"id":42,"name":"Alice Kim","email":"alice@example.com","role":"admin","address":{"city":"Seoul","country":"KR"}}}

JSON-объект с одним ключом, где ключ верхнего уровня становится корневым XML-элементом. Вложенный объект address создаёт дочерний элемент

с дочерними элементами и . Поскольку внешний объект имеет ровно один ключ («user»), обёртка не добавляется — «user» сам является корневым элементом. Числа вроде 42 становятся текстовым содержимым дословно: 42.

Массив верхнего уровня

[{"id":1,"name":"Widget A","price":9.99},{"id":2,"name":"Widget B","price":14.99},{"id":3,"name":"Widget C","price":4.49}]

Когда весь ввод является JSON-массивом (не обёрнутым в объект), конвертер создаёт .... Каждый элемент массива становится дочерним элементом — «item» является фиксированным буквальным именем-обёрткой, используемым исключительно для массивов верхнего уровня. Это единственный случай, когда появляется ; массивы под ключом объекта для каждого элемента повторно используют имя этого ключа.

Объект с атрибутами и текстовым содержимым

{"catalog":{"product":{"@_id":"P01","@_category":"electronics","name":"Wireless Headphones","price":{"@_currency":"USD","#text":"79.99"}}}}

Ключи с префиксом @_ становятся XML-атрибутами элемента: @_id становится id="P01", а @_category становится category="electronics" на элементе . Ключ #text становится текстовым содержимым элемента — поэтому объект price создаёт 79.99. Это чисто круговое преобразование с конвертером XML в JSON, использующим те же конвенции @_ и #text.

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

  1. 1

    Вставьте ваш JSON

    Введите или вставьте JSON-данные в поле ввода выше. Также можно нажать «Загрузить пример» — объект ответа API, нагрузка-массив или объект с атрибутами @_ и #text.

  2. 2

    Смотрите XML-вывод в реальном времени

    XML мгновенно появляется в панели вывода. Объекты с одним ключом используют свой ключ в качестве корня; объекты с несколькими ключами оборачиваются в ; ключи с префиксом @_ становятся атрибутами; массивы становятся повторяющимися дочерними элементами. При необходимости настройте отступ (2 или 4 пробела).

  3. 3

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

    Нажмите «Скопировать», чтобы поместить XML в буфер обмена, или «Скачать», чтобы сохранить его в виде файла .xml. Для валидации или переформатирования результата вставьте его в XML Форматировщик.

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

Объект с несколькими ключами получает неожиданную обёртку

Если ваш JSON верхнего уровня имеет несколько ключей, вывод обернёт их все в . Это корректный XML (который требует единственного корня), но может не соответствовать вашей целевой схеме. Преобразуйте JSON в объект с одним ключом для управления именем корневого элемента.

✗ Неверно
// Input: { "status": 200, "data": { "id": 1 } }
// Output: <root><status>200</status><data><id>1</id></data></root>
// Root is <root> — may not match your schema
✓ Верно
// Wrap in a named key to control the root element
// Input: { "response": { "status": 200, "data": { "id": 1 } } }
// Output: <response><status>200</status><data><id>1</id></data></response>

Массив верхнего уровня получает обёртку

JSON-массив верхнего уровня не имеет имени элемента, поэтому оборачивается как .... Если нужны значимые имена тегов, сначала оберните массив в именованный объект.

✗ Неверно
// Input: [{ "id": 1 }, { "id": 2 }]
// Output: <root><item><id>1</id></item><item><id>2</id></item></root>
// Tag names are generic
✓ Верно
// Wrap in a named key for meaningful tag names
// Input: { "products": [{ "id": 1 }, { "id": 2 }] }
// Output: <root><products><id>1</id></products><products><id>2</id></products></root>
// Each array element reuses the key name "products" as its tag

У ключей атрибутов отсутствует префикс @_

Чтобы создать XML-атрибут, JSON-ключ должен иметь префикс @_. Без префикса ключ обрабатывается как дочерний элемент, а не как атрибут.

✗ Неверно
// Input: { "tag": { "id": "42", "name": "Alice" } }
// Output: <tag><id>42</id><name>Alice</name></tag>  ← id is a child element
✓ Верно
// Use @_ prefix for attributes
// Input: { "tag": { "@_id": "42", "name": "Alice" } }
// Output: <tag id="42"><name>Alice</name></tag>  ← id is an attribute

Элемент с атрибутами и текстом — отсутствует #text

Если нужно, чтобы элемент имел и XML-атрибуты, и текстовое содержимое, необходимо использовать ключ #text для текста. Без него тексту некуда деться, и элемент будет пустым или возникнет ошибка.

✗ Неверно
// Input: { "price": { "@_currency": "USD", "value": "29.99" } }
// Output: <price currency="USD"><value>29.99</value></price>
// Text is a child element, not text content
✓ Верно
// Use #text for element text content
// Input: { "price": { "@_currency": "USD", "#text": "29.99" } }
// Output: <price currency="USD">29.99</price>  ← text content

JSON-ключи с недопустимыми для XML символами

Имена XML-элементов не могут начинаться с цифры или содержать пробелы, двоеточия (за исключением префиксов пространств имён) или большинство специальных символов. Если ваши JSON-ключи содержат эти символы, вывод XML будет некорректным. Переименуйте проблемные ключи перед конвертацией или нормализуйте их в шаге постобработки.

✗ Неверно
// JSON key starts with digit — invalid XML element name
// Input: { "1stItem": "value" }
// Output: <1stItem>value</1stItem>  ← invalid XML
✓ Верно
// Use a valid XML element name
// Input: { "firstItem": "value" }
// Output: <firstItem>value</firstItem>  ← valid XML

Специальные символы в значениях не экранированы

Текстовое содержимое XML не должно содержать необработанные символы <, >, &, " — они должны быть экранированы как <, >, & и ". Конвертер автоматически экранирует эти символы в текстовом содержимом элементов и значениях атрибутов. Если последующая обработка двойно экранирует их, убедитесь, что ваш XML-парсер потребляет необработанные байты XML, а не повторно экранирует уже экранированное содержимое.

✗ Неверно
// JSON: { "query": "name = 'Alice' & role = 'admin'" }
// Converter outputs: <query>name = 'Alice' &amp; role = 'admin'</query>
// If double-processed: &amp;amp; — consumer is re-escaping
✓ Верно
// Converter output is correct — consume it as XML, not as a raw string
// <query>name = 'Alice' &amp; role = 'admin'</query>
// XML parser decodes to: name = 'Alice' & role = 'admin'

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

Вызов SOAP и устаревших XML-веб-сервисов
Создайте JSON-нагрузку в вашем приложении, конвертируйте её в XML и отправьте POST-запрос на конечную точку SOAP. Это позволяет избежать ручного составления XML-строк и работать с данными в нативной JSON-структуре вплоть до момента сериализации для устаревшего сервиса.
Генерация XML-конфигурационных файлов
Spring, Maven, Ant, Tomcat и Android используют XML-форматы конфигурации. Генерируйте или преобразовывайте данные конфигурации в JSON — удобнее для сравнения и контроля версий — затем конвертируйте в XML для развёртывания.
Создание XML карты сайта и RSS-ленты
Системы управления контентом и генераторы статических сайтов нередко хранят метаданные страниц в JSON. Конвертируйте эти метаданные в XML карты сайта или RSS-ленты для отправки поисковым системам или синдикации контента читателям лент.
Корпоративная интеграция данных (EDI / ERP / CRM)
Системы ERP (SAP, Oracle), платформы CRM и EDI-сети обычно обмениваются данными в XML. Конвертируйте JSON-экспорты из современных REST API в XML для питания этих систем без создания специального XML-сериализатора.
Ресурсные файлы Android
Строковые ресурсы Android, ограничения компоновки и записи манифеста — всё это XML. Программно генерируйте или обновляйте ресурсные файлы из JSON-источников данных и конвертируйте в необходимый XML-формат для системы сборки Android.
Генерация SVG и векторной графики
SVG — это XML. Стройте SVG-структуру в виде JSON-данных — пути, фигуры, цвета, трансформации — затем конвертируйте в XML для создания допустимых SVG-файлов для веба, печати или инструментов векторного редактирования.

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

Разбор JSON по RFC 8259
JSON-ввод разбирается с помощью нативного JSON.parse() браузера, полностью соответствующего RFC 8259. Он предоставляет точные сообщения об ошибках синтаксиса с информацией о позиции (строка и столбец) и обрабатывает все типы данных JSON: строки, числа, булевые значения, null, массивы и объекты.
Пользовательский рекурсивный сериализатор JSON в XML
После разбора пользовательский рекурсивный сериализатор обходит JSON-дерево. Ключи объектов, начинающиеся с @_, выводятся как XML-атрибуты родительского элемента. Ключ #text выводится как текстовое содержимое элемента. Обычные ключи объектов становятся дочерними элементами. Элементы массива создают повторяющиеся одноимённые соседние элементы. Специальные символы (<, >, &, ", ') в текстовом содержимом и значениях атрибутов экранируются в их XML-символьные ссылки.
Нормализация корневого элемента
Поскольку XML требует ровно одного корневого элемента, сериализатор применяет нормализацию корня перед построением документа: объекты с одним ключом используют ключ в качестве корня; объекты с несколькими ключами и массивы верхнего уровня получают синтетическую обёртку . Это гарантирует, что вывод всегда является правильно оформленным XML независимо от формы ввода.
100% работа в браузере — без загрузки и сервера
Вся обработка выполняется в JavaScript-движке вашего браузера. Никакие данные не передаются по сети ни в какой момент. Входные данные размером более 200 КБ автоматически переключаются из режима реального времени в ручной режим (требуется явное нажатие «Конвертировать») для сохранения отзывчивости браузера при интенсивной сериализации.

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

Управляйте корневым элементом с помощью объекта с одним ключом
Самый чистый способ получить значимый XML — убедиться, что ваш JSON верхнего уровня является объектом с одним ключом, который является желаемым именем корневого элемента. Обёртка данных с несколькими ключами под одним именованным ключом даёт семантически значимый корень вместо универсальной обёртки .
Используйте @_ и #text для XML с большим количеством атрибутов
Если ваша целевая XML-схема использует много атрибутов (что распространено в конфигурационных файлах, SVG и SOAP-конвертах), преобразуйте JSON для использования ключей с префиксом @_ и #text перед конвертацией. Полученный XML будет точно соответствовать целевой схеме без постобработки.
Оборачивайте массивы в именованные объекты для значимых имён тегов
Массив верхнего уровня создаёт универсальный шаблон ..., где — фиксированное буквальное имя. Обёртка массива под именованным ключом — { "products": [...] } — создаёт повторяющиеся элементы (имя ключа повторно используется для каждого элемента массива) под обёрткой . Это даёт доменно-значимое имя тега и почти всегда предпочтительно для XML, который будет разбираться или валидироваться по схеме.
Валидируйте вывод с помощью XML Форматировщика
После конвертации вставьте XML-вывод в XML Форматировщик для валидации правильной оформленности, проверки отступов и выявления структурных проблем перед отправкой XML в нижестоящий сервис или его коммитом в систему контроля версий.
Нормализуйте JSON-ключи перед конвертацией
Имена XML-элементов должны начинаться с буквы или подчёркивания и не могут содержать пробелы или большинство специальных символов. Если ваши JSON-ключи поступают из внешнего источника (имя столбца базы данных, имя поля API или пользовательский ввод), проверьте их допустимость как имён XML перед конвертацией, чтобы избежать некорректного вывода.

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

Отправляются ли мои JSON-данные на сервер при использовании этого инструмента?
Нет. Вся конвертация происходит полностью в вашем браузере с помощью JavaScript. Ваш JSON никогда не передаётся по сети, не хранится ни на каком сервере и не записывается и не анализируется. Это делает инструмент безопасным для использования с JSON-полезными нагрузками, содержащими учётные данные API, конфигурацию базы данных, данные внутренних сервисов или любое другое конфиденциальное содержимое. Это можно проверить, открыв вкладку «Сеть» в браузере — при вставке или конвертации JSON не будет отправлено ни одного запроса.
Как инструмент определяет, что является корневым XML-элементом?
XML требует ровно одного корневого элемента; JSON не имеет такого ограничения. Конвертер применяет следующие правила: (1) Объект с одним ключом использует этот ключ в качестве имени корневого элемента — { "user": { ... } } становится .... (2) Объект с несколькими ключами (два или более ключа на верхнем уровне) оборачивается в элемент , чтобы все ключи стали дочерними элементами единственного корня. (3) Массив верхнего уровня оборачивается как ..., и каждый элемент массива становится дочерним элементом . (4) Примитивное значение (строка, число, булево, null) на верхнем уровне становится value. Эти правила гарантируют, что вывод всегда является правильно оформленным XML с ровно одним корнем.
Почему JSON-объект с несколькими ключами оборачивается в ?
XML — это формат документа со строгим требованием единственного корня: допустимый XML-документ должен иметь ровно один элемент верхнего уровня. JSON-объекты могут иметь любое количество ключей верхнего уровня, поэтому когда ваш JSON имеет несколько ключей верхнего уровня (например, { "status": 200, "data": {...}, "meta": {...} }), не существует единственного ключа для использования в качестве корня. Обёртка в — наиболее безопасная и предсказуемая конвенция. Если вы хотите другое имя корневого элемента, преобразуйте JSON в объект с одним ключом перед конвертацией — например, { "response": { "status": 200, "data": {...} } }.
Как JSON-массив верхнего уровня конвертируется в XML?
Массив верхнего уровня оборачивается как ....... Каждый элемент массива становится дочерним элементом — «item» является фиксированным буквальным именем, используемым только для массивов верхнего уровня. Это отличается от массивов, вложенных под ключ объекта: если написать { "products": [...] }, каждый элемент массива становится дочерним элементом (повторно используя имя ключа), а не . Если вы хотите пользовательские имена тегов для массива верхнего уровня, сначала оберните его в именованный объект: { "products": [...] } даст вам повторяющиеся элементы .
Как конвертировать JSON-ключи в XML-атрибуты?
Добавьте к ключу префикс @_, и конвертер выведет его как XML-атрибут, а не как дочерний элемент. Например, { "tag": { "@_id": "42", "@_lang": "en", "#text": "Hello" } } создаёт Hello. Конвенция с префиксом @_ — та же, что используется fast-xml-parser (Node.js) и xmltodict (Python), что обеспечивает корректное круговое преобразование с этими библиотеками. Это также конвенция, используемая сопутствующим Конвертером XML в JSON.
Для чего используется ключ #text?
Когда элементу нужны и XML-атрибуты, и текстовое содержимое, текст нельзя просто отобразить в дочерний элемент — он должен быть собственным текстовым узлом элемента. Ключ #text в вашем JSON становится этим текстовым содержимым. Пример: { "price": { "@_currency": "USD", "#text": "29.99" } } создаёт 29.99. Если объект имеет только ключ #text и не имеет ключей @_, он всё равно создаёт обычный текстовый элемент: { "note": { "#text": "hello" } } становится hello.
Влияет ли отступ на структуру XML?
Нет. Отступ носит исключительно косметический характер — он изменяет форматирование XML для удобочитаемости, но не влияет на структуру элементов, значения атрибутов или текстовое содержимое. Выберите 2 пробела для компактного вывода или 4 пробела для более читаемого. Оба создают семантически идентичный XML. Большинство XML-парсеров воспринимают текстовые узлы, содержащие только пробелы, между элементами как игнорируемые пробелы, поэтому форматированный и минифицированный XML эквивалентны для целей разбора.
Как JSON-массив, вложенный внутри объекта, конвертируется в XML?
Значение JSON-массива под ключом создаёт повторяющиеся одноимённые дочерние элементы, повторно используя имя ключа для каждого элемента. Например, { "items": [1, 2, 3] } создаёт три соседних элемента — не . Аналогично { "products": [{"name":"A"},{"name":"B"}] } создаёт два элемента , каждый содержащий дочерний элемент . Имя ключа используется как есть для каждого элемента массива; сингуляризация не происходит. Единственное место, где появляется буквальное имя — когда весь JSON-ввод является массивом верхнего уровня (см. выше), где является фиксированным запасным именем-обёрткой.
Как конвертировать XML обратно в JSON?
Используйте сопутствующий Конвертер XML в JSON. Он применяет те же конвенции @_ и #text в обратном порядке: XML-атрибуты становятся JSON-ключами с префиксом @_, текстовое содержимое элемента в паре с атрибутами становится ключом #text, а повторяющиеся одноимённые соседние элементы становятся JSON-массивом. Оба инструмента симметричны для сценариев с обратной конвертацией.
Можно ли валидировать или форматировать вывод XML?
Да — вставьте вывод XML в XML Форматировщик для валидации правильной оформленности, настройки отступов или минификации. XML Форматировщик — правильный инструмент для инспекции и полировки XML после того, как этот конвертер его создал.
Есть ли ограничение на размер JSON-ввода?
Жёсткого ограничения нет, но входные данные размером более 200 КБ автоматически переключаются из режима потоковой конвертации в ручной. В ручном режиме появляется кнопка «Конвертировать», и конвертация выполняется только при нажатии — это сохраняет отзывчивость браузера при интенсивной сериализации. Для очень больших JSON-файлов (несколько мегабайт) рассмотрите использование инструментов командной строки для лучшей производительности: node -e "const {XMLBuilder}=require('fast-xml-parser');console.log(new XMLBuilder({attributeNamePrefix:'@_'}).build(JSON.parse(require('fs').readFileSync('in.json','utf8'))))" или эквивалентный Python-скрипт с xmltodict.
Какие типы JSON поддерживаются?
Поддерживаются все шесть типов JSON. Объекты становятся XML-элементами с дочерними элементами. Массивы становятся повторяющимися одноимёнными соседними элементами. Строки, числа, булевые значения и null становятся текстовым содержимым элементов. Булевые значения и null сериализуются в их буквальные строковые представления: true, false и пустое содержимое для null. Приведение типов не применяется — числа записываются в текстовое содержимое XML в точности так, как они появляются в JSON, с сохранением десятичных знаков и точности.

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

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

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 в CSV

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

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