Skip to content

Format & Validasi JSON Online — Gratis, Cepat, Privat

Format, validasi, dan rapikan JSON langsung di browser Anda. Alat online gratis dengan deteksi error, minifikasi, dan salin sekali klik. 100% privat.

Tanpa Pelacakan Berjalan di Browser Gratis
Output
Ditinjau untuk kepatuhan RFC 8259 dan kebenaran formatting — Go Tools Engineering Team · Mar 22, 2026

Apa Itu JSON?

JSON (JavaScript Object Notation) adalah format pertukaran data berbasis teks yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah di-parse dan dihasilkan oleh mesin. Distandarkan sebagai RFC 8259 dan ECMA-404, JSON telah menjadi standar universal untuk pertukaran data di hampir semua bahasa pemrograman, API, dan layanan web.

Seperti yang ditulis Douglas Crockford, pencipta JSON, di json.org: "Tujuan desain JSON adalah agar minimal, portabel, berbasis teks, dan merupakan subset dari JavaScript." Kesederhanaan yang disengaja inilah mengapa JSON mengalahkan XML dan menjadi lingua franca web modern.

JSON mendukung enam tipe data: string (dalam tanda kutip ganda), angka, boolean (true/false), null, array (daftar terurut), dan objek (pasangan kunci-nilai) (RFC 8259). Kesederhanaan dan keterbacaannya menjadikannya format yang lebih disukai dibanding XML untuk sebagian besar aplikasi web modern, REST API, dan file konfigurasi. JSON adalah format data paling populer untuk API, digunakan oleh 86% developer (Postman State of API Report 2023).

JSON formatter mengubah JSON mentah atau diminifikasi menjadi format terstruktur dengan indentasi yang rapi sehingga hierarki data langsung terlihat. Ini penting untuk men-debug respons API, memeriksa file konfigurasi, dan memahami struktur data bertingkat yang kompleks. Tidak seperti XML, JSON tidak mendukung komentar, atribut, atau namespace — ia fokus murni pada representasi data (ECMA-404).

Alat ini berjalan sepenuhnya di browser Anda — data JSON Anda tidak pernah meninggalkan perangkat. Tidak seperti formatter berbasis server, tidak ada unggahan, tidak ada logging, dan tidak ada penyimpanan data. Aman digunakan dengan API key, konfigurasi produksi, dan data proprietari.

JSON sering digunakan bersama alat developer lainnya. Saat men-debug API, Anda mungkin perlu mendekode payload Base64 JSON (seperti token JWT), atau menghasilkan UUID untuk digunakan sebagai identifier unik dalam struktur data JSON. Bekerja dengan file konfigurasi JSON5 atau JSONC? Lihat panduan formatting JSON5 dan JSONC kami untuk perbedaan sintaks, dukungan tooling, dan praktik terbaik.

// Format (pretty-print) JSON with 2-space indentation
const raw = '{"name":"Alice","age":30,"active":true}';
const parsed = JSON.parse(raw);        // parse string → object
const formatted = JSON.stringify(parsed, null, 2);
console.log(formatted);
// → {
//     "name": "Alice",
//     "age": 30,
//     "active": true
//   }

// Minify JSON (strip all whitespace)
const minified = JSON.stringify(parsed);
console.log(minified);
// → '{"name":"Alice","age":30,"active":true}'

Fitur Utama

Formatting Instan

Tempel JSON apa pun dan dapatkan output dengan indentasi sempurna dalam hitungan milidetik. Mendukung indentasi 2 spasi dan 4 spasi.

Validasi Real-Time

Mendeteksi kesalahan sintaks secara otomatis saat Anda mengetik, dengan pesan error yang jelas menunjukkan baris dan posisi yang tepat.

Minifikasi Sekali Klik

Kompres JSON terformat menjadi satu baris untuk mengurangi ukuran file untuk API produksi dan file konfigurasi.

100% Berbasis Browser

Semua pemrosesan terjadi secara lokal di browser Anda. Data Anda tidak pernah meninggalkan perangkat — tanpa unggahan ke server, tanpa pelacakan.

Menangani File Besar

Memproses file JSON hingga 10MB secara efisien dengan performa lancar, tanpa peringatan ukuran file atau crash.

Salin & Unduh

Ekspor hasil secara instan — salin ke clipboard atau unduh sebagai file .json dengan satu klik.

Contoh

Respons API

{"status":200,"data":{"user":{"id":"usr_2x7kP9","name":"Alice Chen","email":"alice@example.com","roles":["admin","editor"],"lastLogin":"2026-03-12T08:30:00Z"},"meta":{"requestId":"req_abc123","timestamp":1741776600}}}

Format respons REST API umum dengan data pengguna bertingkat dan metadata

Konfigurasi Paket

{"name":"my-app","version":"2.1.0","private":true,"scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"eslint ."},"dependencies":{"react":"^18.2.0","next":"14.1.0"},"devDependencies":{"typescript":"^5.3.0","eslint":"^8.56.0"}}

Rapikan file konfigurasi package.json yang diminifikasi

Koleksi Data

[{"id":1,"product":"Laptop Pro","price":1299.99,"inStock":true,"tags":["electronics","computers"]},{"id":2,"product":"Wireless Mouse","price":29.99,"inStock":false,"tags":["electronics","accessories"]},{"id":3,"product":"USB-C Hub","price":49.99,"inStock":true,"tags":["electronics","accessories"]}]

Format array objek produk dari database atau API e-commerce

Konfigurasi Bertingkat

{"database":{"host":"localhost","port":5432,"name":"mydb","pool":{"min":2,"max":10}},"cache":{"enabled":true,"ttl":3600,"provider":"redis"},"logging":{"level":"info","format":"json","outputs":["stdout","file"]}}

Rapikan konfigurasi aplikasi bertingkat dengan pengaturan database, cache, dan logging

Cara Menggunakan

  1. 1

    Tempel JSON Anda

    Masukkan atau tempel data JSON mentah Anda ke kolom input di atas. Anda juga bisa klik 'Muat contoh' untuk mencoba sampel.

  2. 2

    Format atau Minifikasi

    Klik 'Format JSON' untuk merapikan dengan indentasi, atau 'Minify JSON' untuk mengompres menjadi satu baris.

  3. 3

    Salin Hasilnya

    Hasil pemrosesan muncul di area output. Klik 'Salin' untuk menyalinnya ke clipboard Anda secara instan.

Error JSON Umum

Trailing Comma

JSON tidak mengizinkan koma setelah elemen terakhir dalam array atau objek. Ini adalah salah satu error paling umum, terutama saat menyalin dari kode JavaScript.

✗ Salah
{"name": "Alice", "age": 30,}
✓ Benar
{"name": "Alice", "age": 30}

Tanda Kutip Tunggal

JSON mengharuskan tanda kutip ganda untuk semua string dan kunci. Tanda kutip tunggal valid di JavaScript tetapi tidak di JSON.

✗ Salah
{'name': 'Alice'}
✓ Benar
{"name": "Alice"}

Kunci Tanpa Tanda Kutip

Semua kunci properti di JSON harus diapit tanda kutip ganda. Kunci tanpa tanda kutip valid di objek JavaScript tetapi tidak di JSON.

✗ Salah
{name: "Alice"}
✓ Benar
{"name": "Alice"}

Komentar

JSON standar tidak mendukung komentar apa pun. Jika Anda memerlukan komentar, pertimbangkan JSONC (JSON with Comments) atau YAML.

✗ Salah
{"name": "Alice" // user name}
✓ Benar
{"name": "Alice"}

Bracket yang Hilang

Setiap bracket atau brace pembuka harus memiliki pasangan penutup yang cocok. Bracket yang tidak cocok menyebabkan error 'Unexpected end of JSON input'.

✗ Salah
{"users": [{"name": "Alice"}
✓ Benar
{"users": [{"name": "Alice"}]}

Unexpected Token

Error ini terjadi saat parser menemukan karakter yang tidak seharusnya di posisi tersebut. Penyebab umum termasuk koma yang hilang antar elemen atau karakter tambahan setelah JSON berakhir.

✗ Salah
{"name": "Alice" "age": 30}
✓ Benar
{"name": "Alice", "age": 30}

Kasus Penggunaan Umum

Debugging Respons API
Format respons API yang diminifikasi menjadi JSON yang mudah dibaca untuk debugging dan inspeksi cepat.
File Konfigurasi
Validasi dan rapikan file konfigurasi seperti package.json, tsconfig.json, dan .eslintrc.
Inspeksi Data
Jelajahi dan pahami data JSON yang diekspor dari database, log, atau layanan pihak ketiga.
Code Review
Format snippet JSON untuk diff yang lebih jelas dan perbandingan yang lebih mudah saat code review.
Dokumentasi
Hasilkan contoh JSON yang diformat rapi untuk dokumentasi teknis dan tutorial.
Migrasi Data
Validasi struktur dan sintaks JSON sebelum mengimpor data ke sistem baru.

Detail Teknis

Sesuai RFC 8259
Dukungan penuh untuk spesifikasi JSON standar termasuk Unicode dan karakter yang di-escape.
Pemrosesan Berbasis Browser
Semua formatting berjalan secara lokal di browser Anda menggunakan JSON.parse() dan JSON.stringify() bawaan.
Dukungan Ukuran File
Menangani file JSON hingga 10MB dengan indentasi yang dapat dikonfigurasi (2 atau 4 spasi).

Praktik Terbaik

Validasi Sebelum Digunakan
Selalu validasi data JSON sebelum menggunakannya di produksi untuk menangkap kesalahan sintaks lebih awal.
Gunakan Indentasi Konsisten
Gunakan indentasi 2 spasi untuk keterbacaan dan ukuran file yang lebih kecil di version control.
Minifikasi untuk Produksi
Gunakan JSON yang diminifikasi di respons API dan file konfigurasi untuk mengurangi bandwidth dan waktu muat.

Pertanyaan yang Sering Diajukan

Bagaimana cara memformat JSON secara online?
Tempel JSON mentah atau diminifikasi Anda ke kolom input di atas dan klik "Format JSON." Alat ini langsung mem-parsing data Anda, memvalidasi sintaks, dan menampilkan versi dengan indentasi rapi menggunakan 2 spasi. Anda kemudian dapat menyalin hasilnya ke clipboard dengan satu klik. Semua proses berjalan secara lokal di browser Anda — tidak ada data yang dikirim ke server mana pun.
Bagaimana cara memvalidasi JSON?
Tempel JSON Anda ke kolom input dan klik "Format JSON." Jika JSON mengandung kesalahan sintaks, alat ini menampilkan pesan error detail yang menunjukkan apa yang salah dan di mana letaknya. Jika JSON valid, maka akan diformat dan ditampilkan di area output. Alat ini memvalidasi sesuai RFC 8259, standar JSON terkini.
Bagaimana cara minifikasi JSON?
Tempel JSON Anda ke kolom input dan klik "Minify JSON." Alat ini menghapus semua spasi, jeda baris, dan indentasi yang tidak diperlukan untuk menghasilkan representasi paling ringkas. JSON yang diminifikasi ideal untuk respons API, file konfigurasi di produksi, dan di mana pun ukuran file atau bandwidth menjadi pertimbangan.
Apakah data JSON saya aman saat menggunakan alat ini?
Ya, sepenuhnya aman. Semua pemrosesan terjadi secara lokal di browser Anda menggunakan JSON.parse() dan JSON.stringify() bawaan JavaScript — data Anda tidak pernah meninggalkan perangkat. Tidak ada unggahan ke server, tidak ada cookie, tidak ada pelacakan analitik pada input Anda, dan tidak ada penyimpanan data apa pun. Ini menjadikannya aman untuk digunakan dengan API key, kredensial, dan data proprietari.
Bagaimana cara memperbaiki error "Unexpected token" di JSON?
Error "Unexpected token" berarti parser JSON menemukan karakter yang tidak seharusnya di posisi tersebut. Penyebab paling umum adalah: koma yang hilang antar elemen ({"name": "Alice" "age": 30}), koma di akhir setelah elemen terakhir ({"name": "Alice",}), atau karakter tambahan setelah JSON berakhir. Tempel JSON Anda ke alat ini untuk melihat lokasi error yang tepat, lalu periksa karakter di sekitar posisi tersebut.
Mengapa JSON saya memiliki error "trailing comma"?
JSON tidak mengizinkan koma setelah elemen terakhir dalam objek atau array. Ini adalah salah satu error paling umum karena JavaScript dan banyak bahasa lain mengizinkan trailing comma. Misalnya, {"name": "Alice", "age": 30,} adalah JSON yang tidak valid — hapus koma setelah 30 untuk memperbaikinya. Jika Anda sering menyalin data dari kode JavaScript, selalu periksa trailing comma sebelum menggunakannya sebagai JSON.
Bisakah saya menggunakan tanda kutip tunggal di JSON?
Tidak. JSON mengharuskan tanda kutip ganda untuk semua string dan kunci properti. Tanda kutip tunggal valid di JavaScript dan Python, tetapi bukan bagian dari spesifikasi JSON (RFC 8259). Misalnya, {'name': 'Alice'} tidak valid — harus {"name": "Alice"}. Jika Anda memiliki data dengan tanda kutip tunggal, alat ini akan melaporkan kesalahan sintaks dan menunjukkan posisi tepat untuk diperbaiki.
Bisakah saya menambahkan komentar di JSON?
Tidak, JSON standar tidak mendukung komentar apa pun — tidak ada sintaks //, /* */, atau #. Ini adalah keputusan desain yang disengaja agar JSON tetap sederhana dan mudah di-parse. Jika Anda memerlukan komentar di file konfigurasi, pertimbangkan JSONC (JSON with Comments, digunakan oleh VS Code dan TypeScript), JSON5, atau YAML. Untuk menggunakan file berkomentar sebagai JSON standar, hapus komentar sebelum mem-parsing.
Mengapa JSON saya tidak bisa di-parse dengan benar?
Alasan paling umum JSON gagal di-parse adalah: (1) trailing comma setelah elemen terakhir, (2) tanda kutip tunggal alih-alih tanda kutip ganda, (3) kunci properti tanpa tanda kutip, (4) komentar di dalam data, (5) bracket/brace yang hilang atau berlebih, (6) karakter khusus yang tidak di-escape seperti backslash atau baris baru di dalam string. Tempel JSON Anda ke alat ini — ia akan menunjukkan jenis error dan lokasinya secara tepat sehingga Anda dapat memperbaikinya dengan cepat.
Apa perbedaan antara JSON dan YAML?
JSON dan YAML sama-sama format serialisasi data, tetapi berbeda dalam filosofi desain. JSON menggunakan kurung kurawal, bracket, dan tanda kutip ganda dengan sintaks ketat — menjadikannya ideal untuk parsing mesin dan API. YAML menggunakan indentasi dan tanda baca minimal — menjadikannya lebih mudah dibaca manusia dan populer untuk file konfigurasi (Docker Compose, Kubernetes, GitHub Actions). JSON adalah subset dari YAML, jadi JSON yang valid juga merupakan YAML yang valid, tetapi tidak sebaliknya.
Apa itu JSON Schema?
JSON Schema adalah standar terpisah (bukan bagian dari JSON itu sendiri) yang mendefinisikan struktur, tipe, dan batasan yang diharapkan dari data JSON. Misalnya, Anda dapat menentukan bahwa sebuah field harus berupa string, angka harus antara 1 dan 100, atau array harus berisi minimal satu elemen. JSON Schema banyak digunakan untuk validasi request/response API, pembuatan formulir, dan dokumentasi. Alat ini memvalidasi sintaks JSON, bukan JSON Schema — untuk validasi schema, gunakan validator JSON Schema khusus.
Apa perbedaan antara JSON dan JSON5?
JSON5 adalah ekstensi dari JSON yang menambahkan fitur yang sering diminta developer: tanda kutip tunggal dan ganda, trailing comma, komentar (// dan /* */), kunci tanpa tanda kutip, string multi-baris, dan angka heksadesimal. JSON5 sering digunakan di file konfigurasi di mana pengeditan manual umum dilakukan. Parser JSON standar tidak bisa membaca JSON5 — Anda memerlukan parser JSON5. Alat ini bekerja hanya dengan JSON standar (RFC 8259).
Berapa ukuran maksimum file JSON?
Spesifikasi JSON sendiri tidak memiliki batas ukuran file. Batasan praktis tergantung pada parser dan lingkungan: browser biasanya menangani JSON hingga 500 MB–1 GB sebelum mengalami masalah memori, sementara parser sisi server (Node.js, Python, Java) dapat menangani file lebih besar dengan streaming parser. Alat online ini menangani JSON hingga sekitar 10 MB secara efisien. Untuk file JSON yang sangat besar, pertimbangkan penggunaan alat command-line seperti jq atau streaming parser.
Saya punya respons API besar yang sepenuhnya diminifikasi — apa cara tercepat membuatnya mudah dibaca untuk debugging?
Tempel JSON yang diminifikasi ke alat ini dan klik Format JSON. Alat ini akan langsung mem-parse dan merapikan data dengan indentasi 2 spasi, membuat objek dan array bertingkat langsung terlihat. Untuk respons yang sangat besar (5-10 MB), alat berbasis browser ini sering lebih cepat dari VS Code atau jq karena menggunakan JSON.parse() bawaan browser tanpa overhead startup. Anda juga bisa menggunakan shortcut keyboard Ctrl+V untuk menempel dan hasilnya langsung muncul. Untuk formatting secara programatis, gunakan JSON.stringify(data, null, 2) di JavaScript atau python -m json.tool dari command line.
Saya terus mendapat error parse JSON saat menyalin data dari kode JavaScript — apa yang salah?
Penyebab paling umum adalah literal objek JavaScript bukan JSON yang valid. Tiga perbedaan utama yang sering membingungkan: (1) JavaScript mengizinkan tanda kutip tunggal ('name') tetapi JSON mengharuskan tanda kutip ganda ("name"); (2) JavaScript mengizinkan trailing comma ({"a": 1,}) tetapi JSON tidak; (3) JavaScript mengizinkan kunci tanpa tanda kutip ({name: "Alice"}) tetapi JSON mengharuskan kunci bertanda kutip ({"name": "Alice"}). Selain itu, komentar JavaScript (// atau /* */) tidak valid di JSON. Tempel data Anda ke alat ini — ia akan menunjukkan jenis error dan posisinya secara tepat. Jika Anda sering perlu mengonversi objek JS ke JSON, pertimbangkan menggunakan format JSON5 sebagai langkah perantara.