Alat

Formatter & Validator YAML Online Gratis

Format, validasi, dan rapikan YAML di browser Anda, serta konversi antara YAML dan JSON. Berfungsi dengan konfigurasi Docker Compose, Kubernetes, dan GitHub Actions. Tidak ada data yang pernah dikirim ke server.

Semua proses parsing dan konversi terjadi secara lokal di browser Anda. YAML dan JSON Anda tidak pernah diunggah, disimpan, atau dicatat.

Apa Itu YAML?

YAML (YAML Ain't Markup Language) adalah format serialisasi data yang mudah dibaca manusia, dirancang agar mudah ditulis dan dibaca. Sintaksnya yang bersih dan berbasis indentasi telah menggantikan XML pada banyak file konfigurasi modern, menggerakkan alat seperti Docker Compose, Kubernetes, GitHub Actions, Ansible, dan Helm. YAML juga merupakan superset dari JSON, sehingga setiap dokumen JSON yang valid juga merupakan YAML yang valid — hal ini membuat konversi antara kedua format tersebut menjadi mudah dan tanpa kehilangan data untuk sebagian besar data konfigurasi sehari-hari.

Panduan Sintaks YAML

key: value Scalar — pasangan key/value sederhana. String multibaris menggunakan | (literal, mempertahankan baris baru) atau > (folded, menggabungkan baris).
- item List — setiap item pada barisnya sendiri, diawali dengan tanda hubung dan spasi.
parent: child: x Dictionary bersarang — menyatakan hierarki murni melalui indentasi.
# comment Komentar — apa pun setelah tanda # diabaikan oleh parser.
null / true / false Nilai khusus — null, true, dan false dikenali sebagai nilai bertipe, bukan string.
&anchor / *alias Anchor & alias — definisikan sebuah node sekali dengan &anchor dan gunakan kembali dengan *alias.
Penting: YAML tidak mengizinkan tab untuk indentasi — hanya spasi. Satu tab saja membuat seluruh dokumen tidak valid.

YAML vs JSON: Kapan Menggunakan Yang Mana

YAML

Gunakan YAML untuk file konfigurasi yang ditulis dan diedit secara manual. YAML mendukung komentar, lebih mudah dibaca, dan menjadi standar untuk Docker Compose, Kubernetes, GitHub Actions, Ansible, dan Helm.

JSON

Gunakan JSON untuk API dan data yang sedang dikirim. JSON diurai lebih cepat, tidak memiliki ambiguitas tipe, dan menjadi format di balik REST API, package.json, dan tsconfig.json.

Kesalahan Umum YAML dan Cara Memperbaikinya

  1. Menggunakan tab alih-alih spasi untuk indentasi — ganti setiap tab dengan spasi, karena YAML melarang tab.
  2. Indentasi tidak konsisten — pertahankan jumlah spasi yang sama pada setiap tingkat penulisan bersarang di seluruh dokumen.
  3. String yang mengandung titik dua tanpa tanda kutip — bungkus nilai seperti "12:30" atau "http://example.com" dengan tanda kutip.
  4. Boolean ambigu — nilai seperti yes, no, on, dan off diurai sebagai true/false; beri tanda kutip jika Anda memaksudkan kata harfiahnya.
  5. Karakter khusus dalam nilai tanpa tanda kutip — karakter seperti @, #, dan { memerlukan nilai yang dibungkus tanda kutip.

Pertanyaan yang Sering Diajukan

Tidak. YAML secara ketat melarang karakter tab untuk indentasi — Anda harus menggunakan spasi. Ini adalah salah satu penyebab paling umum dari error "YAML tidak valid". Jika editor Anda menyisipkan tab, atur agar tab dikonversi menjadi spasi (biasanya 2 per tingkat). Formatter di halaman ini selalu menghasilkan spasi, sehingga menjalankan file Anda melaluinya akan otomatis memperbaiki tab yang tidak disengaja.

Keduanya memperkenalkan string multibaris tetapi menangani jeda baris secara berbeda. Literal block scalar | mempertahankan baris baru persis seperti yang ditulis, sehingga setiap baris tetap pada barisnya sendiri — ideal untuk skrip atau teks berformat. Folded block scalar > menggabungkan baris dengan spasi, menyatukan blok menjadi satu baris sekaligus memperlakukan baris kosong sebagai pemisah paragraf — berguna untuk teks panjang yang ingin Anda susun dalam beberapa baris di sumber tetapi disimpan sebagai satu baris.

Ya. Sejak YAML 1.2, setiap dokumen JSON yang valid juga merupakan dokumen YAML yang valid, karena sintaks flow YAML menggunakan kurung kurawal, kurung siku, dan aturan tanda kutip yang sama dengan JSON. Ini berarti Anda dapat menempelkan JSON langsung ke parser YAML dan itu akan berfungsi, dan ini membuat konversi antara kedua format menjadi andal — persis seperti yang dilakukan tab YAML-ke-JSON dan JSON-ke-YAML di halaman ini.

Parser YAML menafsirkan berbagai kata — yes, no, on, off, true, false — sebagai nilai boolean. Jadi scalar tanpa tanda kutip yes dibaca sebagai boolean true dan diserialisasi demikian dalam JSON. Jika Anda memerlukan string harfiah "yes" (misalnya kode negara atau bidang jawaban), bungkus dengan tanda kutip: answer: "yes". Tanda kutip memaksa parser untuk mempertahankannya sebagai teks, bukan mengonversinya menjadi boolean.