Форматування та конвертація YAML

Онлайн-форматер і валідатор YAML — знайдіть зайве двокрапку у docker-compose.yml до того, як вона зламає деплой, перевірте Helm chart або перетворіть JSON-сніпет із kubectl у редагований YAML. Вставте YAML, щоб перевірити синтаксис і переформатувати з узгодженими відступами, або конвертуйте між YAML і JSON у будь-якому напрямку. Режим автовизначення сам обирає потрібну операцію. YAML 1.2 (сучасна специфікація — без «проблеми Норвегії») з повною підтримкою кількох документів: файли з кількома --- документами розбираються та відтворюються правильно, відповідно до того, чого очікують `kubectl apply` і `helm template`. Відступ 2 або 4 пробіли, опціональне сортування ключів за алфавітом для детермінованих git-дифів.

Як користуватися

1
Вставте YAML або JSON

Автовизначення за замовчуванням обирає правильний напрямок.

2
Оберіть відступ і параметри

2 пробіли — стандарт для YAML; сортування ключів корисне для дифів.

3
Переглянте результат

Перевірений та переформатований (або конвертований) результат з’явиться праворуч.

4
Скопіюйте або завантажте

Одним кліком скопіюйте в буфер або збережіть як .yaml / .json.

Перевіряйте та форматуйте YAML, конвертуйте між YAML і JSON — специфікація YAML 1.2 з підтримкою кількох документів

Режим
Відступ
Параметри
Вхідні дані
Результат
Не знаєте, що спробувати?
700+ інструментів — відкрийте сюрприз
🎲 Здивуйте мене

Що можна зробити

Форматування та перевірка YAML
Переформатує з узгодженими відступами; синтаксичні помилки відображаються з номерами рядків.
YAML ↔ JSON
Конвертація в обидва боки — з автовизначенням або вибором вручну.
Відступ 2 або 4 пробіли
Відповідайте стилю своєї команди або вимогам CI.
Сортування ключів
Алфавітне сортування ключів об’єктів — робить дифи детермінованими.
Кілька документів YAML
Файли з кількома --- документами розбираються та відтворюються правильно.
Миттєва перевірка
Синтаксис перевіряється при кожному натисканні клавіші з номерами рядків у помилках — не потрібно чекати kubectl --dry-run, щоб знайти друкарську помилку.

Типові застосування

  • Перевірте docker-compose.yml або маніфест Kubernetes перед деплоєм.
  • Конвертуйте JSON-конфіг API у YAML для використання в GitHub Actions.
  • Нормалізуйте відступи YAML у команді — сортуйте ключі для детермінованих дифів.
  • Перетворіть JSON-сніпет Kubernetes із kubectl у YAML для редагування.
  • Знайдіть синтаксичну помилку у файлі YAML із кількома документами (зайве двокрапку).

Чому саме цей

Перевірка відбувається миттєво при кожному натисканні клавіші — не потрібен kubectl --dry-run, щоб знайти зміщене двокрапку. Автовизначення працює в обидва боки; сортування ключів дає детермінований результат, придатний для git-дифів (збігається з тим, що виводить `yq -P`). Підтримка кількох документів означає, що реальні маніфести Kubernetes, робочі процеси GitHub Actions і шаблони Helm chart конвертуються без втрат.

Часті запитання

Чому сортування ключів змінює порядок у списку?

Сортування ключів стосується лише ключів об’єктів (маппінгів), але не порядку елементів у списку (послідовностях). Якщо у вашому YAML є впорядковані списки — вони залишаться впорядкованими; якщо є об’єкти з ключами — ці ключі відсортуються за алфавітом. Поведінка така сама, як у `yq -P sort_keys(..)`.

YAML 1.1 чи 1.2?

Інструмент орієнтований на YAML 1.2 — безпечнішу сучасну специфікацію, яку використовують Kubernetes, GitHub Actions і сучасний Ansible. У YAML 1.1 є відома «проблема Норвегії»: код країни `no` без лапок розбирається як булеве `false`; у версії 1.2 це виправлено — булеві значення вимагають явних `true`/`false`. Якщо ваш файл прийшов зі старого Ruby/Puppet-пайплайну, що очікує YAML 1.1, перевірте, що рядки `yes`, `no`, `on`, `off` без лапок конвертуються так, як ви очікуєте.

Підтримуються кілька документів YAML?

Так — документи, розділені ---, розбираються окремо. JSON-результат для кількох документів YAML — це JSON-масив.

Якорі та псевдоніми (&foo / *foo)?

Розбираються правильно. При відтворенні YAML форматер зберігає псевдоніми там, де це можливо (залежно від flow_level), але структура канонізується — точне розміщення &/* може не зберегтися після конвертації туди-назад.

Чи працює на мобільному?

Так — на вузьких екранах поля вхідних і вихідних даних вишиковуються вертикально.

💡 Хочете, щоб ми покращили цей інструмент спеціально для вас?

Звичайно! Просто надішліть нам коротке повідомлення з вашою ідеєю. Якщо хочете обговорити детальніше — залиште email, і ми зв’яжемося з вами. Можна залишитися анонімом.

Як ви оцінюєте цей інструмент?

Дякуємо за вашу оцінку!
Хочете розповісти більше? Залиште коментар!
Дякуємо! Ваш коментар з’явиться після модерації.
Опубліковано Оновлено Автор: