DevToolPal
RU

Форматирование и валидация YAML

Проверьте синтаксис YAML, посмотрите все ошибки со строкой и столбцом и отформатируйте корректный YAML с единым отступом.

Работает локально, без загрузки на сервер

Параметры

Отступ

YAML

Символов: 0 · 0 B

Проверка

Здесь появится результат

Что это такое

YAML популярен в конфигурационных файлах — манифестах Kubernetes, workflow GitHub Actions и GitLab CI, Docker Compose, плейбуках Ansible, документах OpenAPI, — потому что его легко читать. Но и сломать его легко: неверный отступ, символ табуляции, незакрытая кавычка или пропущенный пробел после двоеточия могут изменить смысл файла или помешать его загрузке.

Этот валидатор разбирает ваш YAML и сообщает о каждой синтаксической ошибке со строкой и столбцом, а также о предупреждениях вроде неизвестных директив. Если YAML корректен, показываются количество документов и тип корневого значения каждого из них, а также можно вывести аккуратно отформатированную копию с единым отступом.

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

  1. Вставьте YAML в поле ввода, загрузите файл .yaml или .yml либо нажмите Пример.
  2. Результат появляется по мере ввода: зелёная метка YAML корректен или список ошибок вида Строка 3, столбец 2.
  3. Оставьте включённым Показывать отформатированный YAML, чтобы получить аккуратную копию, и выберите отступ в 2 или 4 пробела. Скопируйте её кнопкой над блоком.
  4. Выключайте Повторяющиеся ключи — ошибка, только если ваши инструменты допускают повторяющиеся ключи.

Частые ошибки

server:
  port: 8080
   host: localhost   # indented one space too far
tags: [web, api      # missing closing bracket
  • Несогласованные отступы: элементы одного уровня должны начинаться в одном столбце. YAML не допускает табуляцию в отступах.
  • Нет пробела после двоеточия: key:value — это обычная строка, а не ключ и значение.
  • Спецсимволы без кавычек: значения, начинающиеся с *, &, !, %, @ или обратной кавычки, а также содержащие : или #, нужно брать в кавычки.
  • Неожиданные типы: yes, no, on и off в YAML 1.2 — строки, а в старых парсерах YAML 1.1 — логические значения; на всякий случай берите их в кавычки. Номера версий вроде 1.10 без кавычек превращаются в число 1.1.

Проверка структуры

Этот инструмент проверяет синтаксис — то, является ли текст правильно сформированным YAML. Чтобы проверить, что в файле нужные ключи и типы значений, преобразуйте его инструментом YAML в JSON и проверьте результат валидатором JSON Schema.

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

› По какой версии YAML идёт проверка?

По YAML 1.2 — текущей версии, которую используют большинство современных инструментов. Ввод из нескольких документов, разделённых ---, проверяется по документам.

› Почему повторяющиеся ключи считаются ошибкой?

Спецификация YAML требует, чтобы ключи в отображении были уникальны, а многие парсеры молча оставляют только последнее значение и тем самым скрывают ошибки. Если ваш инструмент сознательно допускает дубли, выключите «Повторяющиеся ключи — ошибка».

› Сохраняются ли комментарии при форматировании?

Да. Комментарии, порядок ключей, якоря и строки в кавычках сохраняются; выравниваются только отступы и пробелы. Длинные строки не переносятся.

› Загружается ли мой YAML куда-нибудь?

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