YAML Форматтер
Форматируйте, проверяйте и конвертируйте YAML-документы с подсветкой синтаксиса и обнаружением ошибок
Ввод YAML
Результат форматирования
Инспектор
Расширенные настройки
Сравнить с другим YAML
Отправьте этот документ в Data Diff и вставьте вторую версию, чтобы увидеть, что изменилось.
Валидация с точной позицией ошибки
Валидация выполняется при каждом нажатии клавиши с помощью парсера js-yaml 1.2. Для корректных документов в реальном времени подсчитывается количество документов, отображений (mapping), последовательностей, ключей и глубина вложенности. Для некорректных указываются точные строка и столбец, вероятная причина и подсветка проблемной позиции — а не просто "syntax error".
Частые ошибки YAML, которые точно находит этот инструмент
Эти ошибки — причина большинства невалидных YAML-документов. Каждая из них обнаруживается с указанием позиции и вероятной причины:
Неправильные отступы
Дочерняя строка с отступом меньше родительской или строки одного уровня, которые не выровнены. Обычно парсер сообщает "bad indentation of a mapping entry" с точным номером строки.
Символ TAB
YAML запрещает табуляцию в отступах. Парсер сообщает "found a tab character that violates indentation" и подсвечивает проблемную строку.
Дублирующийся ключ
Один и тот же ключ дважды в одном отображении. js-yaml сообщает "duplicated mapping key" с номером строки второго вхождения.
Пропущенное двоеточие или пробел
Ключ без значения ("key key2") или двоеточие, прижатое к ключу ("key:value" — это обычная строка, а не пара ключ-значение). Парсер сообщает "could not find expected ':'".
До / После
Слева — сжатый манифест Kubernetes, справа — тот же документ, отформатированный с отступом в 2 пробела. Структура, дерево и пути обновляются на основе разобранного документа.
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
template:
metadata:
labels:
app: web
Краткая шпаргалка по YAML (YAML 1.2)
- Отступы задают структуру: только пробелы — символы TAB никогда не допускаются для отступов.
- После двоеточия должен идти пробел, чтобы оно было разделителем ключа: "key: value", а не "key:value".
- Скаляры приводятся к типам по core-схеме: true/false (логические), целые числа, числа с плавающей точкой, null (~ / null / пустое значение). Обратите внимание: "yes"/"no" в 1.2 — обычные строки.
- Несколько документов в одном файле разделяются строкой "---"; "..." завершает документ.
- Якоря (&base) и ссылки (*base) избавляют от дублирования (DRY); ключи слияния ("<<: *base") наследуют отображения.
Что делать с этими данными дальше
Форматирование — только первый шаг. Продолжайте работу, не покидая браузер:
Часто задаваемые вопросы
Ответы на распространенные вопросы о форматировании Yaml Formatter
Форматтер следует спецификации YAML 1.2, что обеспечивает совместимость с современными инструментами, такими как Kubernetes, Docker Compose, GitHub Actions и другими cloud-native платформами.
Да, функция двунаправленного преобразования позволяет конвертировать YAML в JSON и JSON в YAML с сохранением типов данных, вложенных структур и, где это применимо, комментариев.
Безусловно. Форматтер предназначен для обработки манифестов Kubernetes, файлов Docker Compose, конвейеров CI/CD и других YAML-файлов с несколькими документами с корректным разделением секций.
Валидатор проверяет единообразие отступов, корректное использование двоеточий и тире, парность кавычек в строках, ссылки на якоря и алиасы, а также выдаёт сообщения об ошибках с указанием строки для быстрой отладки.
Да, форматтер корректно обрабатывает якоря (&), алиасы (*) и ключи слияния (<<) YAML, сохраняя эти DRY-возможности при форматировании окружающей структуры.
YAML 1.2 — актуальная спецификация с yaml.org; именно её используют документы Kubernetes, docker-compose и GitHub Actions. В YAML 1.2 JSON стал допустимым подмножеством, а разбор логических значений стал строже; форматтер сохраняет явные кавычки там, где парсеры 1.1 (до сих пор распространённые в Python PyYAML) могли бы неверно истолковать значения вроде "no" или "0777".
Комментарии при якорях, алиасах и блочных скалярах YAML переносятся без изменений, но комментарий, привязанный к ключу, которому меняют отступ, смещается вместе с уровнем его отступа. Форматтер никогда не удаляет комментарии — он лишь минимально перемещает их, чтобы они оставались привязанными к описываемому узлу.
Он её помечает: «голые» NO, no, ON, on, yes, n автоматически заключаются в кавычки при форматировании, поэтому парсеры YAML 1.1 не смогут преобразовать их в логические значения. Список кодов стран [NO, SE, DK] остаётся тремя строками. YAML 1.2 распознаёт как логические значения только true/false, но кавычки — единственный вывод, безопасный в обеих версиях.
Авторитетные источники
Стандарты и официальная документация, определяющие форматы, с которыми работает этот инструмент.
Связанные инструменты
JSON-форматировщик
Форматируйте, проверяйте и украшайте JSON-данные с интеллектуальными отступами и подсветкой синтаксиса
Восстановление JSON
Мгновенно исправляйте некорректный, невалидный или сломанный JSON. Восстанавливайте обрезанный вывод LLM, пропущенные запятые, ключи без кавычек и висячие запятые прямо в браузере
Форматтер JSONL
Форматирование файлов JSON Lines (NDJSON) и конвертация между JSON и JSONL. Проверка каждой строки и форматирование NDJSON-потоков с отступами