Форматирование XML онлайн

Форматирование XML онлайн: отступы, сжатие и проверка

Вставьте XML, чтобы расставить отступы, сжать его или проверить корректность. Если что-то не так, вы увидите строку и столбец первой ошибки, отмеченное место в тексте и подсказку, как исправить. Текст внутри элементов не меняется, а XML не покидает ваш браузер.

Результат
Отступ
  • Отформатированный XML

    <?xml version="1.0" encoding="UTF-8"?> <catalog xmlns:dc="http://purl.org/dc/elements/1.1/"> <!-- две книги --> <book id="bk101" lang="ru"> <dc:title>Мастер и Маргарита</dc:title> <price currency="RUB">590.00</price> <note>Доставка за <b>2 дня</b>.</note> </book> <book id="bk102" lang="ru"> <dc:title>Евгений Онегин</dc:title> <price currency="RUB">350.00</price> <summary><![CDATA[Роман в стихах: <глава 1> & далее.]]></summary> </book> </catalog>

РезультатXML корректен
Элементов10
Глубина вложенности4
Атрибутов7
Объявлений пространств имён1
Размер до (байт)508
Размер после (байт)555
Изменение размера9,25 %
Строк14

Изменились только пробелы и переносы между тегами — текст, значения атрибутов, CDATA и комментарии скопированы ровно так, как записаны.

Расчёт выполняется на вашем устройстве · формулы проверены на известных значениях · Как мы проверяем

Как отформатировать XML

  1. Вставьте XML в поле — выгрузку из 1С, файл обмена с интернет-магазином в CommerceML, электронный документ, запрос или ответ SOAP, RSS-ленту, карту сайта, pom.xml из Maven, разметку Android или SVG. Проверка и форматирование идут сразу при вставке.
  2. Выберите Форматировать, чтобы каждый элемент оказался на своей строке с отступом в 2 или 4 пробела либо табуляцией, или Сжать, чтобы убрать пробелы и переносы между тегами.
  3. Нажмите Копировать рядом с результатом или Скачать, чтобы сохранить файл.
  4. Если XML некорректен, вы увидите описание ошибки, номер строки и столбца, саму строку со знаком ^ под проблемным местом и подсказку, как исправить. Исправьте — и отформатированный XML появится сразу.

Что форматирование меняет, а чего не трогает никогда

Документ XML — это дерево элементов. Форматирование ставит каждый дочерний элемент, комментарий и инструкцию обработки на отдельную строку с отступом по глубине вложенности; сжатие убирает эти переносы и отступы обратно. Так обрабатываются только элементы, содержимое которых состоит из других элементов: только там пробелы между тегами ничего не значат. Всё остальное копируется символ в символ:

Переносы строк Windows (CR LF) записываются как LF — любой XML-парсер всё равно читает их так.

Что значит «корректный» (well-formed) XML

Любой XML-файл должен соблюдать синтаксис XML 1.0 и пространств имён, иначе его не прочитает ни одна программа. Проверка сообщает о первом нарушенном правиле: один корневой элемент, внутри которого всё; каждый открывающий тег закрыт парным, в правильном порядке и в том же регистре; значения атрибутов в кавычках, ни один атрибут не повторяется в теге; & и < в тексте записаны как &amp; и &lt;; только пять предопределённых сущностей, если DOCTYPE не объявляет других; каждый префикс вроде dc: объявлен через xmlns:dc="…"; объявление <?xml … ?>, если оно есть, — самые первые символы файла. Например:

  <client>ООО «Рога & Копыта»</client>
                    ^

Здесь ошибка Неэкранированный & в строке 2, столбце 21: амперсанд в названии компании нужно записать как ООО «Рога &amp; Копыта». Это самая частая ошибка в выгрузках и товарных фидах, собранных вручную или «склейкой» строк. Ёлочки « » при этом допустимы — в XML это обычные символы текста.

Корректный — не то же самое, что валидный. Валидация сверяет документ со схемой (XSD или DTD), где сказано, какие элементы и значения разрешены, — для электронных документов это схемы, которые публикует ФНС вместе с форматом. Эта страница проверяет синтаксис, а не схему.

Пример

В поле — каталог книжного магазина размером 508 байт в одну строку, с пространством имён, комментарием, смешанным содержимым и секцией CDATA. С отступом в 2 пробела он выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns:dc="http://purl.org/dc/elements/1.1/">
  <!-- две книги -->
  <book id="bk101" lang="ru">
    <dc:title>Мастер и Маргарита</dc:title>
    <price currency="RUB">590.00</price>
    <note>Доставка за <b>2 дня</b>.</note>
  </book>
  <book id="bk102" lang="ru">
    <dc:title>Евгений Онегин</dc:title>
    <price currency="RUB">350.00</price>
    <summary><![CDATA[Роман в стихах: <глава 1> & далее.]]></summary>
  </book>
</catalog>

10 элементов вложены на 4 уровня. Элемент <note> смешивает текст и тег, поэтому остаётся в одной строке, а секция CDATA сохраняет свою <глава 1> и голый &. Отступы добавили 47 байт; сжатие отформатированной версии возвращает размер к 508 байтам. Учтите, что в UTF-8 каждая русская буква занимает 2 байта.

Подписанные XML: документы ФНС, ЭДО, SOAP

Электронные документы — счета-фактуры, УПД и другие файлы по форматам ФНС, а также многие сообщения веб-сервисов — заверяются электронной подписью. Подпись относится к точному содержимому файла, включая пробелы между тегами и кодировку, поэтому отформатированная копия подписанного документа проверку подписи уже не пройдёт. Форматируйте подписанный файл, чтобы прочитать его или найти ошибку, а отправляйте и храните оригинал. Сжатие так же опасно, если оригинал подписан с переносами строк.

Кодировка windows-1251

Многие российские XML-файлы — документы по форматам ФНС, старые выгрузки 1С — объявлены как <?xml version="1.0" encoding="windows-1251"?>. Страница работает с символами, которые вы вставили, поэтому вставлять такой файл можно, если он открыт в редакторе правильно (без кракозябр). Но Скачать сохраняет UTF-8: если в объявлении осталось windows-1251, программа прочитает русские буквы неправильно. Для чтения это не важно, а для дальнейшей работы замените в скачанном файле объявление на encoding="UTF-8" или используйте оригинал.

Ограничения и советы

XML остаётся на вашем устройстве

Разбор, проверка и форматирование выполняются в вашем браузере. В счетах, выгрузках и сообщениях API часто есть ИНН, адреса и цены — ничего из этого не загружается на сервер и не записывается в логи. Данные и не сохраняются: после перезагрузки страницы поле очищается.

Частые вопросы

Загружается ли мой XML на сервер?

Нет. Форматирование выполняет JavaScript в вашем браузере, файл не покидает устройство, а после загрузки страница работает даже без интернета.

Чем корректный XML отличается от валидного?

Корректный (well-formed) XML соблюдает синтаксис, который требует любой парсер: теги закрыты и вложены правильно, значения атрибутов в кавычках, спецсимволы экранированы, корневой элемент один. Валидный XML вдобавок соответствует схеме (XSD или DTD), где перечислены разрешённые элементы и значения. Эта страница проверяет корректность.

Почему появляется ошибка «Неэкранированный &»?

В XML амперсанд начинает ссылку вроде &amp; или &#1046;. Обычный & — в названии компании, описании товара или URL с несколькими параметрами — нужно писать как &amp;.

Можно ли отформатировать подписанный документ и отправить его?

Нет. Электронная подпись относится к точному содержимому файла, включая пробелы, поэтому отформатированная копия не пройдёт проверку. Читайте отформатированную версию, а храните и отправляйте исходный файл.

Почему некоторые элементы остались в одной строке?

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

Разместите этот калькулятор на своём сайте

Бесплатно для любого сайта или блога. Вставьте этот код туда, где должен появиться калькулятор:

Обновлено: 16 октября 2026 г.

Меню

Разделы

Финансовые калькуляторы15 калькуляторовКалькуляторы для бизнеса и покупок6 калькуляторовКалькуляторы здоровья7 калькуляторовМатематические и школьные калькуляторы9 калькуляторовКалькуляторы дат и времени5 калькуляторовСколько дней до праздника8 калькуляторовКалькуляторы и инструменты на каждый день14 калькуляторовИнструменты для PDF и фото13 калькуляторовПроверка микрофона и камеры, запись экрана6 калькуляторовИнструменты для разработчиков8 калькуляторов

CalcWorthy

О проектеКонтактыКонфиденциальностьУсловия использования

Язык

Язык
РусскийRussianEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語Japanese한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese