ضغط وتحسين ملفات SVG
حسّن ملفات SVG واضغطها أونلاين باستخدام SVGO في متصفحك. اختر إعدادًا مسبقًا، وقارن النتيجة بصريًا، واطّلع على التوفير في الحجم وبعد gzip.
الإضافات
إزالة viewBox تمنع الرسم من التكيّف مع الحجم، وتقصير المعرّفات أو إزالتها يعطّل CSS وJavaScript وعناصر <use> وروابط المراسي التي تشير إليها. استخدم الإعداد «آمن» لملفات SVG المستخدمة في الشيفرة أو الـ sprites أو الحركات.
- الحجم الأصلي
- الحجم بعد التحسين
- التوفير
- بعد gzip
كيفية تحسين ملف SVG
- أفلت ملف SVG في منطقة الإفلات أو انقر عليها لاختياره. ويمكنك أيضًا لصق الشيفرة في مربع شيفرة SVG.
- اختر الإعداد المسبق: آمن أو متوازن (الافتراضي) أو أقصى. تبيّن قائمة الإضافات أدناه بالضبط الخطوات التي يفعّلها كل إعداد.
- عدّل عند الحاجة: الدقة العشرية (من 0 إلى 8 خانات)، وتمريرات متعددة، وتنسيق مقروء (إخراج بمسافات بادئة) إن أردت شيفرة سهلة القراءة. وبمجرد تغيير إضافة أو الدقة أو التمريرات، يتحول الإعداد المسبق إلى مخصص.
- انقر تحسين SVG. يُحسَّن الملف المُفلت فورًا، وبعد ظهور النتيجة، يعيد كل تغيير في الإعدادات تشغيل التحسين تلقائيًا.
- راجع أرقام الحجم الأصلي والحجم بعد التحسين والتوفير وبعد gzip، ثم قارن الرسمين جنبًا إلى جنب.
- انقر نسخ لنسخ شيفرة SVG المحسَّنة، أو تنزيل SVG المحسَّن لحفظها باسم
name.min.svg.
يتولى التحسين SVGO 4، أداة تحسين SVG القياسية مفتوحة المصدر (MIT) المستخدمة في معظم أدوات بناء الويب. تُحمَّل نسختها الخاصة بالمتصفح عند أول نقرة، وتعمل بالكامل على جهازك: لا يُرفع ملف SVG الخاص بك أبدًا.
لماذا ملفات SVG المصدَّرة من برامج التصميم ثقيلة إلى هذا الحد
يحمل ملف SVG المصدَّر من Illustrator أو Inkscape أو Figma أو Sketch أكثر بكثير من الرسم. تضيف المحررات فضاءات أسماء وسمات خاصة بها (أسماء الطبقات، والأدلة، وإعدادات التصدير)، وكتلة <metadata>، وتعليقات مثل «Generator: Adobe Illustrator»، وإحداثيات بست خانات عشرية أو أكثر، ومجموعات لا تحتوي إلا عنصرًا واحدًا، وألوانًا مطوّلة مثل #ffffff. ولا شيء من هذا يغيّر ما يرسمه المتصفح. يزيل SVGO كل ذلك، ويقرّب الأرقام، ويعيد كتابة بيانات المسارات بأوامر أقصر، ويقصّر الألوان، ويدمج العناصر الزائدة أو يفكّ تغليفها. والتخفيض بنسبة 40–60 % شائع في الأيقونات والرسوم المصدَّرة.
الإعدادات المسبقة والإضافات الخطرة
- آمن يشغّل الإعداد الافتراضي لـ SVGO لكنه يحتفظ بالمعرّفات و
<desc>والمسارات المنفصلة وقواعد<style>، بثلاث خانات عشرية وتمريرة واحدة. استخدمه لملفات SVG المشار إليها من CSS أو JavaScript، وللـ sprites والحركات. - متوازن هو الإعداد الافتراضي لـ SVGO، بثلاث خانات عشرية وتمريرات متعددة. ويناسب معظم الأيقونات والرسوم المعروضة كصور.
- أقصى يضيف إزالة
وإزالة النصوص البرمجية وسمات الأحداث وإزالة width/height (مع الإبقاء على viewBox) واستبدال xlink:href بـ href، بخانتين عشريتين وتمريرات متعددة.
لا يزيل أي إعداد مسبق الـ viewBox. فخيار إزالة viewBox موجود للحالات الخاصة فقط: بدونه، لا يعود الرسم قادرًا على التكيّف مع الحجم الذي تعطيه إياه في CSS.
اعرف ما قد تعطّله الإضافات الأخرى:
- تقصير المعرّفات وإزالة غير المستخدم منها يعيد تسمية معرّفات مثل
#icon-homeإلىa. فيتوقف عن العمل أي محدِّد CSS، أو استعلام JavaScript، أو مرجع sprite من نوع<use href="#…">، أو مرساة صفحة، أو حركة SMIL/CSS تستهدف الاسم القديم. - إزالة
وإزالة تحذفان الاسم والوصف المخصّصين لإمكانية الوصول. أبقِهما في الأيقونات والمخططات ذات المعنى التي يجب أن تعلنها قارئات الشاشة. - الدقة العشرية المنخفضة قد تشوّه الأيقونات الصغيرة: تتموّج المنحنيات وتنزاح الحواف. راجع المقارنة البصرية دائمًا؛ والقيمة 3 افتراضية آمنة.
- دمج المسارات يجمع المسارات المتجاورة في مسار واحد، فيفقد تأثير المرور بالمؤشر أو الحركة التي تستهدف مسارًا بعينه هدفها.
نصائح
- احتفظ بنسخة رئيسية غير محسَّنة للتحرير، وتعامل مع ملف
.min.svgكأنه شيفرة مترجمة. - فعّل gzip أو brotli على خادمك: الصيغ النصية مثل SVG تنضغط جيدًا جدًا، ورقم بعد gzip يبيّن ما يحمّله الزوار فعلًا (يظهر عندما يدعم متصفحك
CompressionStream). - يمكن تنسيق SVG المضمَّن مباشرةً في الصفحة بـ CSS وتحريكه، لكنه لا يُخزَّن مؤقتًا بشكل منفصل؛ أما SVG داخل
<img>فيُخزَّن مؤقتًا لكن لا يمكن تنسيقه من الصفحة.
الأسئلة الشائعة
هل يُرفع ملف SVG الخاص بي إلى خادم؟
لا. يعمل SVGO في متصفحك. والشيء الوحيد الذي يُنزَّل هو شيفرة أداة التحسين نفسها، عند أول تحسين.
لماذا تُعرض المعاينة كصور؟
SVG صيغة مستندات يمكن أن تحتوي على JavaScript وأن تحمّل ملفات خارجية. تُعرض المعاينتان كعناصر <img> من عناوين blob محلية، وفي هذا الوضع لا تشغّل المتصفحات أي نص برمجي ولا تجلب موارد خارجية، فمعاينة ملف SVG غير موثوق هنا آمنة. لكن الشيفرة المحسَّنة نفسها تبقى محتوية على أي نصوص برمجية ما لم يكن إزالة النصوص البرمجية وسمات الأحداث مفعّلًا (وهو مفعّل في أقصى).
لم يعد ملف SVG المحسَّن يتكيّف مع الحجم. ماذا حدث؟
الأرجح أن الـ viewBox أُزيل، إما بخيار إزالة viewBox أو سابقًا بأداة أخرى. أعد تحسين الملف الأصلي مع إيقاف تلك الإضافة.
لماذا توقف الـ sprite أو الحركة عن العمل؟
غيّر تقصير المعرّفات وإزالة غير المستخدم منها أو دمج المسارات العناصرَ التي تشير إليها شيفرتك. استخدم الإعداد آمن الذي يحتفظ بكليهما.
الملف المحسَّن ليس أصغر. لماذا؟
الأرجح أن ملف SVG مضغوط مسبقًا. جرّب أقصى أو الدقة العشرية أقل، وأوقف تنسيق مقروء (إخراج بمسافات بادئة).
أدوات ذات صلة
- تحويل SVG إلى PNG حوّل ملفات SVG إلى PNG أو JPG أو WebP في متصفحك بأي عرض أو ارتفاع أو معامل تكبير أو DPI، مع خلفية شفافة أو ملونة. تحويل جماعي وZIP دون رفع.
- تحويل الصورة إلى SVG حوّل شعارًا أو رسمًا بصيغة PNG أو JPG إلى مسارات SVG متجهة في متصفحك: إعدادات مسبقة، وعدد الألوان، وتصفية النقاط، ومعاينة آمنة، دون رفع.
- ضغط الصور اضغط صور JPG وPNG وWebP بشريط للجودة، وقارن الحجم قبل الضغط وبعده، وعالج دفعات من الصور دون رفعها إلى أي خادم.
- منسّق CSS وضاغطه جمّل شيفرة CSS الفوضوية بمسافات بادئة مرتبة أو اضغطها باستخدام csso، واعرض الحجم قبل وبعد. تعمل في متصفحك دون رفع أي شيء.