Apa Itu Alat Ini?
YAML adalah format pilihan untuk sebagian besar file konfigurasi modern — manifest Kubernetes, Docker Compose, pipeline GitHub Actions dan GitLab CI, playbook Ansible — karena lebih mudah dibaca manusia dibanding JSON saat mengedit file secara manual: sebagian besar key tidak perlu tanda kutip, tidak ada risiko koma berlebih di akhir, dan mendukung komentar. Sementara itu, JSON adalah format yang dihasilkan dan dipakai secara native oleh sebagian besar API dan bahasa pemrograman.
Alat ini menjembatani keduanya memakai js-yaml, implementasi JavaScript dari spesifikasi YAML yang banyak digunakan, sehingga proses parsing dan pembuatannya mengikuti aturan yang sama seperti yang diterapkan alat pendukung YAML lain seperti `kubectl` atau runner CI.
Mengonversi JSON ke YAML mengubah objek menjadi blok key: value berindentasi dan array menjadi item daftar berawalan `-`. Mengonversi YAML ke JSON melakukan kebalikannya, sekaligus menyelesaikan berbagai singkatan tipe khas YAML (seperti true, null, atau angka tanpa tanda kutip) menjadi tipe JSON yang sesuai.
Mengapa Menggunakannya?
- Dua arah — konversi JSON ke YAML atau YAML ke JSON dari layar yang sama.
- Parsing dan pembuatan berbasis standar lewat js-yaml, sehingga hasilnya sesuai dengan yang diharapkan tooling YAML sungguhan (Kubernetes, sistem CI, Ansible).
- Menangani objek dan array bersarang di kedalaman berapa pun, mengonversi antara struktur berbasis indentasi YAML dan kurung kurawal/siku JSON.
- Menafsirkan singkatan tipe YAML dengan benar — nilai true/false, null, dan angka tanpa tanda kutip menjadi tipe JSON yang sesuai, bukan sekadar string.
- Salin ke clipboard atau unduh sebagai file .json atau .yaml.
- 100% berjalan di sisi klien — apa pun yang Anda tempel tidak diunggah ke mana pun.
Cara Menggunakan
- Pilih arah: "JSON → YAML" atau "YAML → JSON".
- Tempel data Anda ke kotak input.
- Klik "Convert".
- Periksa hasilnya, lalu salin atau klik "Download" untuk menyimpan file.
Contoh
Input
{"name":"Alice","roles":["admin","editor"],"active":true}Output
name: Alice
roles:
- admin
- editor
active: true
Perhatikan bagaimana array menjadi daftar item bertanda strip di bawah "roles", dan nilai boolean tetap true tanpa tanda kutip, bukan menjadi string "true".
Tips praktis
- Menulis manifest Kubernetes atau workflow GitHub Actions: susun dulu strukturnya sebagai JSON (banyak editor dan alat AI menghasilkan JSON lebih andal), lalu konversi ke YAML untuk file finalnya.
- Men-debug konfigurasi YAML yang bermasalah: konversi ke JSON untuk melihat dengan jelas mana nilai yang berupa string, angka, atau boolean — sintaks YAML yang fleksibel bisa menyembunyikan ketidakcocokan tipe yang justru jelas terlihat di JSON.
- Kalau JSON Anda punya key dengan karakter khusus atau yang diawali angka, js-yaml akan otomatis memberi tanda kutip pada key tersebut di output YAML supaya bisa diparsing kembali dengan benar.
Kenapa konversi tipe adalah bagian tersulit dari YAML
Keunggulan usability terbesar YAML dibanding JSON — tidak perlu tanda kutip untuk sebagian besar nilai — juga menjadi sumber bug tersembunyi terbesarnya. Contoh klasiknya adalah "masalah Norwegia": di YAML 1.1 (yang masih dipakai banyak parser lama), nilai `no` tanpa tanda kutip diartikan sebagai boolean `false`, bukan string "no", yang pernah merusak konfigurasi kode negara dunia nyata yang memuat Norwegia. Alat ini mengikuti spesifikasi YAML 1.2, yang mempersempit kumpulan nilai tanpa tanda kutip yang dianggap boolean hanya menjadi `true` dan `false` (beserta variasi huruf besar/kecilnya), sehingga mengurangi — meski tidak sepenuhnya menghilangkan — jenis kejutan ini. Kalau ragu bagaimana sebuah nilai akan ditipekan, cara paling aman adalah memberinya tanda kutip secara eksplisit di YAML Anda.
Pertanyaan yang Sering Diajukan
Apakah komentar YAML tetap ada setelah dikonversi ke JSON dan kembali lagi?
Tidak. JSON tidak punya konsep komentar, jadi mengonversi YAML ke JSON akan membuang komentar # apa pun di sumbernya. Kalau JSON itu dikonversi kembali ke YAML, komentarnya tidak akan muncul lagi — ini keterbatasan bawaan format tersebut, bukan bug pada alat ini.
Bagaimana alat ini menangani anchor dan alias YAML (& dan *)?
Parser yang dipakai (js-yaml) akan menyelesaikan anchor dan alias sebelum menghasilkan JSON, jadi file YAML yang memakai anchor & dan alias * untuk memakai ulang sebuah blok data akan dikonversi ke JSON dengan data itu diperluas penuh di setiap tempat referensinya.
Kenapa angka YAML saya berubah jadi string di JSON, atau sebaliknya?
Kalau sebuah nilai diberi tanda kutip di sumber YAML (misalnya version: "3.10"), nilai itu memang sengaja diperlakukan sebagai string — ini penting karena angka YAML tanpa tanda kutip seperti 3.10 bisa kehilangan angka nol di belakangnya saat diparsing sebagai float. Beri tanda kutip pada nilai di YAML sumber kalau Anda memang ingin nilai itu diperlakukan sebagai teks.
Bisakah saya mengonversi file YAML dengan beberapa dokumen (dipisahkan dengan ---)?
Alat ini mengonversi satu dokumen YAML dalam satu waktu. Kalau file Anda punya beberapa dokumen yang dipisahkan tanda ---, konversilah satu bagian dulu, atau hapus dulu pemisahnya dan gabungkan menjadi satu dokumen kalau itu sesuai kebutuhan Anda.
Apakah data saya diunggah ke suatu tempat?
Tidak. Konversi berjalan sepenuhnya di browser Anda memakai library js-yaml — tidak ada yang dikirim ke server, sehingga aman dipakai untuk file konfigurasi asli, termasuk yang berisi hostname internal atau detail infrastruktur.