Langkau ke kandungan utama

Pengoptimum & Pemampat SVG percuma

Buang metadata, runtuhkan ruang putih, dan bulatkan perpuluhan untuk mengurangkan saiz fail SVG secara dramatik — pengurangan biasa 30-70%. Pratonton visual mengesahkan tiada yang rosak.

Berfungsi luar talian selepas dimuatkan

Lepaskan fail di sini, atau klik untuk semak imbas

SVG · diproses pada peranti anda

atau tekan Ctrl+V untuk menampal daripada papan keratan

Layar fail
— atau tampal SVG di bawah —

Fail anda tidak pernah meninggalkan peranti. Semua pemprosesan berlaku secara tempatan dalam pelayar anda.

Kegunaan biasa

  • Optimalkan Ikon SVG untuk PengeluaranBuang metadata yang tidak perlu dari ikon SVG sebelum penghantaran — pengurangan tipikal 50-80%.
  • Optimalkan Logo SVG JenamaKurangkan saiz fail SVG logo untuk pemuatan tapak web pantas tanpa mengorbankan kualiti.
  • Optimalkan Ilustrasi dan SVG PahlawanUntuk ilustrasi yang lebih besar (pahlawan, grafik dekoratif), pengoptimuman boleh menjimatkan 30-70% saiz fail.
  • Kurangkan Saiz Bungkus JavaScriptApabila SVG diimport sebagai komponen React atau disematkan dalam kod, pengoptimuman mengecilkan bungkus JS anda.
  • Bersihkan Pengeksportan SVG Figma / SketchPengeksportan SVG Figma dan Sketch mengandungi metadata luas. Buangnya sebelum menggunakan dalam pengeluaran.

Cara ia berfungsi

Alat ini mengurangkan saiz fail SVG menggunakan pengoptimum tulisan tangan yang berjalan sepenuhnya dalam pelayar anda — tiada pustaka, tiada pelayan. Ia menggabungkan dua pas: DOMParser/XMLSerializer terbina dalam pelayar untuk kerja ketepatan tahap-atribut, dan penggantian regex khusus untuk pembuangan komen, pembuangan metadata, dan keruntuhan ruang putih.

  1. 1
    DOMParser mensanitasi SVG
    Sebelum sebarang pengoptimuman, DOMParser pelayar membaca SVG sebagai XML dan melalui setiap elemen. Tag skrip, pengendali acara (sebarang atribut on*), elemen animasi, dan rujukan URL luaran dibuang tanpa syarat — ini berjalan tidak kira pilihan pengoptimuman yang anda pilih.
  2. 2
    Pembundaran perpuluhan berasaskan-DOM
    Jika pembundaran perpuluhan dihidupkan, pengoptimum melalui DOM dihurai kali kedua dan mengenakan pembundaran hanya kepada atribut berangka diketahui (data path d, koordinat, nilai transform, lebar strok, dll.), menggunakan regex yang memadankan nombor titik-apung individu tanpa merosakkan nilai laluan bergabung seperti .5.5.
  3. 3
    Pas regex membersihkan markup disirikan
    XMLSerializer menghasilkan XML dinormalisasi, kemudian penggantian rentetan khusus membuang komen HTML, metadata editor Inkscape/Sodipodi, pengisytiharan XML, atribut lalai berlebihan (seperti version="1.1"), dan ruang putih antara-tag — setiap pas terhad secara sempit supaya kandungan nod teks tidak pernah disentuh.
  4. 4
    Saiz gzip dan format eksport
    CompressionStream API pelayar mengira saiz gzip sebenar kedua-dua input dan output, kerana itulah yang sebenarnya menentukan kos pemindahan di web. SVG dioptimumkan boleh dimuat turun, disalin sebagai SVG mentah, ditukar kepada atribut camelCase sedia-JSX React, atau dikod sebagai URI data CSS — semua penukaran berlaku secara tempatan.

SVG anda dibaca dan diproses sepenuhnya di dalam tab pelayar anda — bait fail tidak pernah keluar dari peranti anda.

Alat berkaitan

Soalan lazim