Penukar JSON ke YAML

Penukar JSON ke YAML kami mengubah dokumen JSON apa pun yang valid menjadi representasi YAML yang bersih dan mudah dibaca manusia secara real-time. Tempel objek konfigurasi, respons API, atau manifes YAML dan langsung lihat ekuivalen YAML-nya — dengan inden 2 spasi yang tepat, tanda kutip otomatis untuk string ambigu (yes/no/null/angka-sebagai-string), rendering array/objek bertingkat, dan salin sekali klik. Validasi sudah bawaan: JSON yang tidak valid menunjukkan posisi kesalahan yang tepat sehingga Anda dapat memperbaiki dan mengubahnya kembali. Semuanya berjalan di browser Anda, sehingga payload sensitif (kunci API, rahasia, JWT) tidak pernah meninggalkan perangkat Anda. Gunakan untuk alur kerja DevOps, spesifikasi OpenAPI/Swagger, GitHub Actions, peran Ansible, nilai Helm, atau di mana pun YAML lebih disukai daripada JSON.

star 4.9
auto_awesome AI
New

JSON ke YAML calculator

info Paste JSON to convert to YAML
0 lines 0 B 0 keys depth 0

lightbulb Tips

  • •YAML uses 2-space indent — tabs are forbidden
  • •Quote strings like "yes", "no", "null" to keep them as text
  • •Quote ZIP codes ("01234") so leading zeros survive
  • •YAML supports # comments — JSON does not
  • •Round-trip JSON → YAML → JSON is lossless

Cara Mengubah JSON ke YAML dalam 3 Langkah: Tempel, Format, Salin

content_paste

Tempel JSON

Tempel JSON apa pun yang valid — objek, array, respons API, atau manifes Kubernetes lengkap. Pengonversi akan memvalidasi saat Anda mengetik.

swap_horiz

Konversi

YAML langsung muncul dengan indentasi 2 spasi, tanda kutip yang aman untuk tipe data, dan penyarangan sekuens/peta yang tepat. Pilih indentasi 4 spasi jika proyek Anda memerlukannya.

content_copy

Salin atau Unduh

Klik Salin untuk menyalin ke papan klip, atau Unduh untuk menyimpan sebagai file `.yaml` yang siap dimasukkan ke repositori Anda, kubectl apply, atau docker compose up.

fact_check

Validasi

JSON yang tidak valid akan menampilkan error parser beserta baris dan kolomnya. Perbaiki masalahnya dan output YAML akan diperbarui secara otomatis.

The Formula

Konversi JSON ke YAML mem-parsing teks JSON ke dalam struktur dalam memori (objek → map, array → sekuens, primitif dipertahankan apa adanya), lalu menelusuri pohon tersebut dan mengeluarkan sintaks YAML tingkat demi tingkat. Indentasi mencerminkan kedalaman pengetikan (nesting). String diberi tanda kutip hanya jika diperlukan — saat mengandung karakter khusus (`:` `#` `-` `&` `*` `!` `|` `>` `'` `"` `%` `@`), mirip tipe data lain (`yes`, `no`, `null`, `~`, `on`, `off`, hanya angka), atau kosong. Array menggunakan prefiks `- `; array/objek bertingkat meningkatkan indentasi. Hasilnya dapat dibalik (round-trip): mem-parsing ulang dengan parser YAML menghasilkan struktur data yang sama persis seperti JSON aslinya.

JSON.parse(input) → emit YAML(parsed, indent, quoting)

lightbulb Variables Explained

  • input String JSON mentah (objek, array, atau skalar)
  • JSON.parse() Mem-parsing dan memvalidasi JSON menurut RFC 8259 / ECMA-404
  • emit YAML() Menelusuri pohon yang di-parsing dan mengeluarkan YAML 1.2.2 berindentasi
  • indent Jumlah spasi per tingkat (2 adalah standar; 4 terkadang digunakan)
  • quoting String yang menyerupai boolean, null, atau angka diberi tanda kutip untuk mencegah paksaan tipe YAML

tips_and_updates Pro Tips

1

Gunakan inden 2 spasi di YAML — tab tidak diperbolehkan dan menyebabkan kegagalan penguraian diam-diam

2

Beri tanda kutip pada string yang terlihat seperti boolean (yes/no/on/off/true/false) atau null untuk mencegah koersi tipe yang tidak diinginkan

3

Nilai kosong menjadi null di YAML — tulis `null` atau `~` secara eksplisit untuk kejelasan dalam konfigurasi yang ditinjau oleh manusia

4

String multi-baris: gunakan `|` untuk blok literal (mempertahankan baris baru), `>` untuk paragraf yang dilipat (digabungkan dengan spasi)

5

Komentar dimulai dengan `#` — JSON tidak memiliki dukungan komentar bawaan, sehingga mengubahnya kembali ke JSON akan menghapusnya

6

Untuk manifes Kubernetes, YAML adalah konvensi — lebih mudah ditinjau di PR dan didokumentasikan secara inline

7

Keamanan putar-balik (round-trip): JSON → YAML → JSON harus mempertahankan data; uji dengan input non-sepele sebelum mengandalkannya

8

Anchor (&) dan alias (*) memungkinkan Anda menggunakan ulang blok YAML, tetapi tidak bertahan dalam putar-balik melalui JSON

9

String numerik seperti kode pos ("01234") memerlukan tanda kutip di YAML — jika tidak, string tersebut akan menjadi integer dan kehilangan angka nol di depan

10

Validasi YAML dengan `yamllint`, `kubectl --dry-run=client`, atau `docker compose config` sebelum menerapkan

Konversikan dokumen JSON yang valid ke YAML 1.2.2 bersih secara instan — tempel, konversi, salin. Konverter ini menangani tingkat kedalaman yang tinggi, mempertahankan tipe data, otomatis memberikan tanda kutip pada string ambigu (yes/no/null/ID numerik), dan mengeluarkan indentasi 2 spasi sesuai konvensi Kubernetes, Docker Compose, dan Ansible. Semuanya berjalan di browser Anda, sehingga kunci API, data rahasia, dan payload JWT tidak pernah meninggalkan perangkat Anda. Di bawah ini: cara kerja konversi di baliknya, perbedaan JSON vs YAML yang penting untuk DevOps, pola konversi untuk manifest Kubernetes / Docker Compose / nilai Helm / spesifikasi OpenAPI, kendala umum YAML, dan lembar sontekan (cheat sheet) untuk melakukan round-trip secara aman.

Konverter JSON ke YAML Online: Konversi JSON Apa Pun ke YAML Secara Instan

Tempel JSON yang valid — objek, array, skalar, respons API, atau manifest Kubernetes lengkap — dan konverter akan mengeluarkan ekuivalen YAML secara real-time.

Konversi berjalan sepenuhnya di dalam browser Anda menggunakan fungsi bawaan JSON.parse untuk validasi input (menurut ECMA-404 / RFC 8259), lalu menelusuri pohon yang telah di-parsing dan mengeluarkan sintaks YAML 1.2.2.

Indentasi 2 spasi adalah bawaan default — standar de facto di Kubernetes, Ansible, GitHub Actions, dan Docker Compose. Beralihlah ke indentasi 4 spasi jika basis kode Anda memerlukannya.

Output sudah siap ditempel ke dalam file `.yaml` atau disalurkan ke `kubectl apply -f -`. Panel sebelah kanan menampilkan jumlah bita dan baris secara langsung sehingga Anda dapat memeriksa ukuran secara cepat sebelum melakukan commit.

Cara Mengonversi JSON ke YAML: Alur Kerja 3 Langkah untuk Pengembang

Konversikan dalam tiga langkah:

  • Langkah 1: Tempel JSON Anda ke dalam editor. Konverter melakukan validasi saat Anda mengetik — JSON yang tidak valid akan menampilkan error parser yang tepat beserta baris dan kolomnya.
  • Langkah 2: Output YAML muncul secara langsung di panel kanan. Tidak perlu klik tombol; setiap ketukan tombol akan merender ulang.
  • Langkah 3: Klik Salin (papan klip) atau Unduh (file `.yaml`).

Untuk alur kerja terprogram, logika yang sama diekspos melalui endpoint `/api/calculate` — lakukan POST JSON ke sana dan terima YAML pada bodi respons.

Keamanan round-trip: konversikan kembali YAML ke JSON dengan Konverter YAML ke JSON terkait; model data dipertahankan secara akurat (komentar dan anchor adalah fitur khusus YAML dan tidak ikut terbawa dalam proses round-trip).

JSON vs YAML: Perbedaan Utama dalam Sintaks, Kinerja, dan Kasus Penggunaan

JSON dan YAML merepresentasikan model data yang sama — map (objek), sekuens (array), dan skalar (string/angka/bool/null) — namun dengan sintaks permukaan yang sangat berbeda.

JSON sarat dengan kurung kurawal dan tanda kutip: setiap kunci menggunakan `"`, setiap map menggunakan `{}`, setiap array menggunakan `[]`, dan setiap pemisah bersifat eksplisit ( `:` dan `,`). YAML digerakkan oleh indentasi: tingkat kedalaman tersirat dari indentasi 2 spasi, sekuens menggunakan prefiks `- `, dan sebagian besar string tidak memerlukan tanda kutip.

JSON di-parsing 5–10× lebih cepat di semua runtime bahasa utama, bebas dari ambiguitas, dan merupakan pilihan tepat untuk API, antrean pesan (message queues), aliran log, dan format penyimpanan.

YAML mendukung komentar (`#`), anchor dan alias untuk penggunaan ulang (`&name` / `*name`), aliran multi-dokumen (`---`), dan tag tipe eksplisit (`!!str`, `!!int`) — keunggulan yang menjadikannya pilihan tepat untuk konfigurasi yang dikontrol versinya, alur kerja CI/CD, infrastruktur sebagai kode (IaC), dan manifest Kubernetes.

Pilih JSON untuk mesin, YAML untuk manusia, dan lakukan konversi di antaranya pada batas sistem.

Mengonversi Objek JSON Bertingkat ke YAML: Array, Map, dan Pohon yang Dalam

Pohon bertingkat dalam adalah situasi di mana konversi JSON-ke-YAML sangat diandalkan — melacak kurung kurawal dan indentasi secara manual pada 5+ tingkat sangat rentan terhadap error.

Konverter menelusuri pohon JSON yang di-parsing secara rekursif:

  • Untuk setiap map (objek), kunci dikeluarkan sesuai urutan asalnya dengan sintaks `key: value`; nilai bertingkat di-indentasi 2 spasi lagi.
  • Untuk setiap sekuens (array), item menggunakan prefiks `- `; objek bertingkat di bawah tanda `-` dimulai pada baris yang sama dengan tanda hubung tersebut dan mewarisi tingkat indentasi berikutnya.

Struktur campuran — array dari objek, objek yang berisi array dari objek, secara rekursif — semuanya akan merender dengan benar. Kedalaman maksimum hanya dibatasi oleh tumpukan panggilan (call stack) browser Anda (~10.000+ frame di browser modern, jauh melampaui konfigurasi realistis apa pun).

Uji dengan data simulasi Anda sendiri: parse kembali output YAML ke JSON dan pastikan kesamaan strukturnya dengan input.

JSON ke YAML Kubernetes: ConfigMap, Manifest, dan Nilai Helm

Manifest Kubernetes adalah kasus penggunaan paling umum untuk konverter ini. Banyak alat (kubectl, Lens, k9s, Helm) mengeluarkan JSON melalui flag `-o json`; format sumber kebenaran kanonis yang dikomit ke Git adalah YAML.

Tempel output JSON dari `kubectl get deployment -o json` dan konverter akan menghasilkan manifest bersih yang siap dikomit. Hierarki apiVersion, kind, metadata, dan spec mempertahankan urutan bidang yang tepat.

Untuk nilai chart Helm, tempel nilai JSON Anda dan masukkan YAML ke dalam `values.yaml` — template Helm akan membacanya tanpa perubahan. Untuk overlay Kustomize, konversikan objek patch Anda dan tambahkan ke daftar `patchesStrategicMerge`.

Validasi output dengan `kubectl apply --dry-run=client -f file.yaml` sebelum melakukan commit — langkah ini akan mendeteksi masalah tingkat skema yang mungkin terlewatkan jika hanya mengandalkan validasi sintaks YAML.

JSON ke Docker Compose YAML: Definisi Servis dan Konfigurasi Multi-Kontainer

Docker Compose file berupa YAML murni yang sesuai dengan Compose Specification (compose-spec.io). Ketika Anda memiliki output JSON terprogram — dari pembuat konfigurasi, ekspor Compose v2 sebelumnya, atau skrip templat — konversikan di sini dan tempel ke dalam `docker-compose.yaml`.

Kunci tingkat atas (`services`, `networks`, `volumes`, `configs`, `secrets`) dan spesifikasi bersarang di dalamnya (image, ports, environment, depends_on, healthcheck) semuanya dikonversi dengan benar.

Perhatikan port: string singkatan seperti `"8080:80"` harus tetap diberi tanda kutip dalam YAML untuk mencegah penguraian sebagai angka seksagesimal — konverter menangani ini secara otomatis.

Validasi dengan `docker compose config` sebelum `docker compose up`; perintah ini mengurai, menggabungkan beberapa file, dan mencetak konfigurasi yang telah diselesaikan persis seperti yang akan dijalankan oleh mesin.

Aturan Sintaks YAML: Indentasi, Jangkar, String Multi-Baris & Paksaan Tipe

Aturan indentasi YAML sangat ketat: 2 spasi per level (4 juga valid tetapi jarang), tab dilarang, dan kunci sejajar harus disejajarkan dengan tepat. Urutan (`- item`) dan peta (`key: value`) dapat bersarang dengan bebas.

String multi-baris hadir dalam dua jenis: blok literal (`|`) mempertahankan setiap baris baru; blok terlipat (`>`) menggabungkan baris dengan spasi (gaya paragraf).

Jangkar (`&name`) dan alias (`*name`) memungkinkan Anda menentukan node YAML sekali dan menggunakannya kembali di tempat lain — umum dalam file Compose untuk templat servis bersama.

Tag tipe eksplisit (`!!str`, `!!int`, `!!bool`, `!!null`) menggantikan pengetikan otomatis YAML saat Anda memerlukan string yang terlihat seperti angka, atau sebaliknya.

Konverter ini memberi tanda kutip pada string ambigu secara otomatis: `"yes"`, `"no"`, `"null"`, `"~"`, nilai yang tampak seperti angka seperti `"01234"`, dan string apa pun yang berisi karakter khusus YAML (`:`, `#`, `-`, `&`, `*`, `!`, `|`, `>`, `'`, `"`, `%`, `@`).

Validasi Sintaks YAML: Kesalahan Umum, Tab vs Spasi, dan Jebakan Tipe

Enam kesalahan menyumbang 95% dari YAML yang rusak di alam bebas.

  • (1) Tab di mana saja — bahkan satu karakter tab merusak penguraian. Konfigurasikan editor Anda untuk memasukkan spasi.
  • (2) Indentasi tidak konsisten — kunci sejajar yang melenceng satu kolom adalah kesalahan penguraian.
  • (3) Spasi hilang setelah `:` — `key:value` tidak valid; `key: value` adalah benar.
  • (4) String tanpa tanda kutip yang terlihat seperti boolean (`yes`, `no`, `on`, `off`) — dipaksa menjadi true/false di YAML 1.1 (pengurai lama). YAML 1.2 mempersempit boolean hanya menjadi `true`/`false`, tetapi pemberian tanda kutip defensif tetap bijaksana.
  • (5) String numerik tanpa tanda kutip — `01234` menjadi integer 1234, kehilangan angka nol di depan.
  • (6) Spasi hilang setelah `-` — `-item` adalah string yang dimulai dengan tanda hubung; `- item` adalah entri urutan.

Validasi dengan `yamllint`, ekstensi YAML di VS Code, atau validator khusus domain (`kubectl --dry-run`, `docker compose config`, `ansible-playbook --syntax-check`).

Konverter JSON ke YAML untuk API: Isi Respon, OpenAPI, dan Swagger

Alur kerja API mendapat manfaat dari JSON-ke-YAML di dua tempat.

Pertama, spesifikasi OpenAPI 3.x umumnya dibuat dalam YAML (lebih mudah dibaca untuk pohon jalur/parameter) tetapi diekspor sebagai JSON untuk alat bantu — konversikan ke arah mana pun sesuai kebutuhan alur pengeditan Anda. Konverter mempertahankan bidang yang diperlukan, definisi skema, penunjuk $ref, dan isi contoh.

Kedua, saat mendokumentasikan API, tempel contoh respons JSON dan sajikan versi YAML di dokumentasi Anda — lebih mudah bagi pembaca untuk memindai isi respons yang bersarang dalam.

Untuk integrasi Swagger UI, `swagger.yaml` dan `swagger.json` keduanya diterima; banyak tim menyimpan YAML dalam kontrol sumber dan memancarkan JSON pada waktu pembuatan. Keamanan pulang-pergi berlaku untuk spesifikasi OpenAPI karena mereka tidak menggunakan komentar atau jangkar dalam bentuk kanonis.

JSON ke YAML untuk DevOps: Playbook Ansible, GitHub Actions, dan CI/CD

Hampir setiap platform CI/CD modern menggunakan YAML untuk definisi pipa:

  • GitHub Actions (`.github/workflows/*.yaml`)
  • GitLab CI (`.gitlab-ci.yml`)
  • CircleCI (`.circleci/config.yml`)
  • Travis (`.travis.yml`)
  • Drone
  • Concourse
  • Argo Workflows
  • Tekton

Ketika Anda memiliki konfigurasi JSON — dari pembuat, ekspor kontrol versi sebelumnya, atau pembangun terprogram — tempel di sini dan pancarkan YAML.

Playbook Ansible secara khusus sangat bergantung pada struktur daftar tugas YAML dengan jangkar untuk blok yang digunakan kembali; konverter mengeluarkan urutan dengan rapi sehingga Anda dapat menempel di bawah `tasks:` tanpa pengeditan lebih lanjut.

Untuk GitHub Actions, bagian yang paling rumit adalah kondisi `if:` dan strategi matriks — simpan YAML yang dikonversi, lalu tambahkan komentar yang menjelaskan maksud (fitur khusus YAML yang akan hilang jika Anda kembali ke JSON).

Kasus Tepi Konversi JSON ke YAML: Komentar, Boolean, dan Nilai Null

Lima kasus tepi merusak konverter naif.

  • (1) Komentar: JSON tidak memilikinya, YAML mendukung `#`. Perjalanan pulang-pergi JSON → YAML → JSON tidak mengalami kehilangan data, tetapi YAML → JSON → YAML menghilangkan setiap komentar. Pertahankan YAML sebagai sumber kebenaran Anda saat komentar penting.
  • (2) Paksaan boolean: pengurai warisan YAML 1.1 memperlakukan `yes`/`no`/`on`/`off` sebagai boolean. Pengurai modern (1.2.2) hanya memperlakukan `true`/`false` seperti itu, tetapi pemberian tanda kutip defensif mencegah kejutan.
  • (3) Null: `null` JSON dipetakan ke `null`, `~`, atau nilai kosong YAML. Konverter memancarkan `null` agar jelas; beberapa alat lebih menyukai kosong (`key:`) tetapi itu bisa ambigu dengan string kosong.
  • (4) String numerik: `"01234"` (kode pos AS) kehilangan angka nol di depan jika tidak dikutip dalam YAML — konverter memberi tanda kutip padanya.
  • (5) Angka mengambang dengan nol di akhir: `1.50` melakukan perjalanan pulang-pergi sebagai `1.5` karena JSON dan YAML menggunakan representasi numerik kanonis. Jika nol di akhir penting (mata uang, string versi), serialisasikan sebagai string.

Lembar Contek JSON ke YAML: Pemetaan Tipe, Pilihan Gaya & Kiat Pulang-Pergi

Pemetaan tipe sekilas:

  • Objek JSON → Peta YAML (gaya blok)
  • Array JSON → Urutan YAML (item `-`)
  • String JSON → String YAML (dikutip otomatis saat ambigu)
  • Angka JSON → Skalar YAML dengan nilai numerik yang sama
  • True/false JSON → True/false YAML
  • Null JSON → Null YAML

Pilihan gaya:

  • lebih menyukai gaya blok (multi-baris, diindentasi) untuk keterbacaan daripada gaya alur (`{key: value, ...}` padat mirip JSON)
  • selalu gunakan indentasi 2 spasi
  • pancarkan kunci dalam urutan sumber (cocok dengan perilaku JSON)

Kiat pulang-pergi:

  • (1) JSON → YAML → JSON tidak mengalami kehilangan data.
  • (2) YAML → JSON menghilangkan komentar, jangkar (diperluas), tag eksplisit, aliran multi-dokumen.
  • (3) Selalu kutip string yang terlihat seperti boolean, null, atau angka.
  • (4) Uji output Anda dengan alat aktual yang mengonsumsinya (kubectl, docker compose, ansible-playbook) — ini memiliki validasi yang lebih ketat daripada pengurai YAML generik.
  • (5) Pertahankan kedua versi dalam kontrol sumber jika tim Anda menggunakan kedua format; perlakukan satu sebagai kanonis (biasanya YAML untuk konfigurasi, JSON untuk API) dan buat ulang yang lain saat build.
code

Embed this Penukar JSON ke YAML on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/json-to-yaml-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Penukar JSON ke YAML by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/json-to-yaml-converter?utm_source=embed&utm_medium=snippet&utm_campaign=json-to-yaml-converter">Penukar JSON ke YAML</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags