Skip to content

JSON Unescape

Unescape string JSON kembali menjadi teks yang terbaca di browser Anda. Mendekode \n, \t, \", \\, dan \uXXXX, dengan atau tanpa tanda kutip di sekelilingnya. 100% privat, tanpa unggah.

Tanpa Pelacakan Berjalan di Browser Gratis
0 karakter
Teks Terdekode
0 karakter
Ditinjau untuk dekode spesifikasi JSON, parsing tanda-kutip-opsional, rekonstruksi pasangan surrogate, dan penanganan error input cacat — Tim Rekayasa Go Tools · Jun 10, 2026

Apa itu JSON Unescaping?

JSON unescaping adalah kebalikan dari JSON escaping: ia mengambil string penuh urutan escape — \n, \t, \", \\, \uXXXX — dan mengubah masing-masing kembali menjadi karakter yang diwakilinya, memulihkan teks asli. Di mana escaping membuat string aman untuk disimpan di dalam dokumen JSON, unescaping membuat string tersimpan dapat dibaca lagi.

Kebutuhan ini muncul terus-menerus dalam debugging dan kerja data. Anda menyalin sebuah field dari log terstruktur dan ia penuh dengan \n dan \" yang menyembunyikan pesan sebenarnya — unescaping mengungkap teks multibaris yang sesungguhnya. Sebuah API menyimpan body permintaan sebagai string (JSON-in-JSON), dan Anda perlu membaca objek dalam — unescaping mengubah {\"a\":1} kembali menjadi {"a":1}. Sistem lawas mengeluarkan keluaran aman-ASCII di mana setiap aksen menjadi \uXXXX — unescaping memulihkan café dan résumé. Dalam setiap kasus, data secara teknis utuh tetapi tidak terbaca sampai didekode.

Alat ini dibangun untuk jalur dekode itu dengan tiga keunggulan. Pertama, ia toleran terhadap tanda kutip di sekelilingnya: tempel literal lengkap atau hanya body ter-escape, dan ia melakukan hal yang benar — karena string ter-escape biasanya disalin di luar konteks. Kedua, ia mendekode \uXXXX dengan benar, menggabungkan pasangan surrogate menjadi karakter astral yang tepat seperti emoji, identik dengan parser JSON yang patuh, sehingga apa pun yang di-escape oleh serializer melakukan round-trip dengan sempurna. Ketiga, ia berjalan 100% di browser Anda, sehingga field log dan payload yang Anda dekode — yang sering berisi PII atau rahasia — tidak pernah mencapai server. Untuk meng-escape ulang setelahnya, gunakan alat JSON Escape kami; untuk memvalidasi JSON terdekode, lihat JSON Formatter.

// Escaped input (copied from a log, quotes optional)
User said: \"it works!\"\nSession ended.

// Unescaped output — readable again
User said: "it works!"
Session ended.

// \uXXXX and surrogate pairs decode too
caf\u00e9 \ud83d\ude00  ->  café 😀

// JSON-in-JSON
{\"a\":1}  ->  {"a":1}

Fitur Utama

Dekode Escape JSON Lengkap

Mendekode rangkaian lengkap escape JSON — \n \r \t \b \f \" \\ \/ dan \uXXXX — kembali ke karakter sungguhannya, identik dengan parser JSON yang patuh. Apa pun yang di-escape serializer kembali byte per byte.

Tanda Kutip Opsional

Tempel literal string lengkap dengan tanda kutip di sekelilingnya, atau hanya body ter-escape tanpanya — alat mendeteksi yang mana dan mendekode dengan benar. Ideal untuk string yang disalin dari tengah log atau dokumen.

Unicode & Emoji yang Benar

Escape \uXXXX terdekode ke karakter Unicode-nya, dan escape surrogate berurutan digabungkan menjadi karakter astral yang tepat — \ud83d\ude00 menjadi 😀, \u00e9 menjadi é. Tanpa titik kode yang rusak.

Pelaporan Error yang Jelas

Input cacat — garis miring terbalik tunggal sebelum karakter tak dikenal, atau tanda kutip tak seimbang — memunculkan banner error eksplisit alih-alih diam-diam menghasilkan sampah, sehingga Anda tahu persis apa yang harus diperbaiki.

Tukar untuk Verifikasi Round-Trip

Satu tombol Tukar arah membalik ke mode escape di tempat dan menyandikan ulang teks terdekode, membiarkan Anda memastikan unescape → escape mengembalikan string asli sebelum Anda memercayai hasilnya.

Privasi 100% Berbasis Browser

Semua proses dekode berjalan di sisi klien — field log dan payload yang Anda unescape (sering berisi PII atau rahasia) tidak pernah meninggalkan browser. Verifikasi di tab Network: nol permintaan saat menempel.

Contoh

String ter-escape disalin dari log

"User said: \"it works!\"\nSession ended."

Sebuah field log ter-JSON-escape dengan \" dan \n. Unescape untuk membaca pesan dua baris yang sebenarnya dengan tanda kutip asli — tepat seperti yang dicatat.

Baca payload JSON-in-JSON

{\"event\":\"signup\",\"user\":{\"id\":42}}

Objek JSON dalam yang disimpan sebagai string ter-escape. Unescape mengungkap JSON yang sebenarnya sehingga Anda dapat membaca atau mem-parse-nya ulang. Tanda kutip di sekelilingnya tidak diperlukan — ditambahkan otomatis.

Dekode escape Unicode \uXXXX

caf\u00e9 \ud83d\ude00 r\u00e9sum\u00e9

Escape aman-ASCII dari sistem lawas. Unescape mengubah \u00e9 kembali menjadi é dan pasangan surrogate \ud83d\ude00 kembali menjadi 😀.

Pulihkan cuplikan multibaris

function greet(name) {\n  return \"Hi \" + name;\n}

Cuplikan kode yang dipadatkan menjadi satu string JSON. Unescape memulihkan baris baru asli sehingga terbaca dan dapat dijalankan lagi.

Cara Menggunakan

  1. 1

    Tempel string ter-escape

    Masukkan atau tempel string ter-JSON-escape — dengan atau tanpa tanda kutip ganda di sekelilingnya. Teks terdekode muncul seketika. Klik 'Muat contoh' untuk mencoba sampel seperti baris log ter-escape atau string tersandi \uXXXX.

  2. 2

    Baca keluaran terdekode

    Urutan escape menjadi karakter sungguhan: \n menjadi pemisah baris, \" menjadi tanda kutip, dan \uXXXX menjadi Unicode. Jika input cacat, sebuah banner error menjelaskan masalahnya sehingga Anda dapat memperbaiki garis miring terbalik yang bermasalah.

  3. 3

    Salin atau verifikasi hasil

    Klik Salin untuk mengambil teks terbaca, atau kirim ke JSON Formatter untuk memvalidasi. Klik Tukar arah untuk meng-escape-nya ulang di tempat dan memastikan round-trip cocok dengan aslinya.

Jebakan Dekode yang Umum

Escape Tidak Valid Seperti \q atau \x41

JSON hanya mengenali \n \r \t \b \f \" \\ \/ dan \uXXXX. Garis miring terbalik sebelum apa pun yang lain — \q, atau \x41 gaya-C — bukan escape valid dan dekode gagal. Ganti \x41 dengan \u0041, dan hapus garis miring terbalik menyimpang yang dimaksudkan harfiah (garis miring terbalik harfiah harus ditulis \\).

✗ Salah
value: \q and \x41
// \q dan heksa \x bukan escape JSON valid -> error
✓ Benar
value: \\q and \u0041
// garis miring terbalik harfiah digandakan; heksa ditulis sebagai \u -> terdekode

Tanda Kutip Tak Seimbang dalam Input Tanpa Kutip

Saat Anda menempel body telanjang (tanpa tanda kutip luar), alat membungkusnya dengan tanda kutip sebelum mendekode. Jika body itu sendiri berisi tanda kutip ganda tanpa escape, pembungkusan rusak dan dekode gagal. Escape tanda kutip internal sebagai \" atau tempel literal berkutip penuh sebagai gantinya.

✗ Salah
say "hi" there
// " internal tanpa escape merusak pembungkusan otomatis -> error
✓ Benar
say \"hi\" there
// tanda kutip internal ter-escape -> terdekode menjadi: say "hi" there

Mengharapkan Garis Miring Terbalik Harfiah yang Tidak Digandakan

Satu garis miring terbalik dalam input ditafsirkan sebagai awal escape. Jika Anda sebenarnya menginginkan garis miring terbalik harfiah (mis. jalur Windows), ia harus muncul digandakan sebagai \\. Sebuah \ tunggal sebelum huruf normal memicu error escape-tidak-valid.

✗ Salah
path: C:\Users\Alice
// \U dan \A adalah escape tidak valid -> error
✓ Benar
path: C:\\Users\\Alice
// garis miring terbalik digandakan -> terdekode menjadi C:\Users\Alice

Kasus Penggunaan Umum

Dekode Field Log Terstruktur
Salin field pesan penuh \n dan \" dari baris log JSON dan unescape untuk membaca pesan multibaris yang sebenarnya tepat seperti yang dikeluarkan, alih-alih menyipitkan mata pada urutan escape.
Baca Payload JSON-in-JSON
Ubah objek JSON dalam yang disimpan sebagai field string ter-escape kembali menjadi JSON sungguhan, sehingga Anda dapat membacanya atau menempelnya ke parser — umum pada amplop webhook dan log audit.
Pulihkan Unicode dari Keluaran Aman-ASCII
Dekode keluaran padat \uXXXX dari sistem lawas kembali menjadi huruf beraksen, karakter CJK, dan emoji, memulihkan bentuk data yang terbaca yang sebelumnya dipaksa menjadi murni ASCII.
Memadatkan-Balik Cuplikan Kode
Ubah skrip atau kueri yang dipadatkan menjadi satu string JSON (setiap baris baru sebagai \n) kembali menjadi kode multibaris yang diformat dengan benar dan terbaca.
Debug Data Tersandi Ganda
Ketika sebuah nilai tampak seperti \\n atau \\\", unescape sekali untuk memeriksa apakah ia tak sengaja di-escape dua kali di hulu, lalu perbaiki produsernya — bug integrasi yang sering terjadi.
Periksa Pesan Error API
Banyak API mengembalikan detail error sebagai string ter-escape di dalam amplop JSON. Unescape pesan untuk membaca stack trace dan payload bersarang yang jika tidak tersembunyi di balik urutan escape.

Detail Teknis

Algoritma Dekode
Alat mem-parse input sebagai string JSON: jika sudah dibungkus dalam tanda kutip ganda ia didekode apa adanya, jika tidak input mentah dibungkus tanda kutip terlebih dahulu sehingga body ter-escape telanjang tetap terdekode. Setiap escape yang dikenali (\n \r \t \b \f \" \\ \/ \uXXXX) dipetakan ke karakternya; ini mencerminkan parser JSON yang patuh, menjamin string ter-escape serializer mana pun kembali ke aslinya yang persis.
Rekonstruksi Pasangan Surrogate
Escape \uXXXX menghasilkan satu unit kode UTF-16. Ketika surrogate tinggi (\uD800–\uDBFF) langsung diikuti surrogate rendah (\uDC00–\uDFFF), keduanya digabungkan menjadi satu titik kode di atas Basic Multilingual Plane — jadi \ud83d\ude00 terdekode menjadi satu karakter 😀 alih-alih dua paruh yang rusak.
Validasi dan Penanganan Error
Jika input berisi escape tidak valid (garis miring terbalik diikuti karakter tak dikenal, atau urutan \u yang cacat) atau tanda kutip tak seimbang yang merusak pembungkusan, dekode gagal dengan bersih dan sebuah banner error ditampilkan alih-alih mengeluarkan keluaran rusak. Input valid selalu menghasilkan string terdekode yang persis; input tidak valid tidak pernah menghasilkan hasil parsial yang menyesatkan.

Praktik Terbaik

Tempel Dengan atau Tanpa Tanda Kutip — Keduanya Bekerja
Jangan buang waktu memangkas tanda kutip di sekelilingnya. Alat mendekode "hello\nworld" dan hello\nworld secara identik, jadi tempel apa pun yang Anda salin — termasuk fragmen yang diambil dari tengah dokumen yang lebih besar — dan baca hasilnya.
Unescape Sekali, Lalu Periksa Penyandian Ganda
Jika keluaran terdekode masih menampilkan urutan garis miring terbalik seperti \n, aslinya di-escape ganda di hulu. Unescape sekali lagi untuk memastikan, lalu perbaiki produser agar meng-escape hanya sekali alih-alih mengandalkan dekode berulang.
Validasi JSON Terdekode
Setelah meng-unescape payload JSON-in-JSON, jalankan hasilnya melalui JSON Formatter kami untuk memastikan ia valid dan mem-pretty-print-nya. Unescaping memulihkan teks; formatter memastikan strukturnya.
Verifikasi Round-Trip dengan Tukar
Klik Tukar arah untuk meng-escape ulang teks terdekode dan memeriksa apakah cocok dengan string yang Anda mulai. Ketidakcocokan menunjukkan input cacat atau escape tak terduga, memunculkan masalah data sebelum menyebar.

Pertanyaan yang Sering Diajukan

Apa yang dilakukan alat JSON unescape ini?
Alat ini membalikkan JSON escaping: mengambil string ter-JSON-escape dan mendekode urutan escape kembali menjadi karakter yang diwakilinya, sepenuhnya di browser Anda. \n menjadi baris baru sungguhan, \t menjadi tab, \" menjadi tanda kutip ganda, \\ menjadi satu garis miring terbalik, \/ menjadi garis miring, dan \uXXXX menjadi karakter Unicode yang sesuai (termasuk pasangan surrogate untuk emoji dan aksara astral). Hasilnya adalah teks asli yang mudah dibaca manusia. Anda dapat menempel string dengan atau tanpa tanda kutip ganda di sekelilingnya — alat mendeteksi dan menangani keduanya. Semuanya berjalan di sisi klien, sehingga payload ter-escape yang berisi data sensitif tidak pernah meninggalkan mesin Anda.
Apakah saya perlu menyertakan tanda kutip ganda di sekelilingnya?
Tidak — alat menerima kedua bentuk. Jika Anda menempel literal string JSON lengkap seperti "hello\nworld" (dengan tanda kutip luar), itu di-parse langsung. Jika Anda menempel hanya body ter-escape hello\nworld (tanpa tanda kutip luar), alat membungkusnya untuk Anda sebelum mendekode. Ini praktis karena string ter-escape sering disalin dari tengah dokumen yang lebih besar, di mana tanda kutip di sekelilingnya tertinggal. Apa pun caranya, Anda mendapatkan teks terdekode yang sama.
Apakah data saya diunggah ke suatu tempat?
Tidak. Semua proses dekode berjalan sepenuhnya di browser Anda menggunakan JavaScript — string ter-escape yang Anda tempel tidak pernah dikirim, disimpan, dicatat, atau dianalisis di server mana pun. Ini membuat alat aman untuk mendekode field log, payload webhook, dan nilai konfigurasi yang mungkin berisi PII atau rahasia. Anda dapat memastikannya di tab Network browser Anda: menempel memicu nol permintaan jaringan. Tidak ada cookie yang menangkap input Anda dan tidak ada analitik pihak ketiga yang membaca apa yang Anda tempel.
Mengapa saya mendapatkan error 'urutan escape tidak valid'?
Error itu berarti input bukan string ter-JSON-escape yang valid, sehingga tidak dapat didekode secara tegas. Penyebab paling umum adalah garis miring terbalik tunggal diikuti karakter yang tidak dikenali JSON sebagai escape — misalnya \q atau \x41 (JSON tidak punya escape heksa \x; ia menggunakan \u). Penyebab lain adalah tanda kutip ganda yang tidak seimbang atau menyimpang di dalam input tanpa kutip, yang merusak pembungkusan otomatis. Pastikan setiap garis miring terbalik memulai escape yang valid (\n \t \r \b \f \" \\ \/ \uXXXX) dan tanda kutip berpasangan dengan benar.
Bagaimana cara membaca objek JSON yang disimpan sebagai string (JSON-in-JSON)?
Tempel string ter-escape — misalnya {\"a\":1} — dan alat mendekodenya kembali menjadi JSON sungguhan {"a":1}, yang kemudian dapat Anda baca atau salin ke parser. Dekode ganda ini tepat yang Anda butuhkan saat amplop webhook, rekaman antrean pesan, atau log audit menyimpan body permintaan sebagai field string ter-escape. Setelah unescape, tempel hasilnya ke JSON Formatter kami untuk mem-pretty-print dan memvalidasinya. Untuk arah sebaliknya dan meng-escape JSON untuk penyematan, gunakan alat JSON Escape.
Apakah alat mendekode \uXXXX dan emoji dengan benar?
Ya. Setiap \uXXXX didekode ke unit kode UTF-16-nya, dan escape surrogate tinggi/rendah yang berurutan digabungkan menjadi karakter astral yang benar — jadi \ud83d\ude00 menjadi 😀 dan \u00e9 menjadi é. Ini adalah dekode yang sama yang dilakukan parser JSON yang patuh mana pun, yang berarti string yang di-escape oleh alat JSON Escape kami (atau serializer mana pun) melakukan round-trip kembali ke aslinya yang persis di sini, byte per byte.