Skip to content
Pemformat XML
Tools

Pemformat XML

Baru

Percantik, perkecil, dan validasi XML langsung di peramban Anda.

Runs entirely in your browser. Nothing is uploaded.

XML formatter online gratis — rapikan, minifikasi & validasi

XML formatter ini langsung mengubah XML yang padat atau terminifikasi menjadi markup yang bersih dan mudah dibaca dengan indentasi yang tepat. Tempel XML apa pun, pilih gaya indentasi Anda (2 spasi, 4 spasi, atau Tab), dan klik Rapikan — hasilnya muncul di panel output dalam hitungan milidetik. Ini bekerja untuk format berbasis-XML apa pun: respons API REST dan SOAP, feed RSS dan Atom, file SVG, manifest Android, POM Maven, file konfigurasi Spring, track GPX, file Apple PList dan lainnya.

Alat yang sama bisa meminifikasi XML — menghapus semua spasi kosong yang tidak perlu untuk menghasilkan dokumen sekecil mungkin — dan memvalidasi apakah dokumen well-formed, melaporkan baris dan kolom persis dari kesalahan apa pun. Semuanya berjalan secara lokal di browser Anda; XML Anda tidak pernah diunggah, membuatnya aman untuk menempel data rahasia.

Indentasi yang dapat dikonfigurasi dan pemformatan cerdas

Pilih dari tiga gaya indentasi — 2 spasi, 4 spasi atau Tab — untuk mencocokkan gaya kode proyek Anda. Output diperbarui segera saat Anda mengubah pengaturan. Beautifier menangani dengan benar deklarasi XML (<?xml version="1.0"?>), tag self-closing, instruksi pemrosesan, komentar dan konten campuran.

Untuk minifikasi, tombol Minify melipat semua spasi kosong antar-tag untuk menghasilkan dokumen satu-baris — bentuk standar untuk XML yang dikirim melalui HTTP, tertanam dalam database, atau disimpan dalam sistem konfigurasi di mana ukuran payload penting. Pemformatan dan minifikasi hanya menyentuh spasi kosong; nama elemen, nilai atribut dan konten teks tidak pernah diubah.

Validasi well-formedness XML secara instan

Klik Validasi (atau Rapikan — keduanya menjalankan pemeriksaan) untuk menguji apakah XML Anda well-formed. Alat ini menggunakan DOMParser asli browser untuk mengurai dokumen Anda dan melaporkan kesalahan pertama dengan lokasi yang tepat. Masalah umum yang ditangkapnya termasuk tag yang tidak ditutup, elemen yang tumpang tindih, beberapa node root, ampersand yang tidak di-escape, atribut yang salah dikutip dan ketidakcocokan encoding.

Lencana hijau XML Well-formed mengonfirmasi bahwa dokumen benar secara struktural. Peringatan kuning menunjukkan potensi masalah, tetapi formatter tetap menerapkan indentasi sehingga Anda bisa membandingkan output dan mengenali masalahnya. Ini adalah validasi XML yang sama yang digunakan browser untuk mengurai XHTML dan SVG.

Penampil tree XML yang bisa dilipat

Klik tab Tree untuk beralih dari teks terformat mentah ke tampilan tree interaktif yang bisa dilipat. Setiap elemen XML muncul sebagai baris dengan segitiga yang Anda klik untuk memperluas atau melipat subtree-nya. Atribut ditampilkan dalam biru, nama tag dalam hijau, dan konten teks dalam tinta gelap — memudahkan memindai struktur bertingkat kompleks sekilas.

Penampil tree sangat berguna untuk SOAP envelope, file Maven POM, feed RSS besar, file resource Android dan XML bertingkat dalam apa pun di mana menggulir teks mentah tidak praktis. Melipat cabang menyembunyikan seluruh subtree-nya dalam satu klik, membiarkan Anda fokus pada bagian yang penting.

Bagaimana ini dibandingkan dengan Notepad++, VS Code, XMLSpy dan xmllint

Notepad++ dengan plugin XML Tools dan VS Code (Shift+Alt+F) keduanya memformat XML tetapi memerlukan instalasi perangkat lunak lokal dan hanya bekerja pada file yang disimpan ke disk. XMLSpy dan oXygen XML Editor menawarkan pengeditan XML lanjutan dengan validasi skema (XSD, DTD, RelaxNG) tetapi berbiaya beberapa ratus dolar per lisensi tahunan — jauh lebih dari yang dibutuhkan sebagian besar pengembang untuk pemformatan XML sesekali. xmllint di command line gratis dan kuat tetapi memerlukan libxml2 terinstal dan sesi terminal.

Formatter online ini tidak memerlukan instalasi, tidak ada lisensi dan tidak ada akun. Tempel langsung dari clipboard Anda, unggah file dari perangkat Anda, atau muat contoh bawaan, lalu salin atau unduh hasilnya. Tampilan tree adalah fitur yang biasanya dibebankan biaya oleh sebagian besar alat desktop yang bekerja di sini secara gratis — sangat berguna untuk menjelajahi payload respons SOAP mendalam atau file manifest Android selama debugging.

Unggah, contoh dan unduh

Gunakan tombol Unggah untuk membuka file XML dari komputer Anda — ini membaca file secara lokal dan mengisi kotak input tanpa mengunggah apa pun ke server. Atau klik Contoh untuk memuat contoh toko buku singkat yang menunjukkan output formatter untuk dokumen XML khas dengan atribut dan elemen bertingkat.

Setelah pemformatan, klik Salin untuk menempatkan hasil di clipboard Anda atau Unduh untuk menyimpannya sebagai file .xml. Unduhan mempertahankan gaya indentasi apa pun yang Anda pilih dan langsung siap dibuka di editor atau di-commit ke repositori.

Privat, instan dan gratis — berfungsi di iPhone, Android dan desktop

Tidak ada pendaftaran, tidak ada ekstensi untuk diinstal dan tidak ada paket berbayar. Setiap operasi — pemformatan, minifikasi, validasi dan tampilan tree — berjalan di browser Anda. XML Anda tidak pernah meninggalkan perangkat Anda. Alat ini sepenuhnya responsif dan berfungsi di Safari di iPhone, Chrome di Android, dan semua browser desktop — berguna saat Anda perlu memeriksa respons API di ponsel Anda tanpa membuka laptop.

Simpan XML formatter online gratis ini sebagai bookmark untuk lain kali Anda perlu membaca respons API yang padat, membersihkan file konfigurasi, atau men-debug dokumen yang malformed.

Sejarah singkat XML: dari SGML hingga JSON dan seterusnya

XML 1.0 diterbitkan sebagai Rekomendasi W3C pada Februari 1998, tetapi silsilahnya berjalan jauh lebih ke belakang. Induk langsungnya adalah SGML (Standard Generalized Markup Language), standar ISO dari 1986 yang mendefinisikan meta-bahasa untuk mendeskripsikan sistem markup. HTML, pertama kali diusulkan oleh Tim Berners-Lee pada 1991, sendiri adalah aplikasi SGML — kosakata tetap tag (<p>, <a>, <img>) untuk konten web. XML menyederhanakan SGML dengan menghapus fitur paling kompleksnya dan menghasilkan bahasa markup tujuan-umum di mana pengembang mendefinisikan kosakata tag mereka sendiri daripada mewarisi yang tetap.

Sepanjang tahun 2000-an era "XML di mana-mana" mengambil alih: pengembang menggunakan XML untuk pertukaran data antar sistem, konfigurasi aplikasi (Spring beans, Maven POM, skrip build Ant), tata letak UI (tata letak XML Android, XAML di .NET, XUL di Firefox), format dokumen (OpenDocument, OOXML untuk Microsoft Office, EPUB untuk ebook), dan layanan web (SOAP, WSDL, UDDI). W3C memperluas XML menjadi keluarga standar lengkap: XSLT untuk mentransformasi dokumen XML, XPath untuk mengkueri node, XSD untuk validasi skema, XQuery untuk kueri kompleks di seluruh dataset XML, dan RelaxNG sebagai bahasa skema alternatif yang lebih sederhana.

Setelah 2010, JSON menggantikan XML sebagai format default untuk payload API REST karena lebih kompak, memetakan langsung ke objek JavaScript, dan lebih sederhana diurai di sebagian besar bahasa. Tetapi XML tidak pernah menghilang: layanan enterprise berbasis SOAP, standar data keuangan, interoperabilitas kesehatan (HL7, FHIR), grafik SVG, dan hampir setiap format dokumen berbasis XML tetap relevan hari ini seperti pada 2005. Memahami kapan menggunakan XML versus JSON — dan bagaimana memproses masing-masing — tetap menjadi keterampilan inti bagi pengembang backend dan integrasi.

Namespace XML: berbagi dokumen tanpa tabrakan penamaan

Namespace XML memecahkan masalah fundamental: dua kosakata XML mungkin secara independen mendefinisikan elemen dengan nama yang sama. Skema purchase-order mungkin mendefinisikan elemen <address>, dan skema pengiriman mungkin juga mendefinisikan satu, dengan elemen anak yang berbeda. Mekanisme namespace memungkinkan keduanya hidup berdampingan dalam satu dokumen dengan mengaitkan nama elemen dan atribut dengan pengidentifikasi URI. Deklarasi namespace terlihat seperti xmlns:po="http://example.com/purchaseorder" — setelah itu setiap elemen berawalan po: milik namespace tersebut. Yang penting, URI hanyalah pengidentifikasi string unik; itu tidak perlu resolve ke halaman web yang sebenarnya.

Namespace default (xmlns="http://www.w3.org/2000/svg") berlaku untuk elemen deklarasi dan semua keturunannya tanpa memerlukan awalan pada setiap tag. Inilah mengapa file SVG mendeklarasikan namespace SVG pada elemen root <svg> — semua elemen anak (<path>, <rect>, <circle>) secara otomatis berada dalam namespace itu. Sebaliknya, SVG inline yang tertanam langsung di dalam HTML5 tidak memerlukan deklarasi namespace karena parser HTML sudah tahu untuk memperlakukan elemen dalam konteks <svg> sebagai SVG.

Namespace muncul di seluruh ekosistem XML. Envelope SOAP 1.1 mendeklarasikan xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" sehingga elemen wrapper <soap:Envelope>, <soap:Header> dan <soap:Body> tidak ambigu bahkan ketika payload body menggunakan kosakatanya sendiri. Feed RSS dan Atom menggunakan namespace untuk mencampur elemen feed inti dengan kosakata ekstensi seperti Media RSS (xmlns:media="http://search.yahoo.com/mrss/") atau set metadata Dublin Core (xmlns:dc="http://purl.org/dc/elements/1.1/"). Ketika Anda membuka feed kompleks atau dokumen XML enterprise di penampil tree dan melihat nama elemen berawalan, awalan tersebut adalah alias namespace yang didefinisikan di puncak dokumen.

Validasi skema XML: DTD, XSD, RelaxNG dan Schematron

Menjadi well-formed — XML yang valid secara struktural — hanyalah level pertama dari kebenaran. Validasi skema memeriksa bahwa dokumen juga sesuai dengan kosakata tertentu: elemen yang tepat dalam urutan yang tepat dengan tipe data yang tepat. Mekanisme tertua adalah DTD (Document Type Definition), diwarisi dari SGML. DTD mendeklarasikan elemen dan atribut apa yang diizinkan dan urutan yang diperlukan mereka, tetapi menggunakan sintaks non-XML dan tidak bisa mengekspresikan tipe data — tidak bisa menentukan bahwa harga harus berupa angka desimal daripada teks sembarang. DTD masih digunakan dalam sistem lawas dan untuk tipe dokumen seperti XHTML.

XML Schema (XSD) adalah standar W3C yang menggantikan DTD untuk sebagian besar kasus penggunaan. File XSD sendiri ditulis dalam XML, mendukung tipe data yang kaya (xs:integer, xs:date, xs:anyURI), memungkinkan derivasi tipe kompleks melalui ekstensi atau restriksi, dan bisa menegakkan batasan kemunculan minimum/maksimum. XSD mendasari standar dunia nyata utama: UBL (Universal Business Language) mendefinisikan dokumen e-invoicing dan pengadaan yang digunakan dalam pengadaan sektor publik di seluruh Eropa dan Asia; HL7 FHIR menggunakan skema XSD untuk interoperabilitas data kesehatan; OOXML (ISO/IEC 29500) menentukan skema XML untuk format file Microsoft Word, Excel dan PowerPoint. RelaxNG, standar OASIS, menawarkan alternatif yang lebih sederhana untuk XSD dengan dua sintaks — bentuk XML dan notasi non-XML yang lebih ringkas — dan digunakan dalam DocBook, EPUB dan standar dokumen lainnya.

Schematron (ISO/IEC 19757-3) mengambil pendekatan berbeda: alih-alih mendefinisikan struktur dokumen di depan, ia mengekspresikan aturan bisnis menggunakan asersi XPath. Aturan Schematron mungkin mengatakan "jika elemen status mengandung 'active', maka elemen end-date harus tidak ada" — batasan yang tidak bisa diekspresikan XSD karena XSD kekurangan logika kondisional. Implementasi XML enterprise umumnya melapisi Schematron di atas XSD: XSD menangani struktur dan tipe data, Schematron menangani aturan bisnis lintas-elemen. Bersama-sama mereka membentuk tumpukan validasi yang digunakan dalam standar e-invoicing seperti jaringan PEPPOL Eropa.

XPath dan XSLT: mengkueri dan mentransformasi dokumen XML

XPath (XML Path Language) adalah bahasa kueri untuk memilih node dalam dokumen XML. Ekspresi XPath menavigasi pohon dokumen menggunakan axis dan step: //book memilih semua elemen <book> di mana pun dalam dokumen; /catalog/book[price>30]/title memilih judul buku dalam katalog yang harganya melebihi 30; @isbn memilih atribut bernama isbn. Sintaks axis lengkap termasuk ancestor::, child::, descendant::, following-sibling::, preceding-sibling:: dan attribute::, memungkinkan Anda menavigasi ke arah mana pun melalui pohon node. XPath 2.0 menambahkan sistem tipe data yang kaya dan pustaka fungsi yang mencakup manipulasi string, aritmetika tanggal dan operasi urutan. XPath adalah fondasi baik XSLT maupun XQuery.

XSLT (eXtensible Stylesheet Language Transformations) adalah bahasa deklaratif — ditulis dalam XML — untuk mentransformasi dokumen input XML menjadi HTML, teks biasa, atau kosakata XML yang berbeda. Stylesheet XSLT terdiri dari aturan template (<xsl:template match="...">) yang aktif ketika ekspresi kecocokan XPath memilih node. XSLT awalnya dirancang untuk merender XML untuk tampilan sebelum CSS matang, tetapi penggunaan paling tahan lamanya adalah terjemahan XML-ke-XML antara skema berbeda (misalnya, mengonversi format purchase order proprietary ke UBL), rendering RSS-ke-HTML di server tanpa JavaScript, dan pipeline penerbitan dokumen di mana sumber XML yang sama menghasilkan output PDF dan HTML. Prosesor Saxon (dari Saxonica) adalah mesin XSLT enterprise terdepan, mendukung XSLT 3.0 — yang menambahkan streaming, fungsi order-tinggi dan dukungan JSON.

Dalam praktiknya, sebagian besar pengembang saat ini menggunakan XPath melalui pustaka daripada alat mandiri. lxml Python (yang membungkus libxml2, pustaka C yang juga menggerakkan ekstensi DOM PHP, proyek GNOME, dan xmllint) mengekspos .xpath() langsung pada elemen yang diurai. Di command line, XMLStarlet menyediakan antarmuka XPath: xml sel -t -m "//book" -v "title" -n file.xml mencetak satu judul buku per baris — XMLStarlet adalah untuk XML apa yang jq untuk JSON. Untuk kueri eksploratif sekali-pakai, tampilan tree dalam formatter ini memungkinkan Anda menavigasi struktur dokumen secara visual sebelum menulis ekspresi XPath, menghemat perjalanan bolak-balik menjalankan alat command-line.

Frequently asked questions

Apa itu XML formatter / beautifier?

XML formatter (juga disebut XML beautifier atau pretty-printer) mengambil XML yang padat atau terminifikasi dan menambahkan indentasi dan jeda baris yang konsisten sehingga strukturnya bisa dibaca manusia. Contohnya, <root><item>1</item></root> menjadi tiga baris yang jelas terindentasi dengan tag pembuka, anak terindentasi, dan tag penutup. Alat ini juga memvalidasi bahwa XML well-formed pada saat yang sama.

Bagaimana seharusnya XML diformat?

Pemformatan XML standar menempatkan setiap elemen di barisnya sendiri dengan elemen anak terindentasi relatif terhadap induknya — biasanya dengan 2 atau 4 spasi atau satu tab. Atribut tetap di baris tag pembuka. Dokumen yang diformat dengan baik juga dimulai dengan deklarasi XML seperti <?xml version="1.0" encoding="UTF-8"?>. Tempel XML Anda di atas dan klik Rapikan untuk menerapkan pemformatan standar secara instan.

Bagaimana cara memformat (merapikan) XML?

Tempel XML Anda ke kotak input, pilih indentasi pilihan Anda (2 spasi, 4 spasi, atau Tab), lalu klik Rapikan. Hasil terformat muncul di panel output dan alat melaporkan apakah dokumen well-formed. Anda juga bisa memuat contoh atau mengunggah file .xml. Setelah diformat, klik Salin atau Unduh untuk menyimpan hasilnya.

Bagaimana cara meminifikasi XML?

Klik Minify setelah menempel XML Anda. Minifikasi menghapus semua spasi kosong antar tag untuk menghasilkan dokumen satu-baris yang kompak — contohnya: <root><item>1</item><item>2</item></root>. Ini berguna saat mengirim XML melalui jaringan atau menanamkannya dalam konfigurasi di mana setiap byte penting. Minifikasi tidak pernah mengubah nama elemen, nilai atribut, atau konten teks.

Bagaimana cara memvalidasi XML?

Klik Validasi (atau cukup klik Rapikan — keduanya menjalankan pemeriksaan). Alat ini mengurai XML Anda dengan parser XML bawaan browser (DOMParser) dan melaporkan apakah dokumen well-formed, menampilkan pesan kesalahan dengan baris dan kolom dari masalah pertama. Lencana hijau berarti valid; peringatan kuning berarti dokumen mungkin memiliki masalah struktural.

Apa yang membuat XML well-formed?

Dokumen XML yang well-formed harus: (1) memiliki tepat satu elemen root, (2) menutup setiap tag yang dibuka — baik sebagai <item></item> atau self-closing <item/>, (3) menyarangkan tag tanpa tumpang tindih (tidak ada <b><i>text</b></i>), (4) mengutip semua nilai atribut, (5) meng-escape karakter khusus (& → &amp;, < → &lt;, > → &gt;), dan (6) mendeklarasikan encoding yang benar. Langgar aturan apa pun dan parser XML akan menolak dokumen tersebut.

Bagaimana cara melihat XML sebagai tree yang bisa dilipat?

Setelah memformat atau menempel XML Anda, klik tab Tree di atas panel output. Setiap elemen XML muncul sebagai baris yang bisa dilipat dengan segitiga yang Anda klik untuk menyembunyikan atau menampilkan anaknya. Atribut disorot dalam biru, nama tag dalam hijau, dan konten teks dalam hitam — memudahkan menjelajahi struktur bertingkat dalam seperti SOAP envelope, POM Maven, manifest Android atau feed RSS besar tanpa menggulir ratusan baris mentah.

Mengapa XML saya tidak valid?

