Fitur Utama Pemformat SVG Kami
- **Mode perindahan** dengan indentasi cerdas, pembungkusan baris, dan penyelarasan atribut
- **Mode minifikasi** yang menghilangkan spasi, komentar, dan metadata berlebihan
- Pemformatan gaya Prettier dan optimasi gaya SVGO di balik layar
- Gaya indentasi yang dapat dikonfigurasi (spasi atau tab) dan ukuran indentasi
- Kolom bungkus opsional untuk menjaga jalur dan atribut panjang tetap rapi
- Gaya akhir baris yang konsisten (LF / CRLF) untuk diff yang bersih di berbagai OS
- Seret-dan-lepas file `.svg` hingga 5 MB atau tempel markup SVG sebaris
- Pemrosesan 100% di sisi klien β karya seni Anda tidak pernah meninggalkan peramban
- Salin atau unduh dengan satu klik untuk keluaran yang diformat (`.formatted.svg`) atau diminifikasi (`.min.svg`)
- UI responsif yang berfungsi baik di laptop, desktop, dan tablet
π§ Cara Memformat atau Meminifikasi SVG: Panduan Cepat for svg-formatter
1. Tempel atau Unggah SVG
π₯ Seret-dan-lepas file `.svg` Anda atau tempel markup SVG mentah ke editor. Alat ini mendeteksi konten `image/svg+xml` standar secara otomatis.
2. Pilih Format atau Minifikasi
β¨ Pilih **Format** untuk markup yang mudah dibaca (cocok untuk tinjauan dan kontrol versi) atau **Minifikasi** untuk ukuran file terkecil.
3. Sesuaikan Opsi Pemformatan
βοΈ Atur **Gaya Indentasi** (spasi atau tab), **Ukuran Indentasi** dan opsional **Bungkus / Panjang Baris**. Ini langsung dipetakan ke pengaturan pemformat dasar.
4. Pratinjau & Ekspor
π Periksa kode SVG yang dioptimalkan, uji cepat di proyek Anda, lalu salin ke papan klip atau unduh hasilnya sebagai file `.svg` baru.
Detail Teknis
Mesin Perindahan (Mode Format)
Mode format menggunakan mesin bergaya Prettier yang disesuaikan untuk markup XML SVG. Fokus pada keterbacaan dan diff yang stabil dan dapat diprediksi.
| Aspek | Perilaku | Catatan |
|---|---|---|
| Gaya Indentasi | Spasi atau Tab | Dapat dikonfigurasi melalui **Gaya Indentasi** (dipetakan ke `indentStyle`). |
| Ukuran Indentasi | 1β8 spasi | Mengontrol lebar sarang saat menggunakan spasi (dipetakan ke `indentSize`). |
| Bungkus / Panjang Baris | 0β120 kolom | `0` menonaktifkan pembungkusan; selain itu, baris panjang dibungkus di sekitar kolom yang dipilih (dipetakan ke `wrapLineLength`). |
| Akhir-Baris | LF (`\n`) atau CRLF (`\r\n`) | Menjaga akhir baris konsisten di berbagai OS (dipetakan ke `endOfLine`). |
| Bahasa Keluaran | SVG Gaya XML | Mempertahankan struktur XML yang kompatibel dengan SVG untuk penyematan yang aman. |
Pipa Pengecilan (Mode Minify)
Mode minify menggunakan pipa yang terinspirasi SVGO yang berfokus pada pengurangan ukuran sambil mempertahankan keluaran visual.
| Langkah | Deskripsi | Dampak |
|---|---|---|
| Hapus komentar | Menghilangkan node komentar `<!-- ... -->` yang tidak mempengaruhi rendering. | File lebih kecil, diff lebih bersih. |
| Hilangkan spasi berlebihan | Mengurangi spasi, tab, dan jeda baris yang tidak diperlukan. | Keuntungan besar untuk SVG yang diekspor dari editor verbose. |
| Pangkas metadata | Opsional menghapus node metadata non-rendering ketika aman. | Baik untuk aset produksi publik. |
| Normalisasi atribut | Menyederhanakan dan mengurutkan ulang atribut dengan cara yang stabil. | Keluaran lebih ringkas, cacheabilitas lebih baik. |
Pengkodean & Kompatibilitas
Keluaran adalah SVG UTF-8 yang kompatibel dengan browser dan alat modern, selaras dengan spesifikasi SVG 2.
Kinerja & Batas (Browser Desktop Biasa)
| Jenis File | Ukuran Masukan | Waktu Beautify | Waktu Minify | Pengurangan Ukuran Khas |
|---|---|---|---|---|
| Ikon | 5 KB | β‘ < 15 ms | β‘ < 20 ms | β 25β40% |
| Ilustrasi | 100 KB | β‘ < 60 ms | β‘ < 90 ms | β 40β55% |
| Grafik Utama | 500 KB | β±οΈ < 300 ms | β±οΈ < 450 ms | β 50β60% |
Alternatif CLI untuk Pengguna Lanjutan
Lebih suka alur kerja terminal atau integrasi CI? Gabungkan Prettier dan SVGO untuk perilaku serupa dengan alat ini:
Linux / π macOS
Perindah SVG dengan Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgMenerapkan indentasi dan pembungkusan baris yang konsisten pada markup SVG Anda.
Minifikasi SVG dengan SVGO
npx svgo input.svg -o input.min.svgMenghapus komentar, metadata, dan spasi berlebihan untuk file yang lebih kecil.
Windows (PowerShell atau CMD)
Cetak cantik SVG menggunakan xmlstarlet (via WSL atau native)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgMemformat SVG/XML dengan indentasi 2 spasi.
Minifikasi SVG dengan SVGO (tanpa instalasi global)
npx svgo input.svg -o min.svgMenjalankan SVGO langsung melalui `npx` untuk optimisasi sekali pakai.
Aplikasi Praktis
Performa Web & Bundle Frontend
- Kurangi muatan SVG dalam sistem desain, set ikon, dan lembar sprite.
- Sisipkan SVG yang diminifikasi dalam HTML/CSS untuk menghemat permintaan HTTP tambahan.
- Tingkatkan Core Web Vitals dengan mengecilkan ilustrasi utama di halaman arahan.
<img src="/assets/hero.min.svg" alt="Grafik utama yang dioptimalkan" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }Serah Terima Desain & Kontrol Versi
- Perindah SVG yang diekspor sebelum tinjauan kode agar perbedaan mudah dibaca.
- Simpan `.formatted.svg` untuk kolaborasi dan `.min.svg` untuk produksi.
- Terapkan indentasi dan urutan atribut yang konsisten di seluruh sistem desain.
Seluler, Email & Aplikasi Hibrida
- Minifikasi SVG inline dalam email HTML untuk kampanye yang lebih ringan.
- Kurangi ukuran bundle aplikasi di React Native / Capacitor / Ionic saat mengirim banyak ikon.
- Hemat bandwidth untuk pengguna dengan koneksi lambat atau terbatas.
β Frequently Asked Questions
βApa itu pemformatan SVG?
πApakah minifikasi akan mengubah tampilan SVG saya?
πApakah SVG saya diunggah ke server?
πBerapa banyak ukuran yang bisa dihemat oleh minifikasi?
β οΈApakah menghapus `<metadata>` atau komentar dapat mengganggu alur kerja saya?
Pro Tips
Simpan `icon.formatted.svg` yang belum diminifikasi di repo Anda untuk perbedaan yang bersih, lalu hasilkan `icon.min.svg` sebagai bagian dari langkah build Anda.
Selalu sertakan elemen `<title>` dan `<desc>` yang bermakna sebelum diminifikasi untuk menjaga SVG Anda dapat diakses oleh pembaca layar.
Gabungkan minifikasi SVG dengan kompresi HTTP (Gzip/Brotli) untuk menghemat lebih banyak byte dari ilustrasi dan bagan yang berat.
Untuk set ikon, pertimbangkan strategi sprite: minifikasi sekali, lalu referensikan ikon melalui `<use>` alih-alih menduplikasi kode SVG di mana-mana.
Additional Resources
Other Tools
- Pemerindah CSS
- Pemerindah HTML
- Pemerindah Javascript
- Pemerindah PHP
- Pemilih Warna
- Ekstraktor Sprite
- Dekoder Base64
- Encoder Base64
- Pemformat Csharp
- Pemformat CSV
- Dockerfile Formatter
- Pemformat Elm
- Pemformat ENV
- Pemformat Go
- Pemformat GraphQL
- Pemformat HCL
- Pemformat INI
- Pemformat JSON
- Pemformat Latex
- Pemformat Markdown
- Pemformat ObjectiveC
- Php Formatter
- Pemformat Proto
- Pemformat Python
- Pemformat Ruby
- Pemformat Rust
- Pemformat Scala
- Pemformat Skrip Shell
- Pemformat SQL
- Pemformat Swift
- Pemformat TOML
- Typescript Formatter
- Pemformat XML
- Pemformat YAML
- Pemformat Yarn
- Pengecil CSS
- Html Minifier
- Javascript Minifier
- Pengecil JSON
- Pengecil XML
- Penampil Header HTTP
- PDF Ke Teks
- Penguji Regex
- Pemeriksa Peringkat SERP
- Pencarian Whois