Vektor SVG (.svg)

Rekomendasi Standar

Scalable Vector Graphics (SVG) adalah format gambar vektor berbasis XML untuk grafik dua dimensi dengan dukungan interaktivitas, gaya CSS, dan animasi.

Konversi SVG ke PNG

Konverter SVG ke PNG gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.

Kompres SVG Secara Daring

Privat - file tidak pernah meninggalkan perangkat Anda

Pemeriksaan & Metadata

Sistem operasi dan penganalisis file mengenali file SVG dengan memeriksa urutan byte biner di bagian awal:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

Tanda Tangan Header per Byte (Byte Penanda)

Sistem operasi dan penganalisis file mengenali file SVG dengan memeriksa urutan byte biner di bagian awal:

TANDA TANGAN HEX (OFFSET 0):

3C 73 76 67

REPRESENTASI ASCII: <svg

Standardisasi: Rekomendasi W3C (SVG 1.1 / SVG 2)

Spesifikasi Teknis

Arsitektur KontainerDokumen markah teks berbasis XML yang mendefinisikan geometri vektor 2D
KompresiKompresi teks Gzip / Brotli (SVGZ menggunakan kompresi gzip)
Urutan ByteTidak berlaku (Aliran karakter berbasis teks UTF-8 / UTF-16)
Ruang WarnasRGB, Modul Warna CSS 4 (Display P3, lab, lch)
Saluran & StrukturBentuk vektor beresolusi tak terbatas, kurva Bézier, tipografi, dan mask opasitas
Dimensi MaksimumIndependen terhadap resolusi (berskala tanpa batas ke area tampilan apa pun tanpa pikselasi)
TransparansiTransparansi alfa variabel penuh dan mode campuran CSS
Streaming & ProgresifPenguraian aliran teks progresif didukung oleh pengurai XML peramban

Perbandingan Teknis SVG dengan Pesaing

Atribut TeknisSVG (Saat Ini)HTML5 CanvasPDFPNG
Model PerenderanDOM vektor dengan model retensiKanvas bitmap model langsungWadah halaman tetap dengan model retensiKotak piksel raster
Gaya & CSSDapat diberi gaya sepenuhnya melalui kelas dan variabel CSSMemerlukan penggambaran ulang menggunakan API kanvas JavaScriptTidak ada gaya CSS dinamisPiksel raster tetap
Skalabilitas tak terbatasYa (kurva vektor matematis)Memerlukan penskalaan resolusi manualYa (elemen vektor)Tidak (menjadi berkotak-kotak saat diperbesar)
InteraktivitasPeristiwa DOM bawaan (arahkan kursor, klik, animasi)Memerlukan perhitungan manual untuk mendeteksi titik interaksiDokumen statisMemerlukan peta gambar atau kanvas

Pola Kerusakan Umum dan Panduan Pemulihan Hex

Peramban menampilkan Kesalahan Penguraian XML: token tidak ditutup atau tag tidak cocok.

Penyebab Utama: Sintaks XML cacat, tag penutup yang hilang, atau ampersand yang tidak lolos ('&' alih-alih '&amp;').

Pemulihan: Validasi dengan linter XML (xmllint file.svg) dan koreksi tag yang tidak seimbang.

Analisis Keamanan & Vektor Serangan Parser

Karena SVG adalah XML yang dapat dieksekusi dan mendukung tag '<script>' serta entitas eksternal, SVG menghadirkan risiko XSS dan SSRF yang signifikan jika SVG yang tidak tepercaya ditampilkan.

Vektor Serangan yang Diketahui

  • Cross-Site Scripting (XSS) tersimpan melalui tag '<script>' yang disematkan atau penangan kejadian 'onload='.
  • Serangan XML External Entity (XXE) yang membaca file server lokal saat diurai pada server backend.
  • Ekspansi entitas XML Billion Laughs yang menyebabkan penolakan layanan.

Praktik Terbaik Defensif: Selalu bersihkan SVG dengan DOMPurify sebelum menyematkannya, atau sajikan SVG dengan 'Content-Security-Policy: default-src 'none'' atau sebagai tag '<img>' yang otomatis menonaktifkan skrip.

Asal-Usul & Tonggak Sejarah

2018Rekomendasi Kandidat W3C SVG 2 mengintegrasikan gaya CSS modern.
2011SVG 1.1 (Second Edition) membantu memperluas dukungan SVG di peramban desktop dan seluler.
2001W3C menerbitkan spesifikasi SVG 1.0 yang dikembangkan dari usulan VML dan PGML.

Keunggulan & Kelebihan Utama

  • Tidak bergantung pada resolusi: garis dan tipografi tetap tajam pada skala tampilan atau cetak apa pun.
  • Ukuran file yang sangat kecil untuk logo, ikon, dan elemen antarmuka UI.
  • Mendukung skrip dan pengaturan gaya sepenuhnya melalui CSS dan JavaScript di dalam DOM peramban.

Keterbatasan Teknis & Kekurangan

  • Tidak cocok untuk foto atau gambar nada kontinu yang kompleks.
  • Jalur vektor kompleks dengan ribuan node dapat memperlambat proses render di CPU dan menguras baterai.
  • Karena XML memungkinkan penyematan skrip, unggahan yang tidak tepercaya harus disanitasi dengan ketat sebelum dirender.

Fakta Teknis Menarik

  • Gzip dapat mengurangi ukuran beberapa file SVG secara signifikan; pengurangannya bergantung pada isi dokumen dan pengaturan kompresi.
  • Atribut viewBox mendefinisikan kanvas koordinat abstrak yang memetakan secara dinamis ke piksel layar fisik.
  • Peramban web pada awalnya tidak memiliki mesin SVG bawaan, sehingga Adobe mendistribusikan plugin peramban Adobe SVG Viewer sebelum dukungan SVG bawaan di peramban menjadi mapan sekitar tahun 2011.

Pertanyaan Teknis yang Sering Diajukan

Apakah file SVG dapat berisi kode berbahaya?

Ya. Karena SVG adalah XML yang valid, berkas ini dapat berisi JavaScript tersemat ('<script>') yang dieksekusi jika SVG dimuat langsung di peramban atau dibuka di elemen '<svg>' sebaris. Menyajikan SVG melalui tag '<img>' secara otomatis menetralkan eksekusi skrip.

Kapan saya harus menggunakan SVG alih-alih PNG?

Gunakan SVG untuk ikon, logo, grafik, ilustrasi, dan tipografi yang memerlukan penskalaan tajam di semua ukuran layar dan ukuran file yang kecil. Gunakan PNG atau WebP untuk foto.

Bagaimana cara mengoptimalkan file SVG yang besar atau kompleks?

Anda dapat mengoptimalkan jalur vektor dengan menghapus metadata berlebih, komentar editor (dari Inkscape atau Illustrator), grup tak terlihat, dan deklarasi namespace yang tidak digunakan melalui alat seperti SVGO atau kompresi SVG.