Penyebab umum XML tidak valid: (1) tag tidak ditutup — <item> tanpa </item>; (2) tag tumpang tindih — <b><i>text</b></i>; (3) beberapa elemen root — dua tag tingkat-teratas bersebelahan; (4) ampersand yang tidak di-escape — & telanjang alih-alih &amp;; (5) kutipan atribut salah atau hilang. Klik Validasi untuk pesan kesalahan yang menunjuk ke baris dan kolom yang tepat dari masalah pertama sehingga Anda bisa memperbaikinya dengan cepat.

Apakah Notepad++ memformat XML?

Ya — Notepad++ bisa memformat XML dengan plugin XML Tools (Plugins → XML Tools → Pretty print). Tetapi plugin memerlukan langkah instalasi terpisah dan hanya bekerja di Windows. XMLSpy dan oXygen XML Editor juga memformat XML tetapi keduanya adalah aplikasi desktop berbayar yang berbiaya ratusan dolar per seat. Formatter online ini tidak memerlukan instalasi, tidak ada lisensi, dan bekerja di browser apa pun di perangkat apa pun — tempel XML Anda, klik Rapikan, selesai.

Bagaimana cara memformat dokumen XML di VS Code?

Di VS Code, buka file .xml Anda dan tekan Shift+Alt+F di Windows/Linux (atau Shift+Option+F di Mac) untuk menjalankan perintah Format Document bawaan. Anda juga bisa klik kanan dan pilih Format Document. Untuk pemformatan cepat sekali-pakai tanpa membuka editor — terutama untuk XML yang disalin dari browser, terminal, atau respons API — tempel di sini dan klik Rapikan.

Apakah pemformatan mengubah data?

Tidak. Merapikan atau meminifikasi XML hanya mengubah spasi kosong antar tag — tidak pernah mengubah nama elemen, nilai atribut, atau konten teks. Data identik sebelum dan sesudah pemformatan. Anda bisa memverifikasi ini dengan memformat, lalu meminifikasi hasilnya dan membandingkannya dengan bentuk terminifikasi asli.

Apakah aman memformat XML online?

Ya. Alat ini berjalan sepenuhnya di browser Anda — XML Anda tidak pernah dikirim ke server, dicatat, atau dibagikan dengan siapa pun. Pemformatan, minifikasi, validasi, dan tampilan tree semuanya terjadi secara lokal menggunakan JavaScript. Aman untuk menempel data rahasia seperti respons API internal, file konfigurasi, atau dokumen proprietary. XML formatter online lain seperti Code Beautify dan FreeFormatter.com mengirim data Anda ke server mereka — alat ini tidak pernah melakukannya.

Apa perbedaan antara XML dan JSON?

Baik XML maupun JSON adalah format teks untuk pertukaran data terstruktur. XML menggunakan tag tanda-kurung-siku bertingkat dengan atribut opsional (<person age="30">Alice</person>), mendukung komentar dan namespace, dan memiliki ekosistem skema yang kaya (XSD, XSLT, XPath). JSON menggunakan pasangan kunci-nilai dan array, lebih kompak, dan merupakan default untuk API REST dan JavaScript. XML tetap dominan dalam sistem enterprise, layanan SOAP, file konfigurasi (Maven, Android, Spring), dan format dokumen (SVG, EPUB, OpenDocument).

Apakah ini berfungsi offline?

Ya. Setelah halaman dimuat, semua pemrosesan berjalan di browser Anda tanpa permintaan jaringan lebih lanjut — sehingga formatter terus berfungsi jika Anda offline. Ini berguna saat Anda perlu memformat file XML internal di mesin dengan akses internet terbatas.

Bagaimana ini dibandingkan dengan xmllint dan alat command-line lainnya?

xmllint (bagian dari libxml2) adalah validator dan formatter XML command-line Unix standar — jalankan xmllint --format file.xml untuk pretty-print. Ini memerlukan instalasi libxml2, yang mudah di Linux/Mac tetapi kurang begitu di Windows. Modul xml.dom.minidom bawaan Python juga bisa pretty-print XML dari command line. Formatter online ini memberi Anda output yang sama secara instan di browser apa pun tanpa menginstal apa pun — dan menambahkan tampilan tree yang bisa dilipat yang tidak disediakan alat command-line.