الميزات الرئيسية لمنسق SVG الخاص بنا
- **وضع التجميل** مع مسافة بادئة ذكية، لف الأسطر ومحاذاة السمات
- **وضع التصغير** الذي يزيل المسافات البيضاء والتعليقات وبيانات التعريف الزائدة
- تنسيق على غرار Prettier وتحسين على غرار SVGO تحت الغطاء
- نمط مسافة بادئة قابل للتكوين (مسافات أو علامات تبويب) وحجم مسافة بادئة
- عمود لف اختياري للحفاظ على المسارات والسمات الطويلة مرتبة
- نمط ثابت لنهاية السطر (LF / CRLF) لمقارنات نظيفة عبر أنظمة التشغيل
- اسحب وأفلت ملفات `.svg` حتى 5 ميجابايت أو الصق ترميز SVG مضمن
- معالجة 100% من جانب العميل — لا تترك رسوماتك المتصفح أبداً
- نسخ بنقرة واحدة أو تنزيل المخرجات المهيأة (`.formatted.svg`) أو المضغوطة (`.min.svg`)
- واجهة مستجيبة تعمل بشكل جيد على أجهزة اللابتوب، سطح المكتب والأجهزة اللوحية
🔧 كيفية تنسيق أو ضغط SVG: دليل سريع for svg-formatter
1. الصق أو حمّل SVG
📥 اسحب وأفلت ملف `.svg` الخاص بك أو الصق ترميز SVG الخام في المحرر. الأداة تكتشف محتوى `image/svg+xml` القياسي تلقائياً.
2. اختر تنسيق أو ضغط
✨ اختر **تنسيق** لترميز مقروء للبشر (ممتاز للمراجعات والتحكم بالإصدارات) أو **ضغط** لأصغر حجم ملف ممكن.
3. اضبط خيارات التنسيق
⚙️ اضبط **نمط المسافة البادئة** (مسافات أو علامات تبويب)، **حجم المسافة البادئة** واختياري **التفاف / طول السطر**. هذه تتوافق مباشرة مع إعدادات المُنسّق الأساسي.
4. معاينة وتصدير
👀 افحص كود SVG المُحسّن، اختبره بسرعة في مشروعك، ثم انسخه إلى الحافظة أو حمّل النتيجة كملف `.svg` جديد.
التفاصيل التقنية
محرك التجميل (وضع التنسيق)
وضع التنسيق يستخدم محركاً على غرار Prettier مُعدّ لترميز SVG XML. يركز على القابلية للقراءة ومقارنات مستقرة ومتوقعة.
| الجانب | السلوك | ملاحظات |
|---|---|---|
| نمط المسافة البادئة | مسافات أو علامات تبويب | قابل للتكوين عبر **نمط المسافة البادئة** (يتوافق مع `indentStyle`). |
| حجم المسافة البادئة | 1–8 مسافات | يتحكم بعرض التداخل عند استخدام المسافات (يتوافق مع `indentSize`). |
| التفاف / طول السطر | 0–120 عمود | `0` يعطل التفاف؛ وإلا يتم لف الأسطر الطويلة حول العمود المختار (يتوافق مع `wrapLineLength`). |
| نهاية السطر | LF (`\n`) أو CRLF (`\r\n`) | يحافظ على نهايات الأسطر متسقة عبر أنظمة التشغيل (يتوافق مع `endOfLine`). |
| لغة الإخراج | SVG بنمط XML | يحافظ على بنية XML متوافقة مع SVG للتضمين الآمن. |
خطوة التصغير (وضع التصغير)
يستخدم وضع التصغير خطوة مستوحاة من SVGO تركز على تقليل الحجم مع الحفاظ على المخرجات المرئية.
| الخطوة | الوصف | التأثير |
|---|---|---|
| إزالة التعليقات | يزيل عقد التعليقات `<!-- ... -->` التي لا تؤثر على العرض. | ملفات أصغر، فروقات أنظف. |
| إزالة المسافات البيضاء الزائدة | يطوي المسافات والتبويبات وفواصل الأسطر غير الضرورية. | مكاسب كبيرة لملفات SVG المصدرة من المحررات المطولة. |
| تقليم البيانات الوصفية | يزيل عقد البيانات الوصفية غير المعرضة عند الأمان. | جيد للأصول الإنتاجية العامة. |
| تطبيع السمات | يبسط ويعيد ترتيب السمات بطريقة مستقرة. | مخرجات أكثر إحكاما، قابلية أفضل للتخزين المؤقت. |
الترميز والتوافق
المخرجات متوافقة مع UTF-8 SVG للمتصفحات والأدوات الحديثة، متوافقة مع مواصفات SVG 2.
الأداء والحدود (متصفح سطح مكتب نموذجي)
| نوع الملف | حجم الإدخال | وقت التجميل | وقت التصغير | نسبة التخفيض النموذجية |
|---|---|---|---|---|
| أيقونة | 5 كيلوبايت | ⚡ < 15 مللي ثانية | ⚡ < 20 مللي ثانية | ≈ 25–40% |
| رسم توضيحي | 100 كيلوبايت | ⚡ < 60 مللي ثانية | ⚡ < 90 مللي ثانية | ≈ 40–55% |
| الرسم البطولي | 500 كيلوبايت | ⏱️ < 300 مللي ثانية | ⏱️ < 450 مللي ثانية | ≈ 50–60% |
بدائل سطر الأوامر للمستخدمين المتقدمين
تفضل سير عمل الطرفية أو التكامل مع CI؟ اجمع بين Prettier و SVGO لسلوك مشابه لهذه الأداة:
لينكس / 🍎 ماك
تحسين مظهر SVG باستخدام Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgيطبق مسافات بادئة متسقة ولف الأسطر على ترميز SVG الخاص بك.
تصغير SVG باستخدام SVGO
npx svgo input.svg -o input.min.svgيزيل التعليقات وبيانات التعريف والمسافات الزائدة لملفات أصغر.
ويندوز (PowerShell أو CMD)
طباعة SVG بشكل منسق باستخدام xmlstarlet (عبر WSL أو أصلي)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgيقوم بتنسيق SVG/XML بمسافة بادئة بمقدار 2 مسافة.
تصغير SVG باستخدام SVGO (بدون تثبيت عالمي)
npx svgo input.svg -o min.svgيشغل SVGO مباشرة عبر `npx` لتحسينات لمرة واحدة.
التطبيقات العملية
أداء الويب وحزم الواجهة الأمامية
- تقليل أحمال SVG في أنظمة التصميم ومجموعات الرموز وأوراق الرموز.
- تضمين SVG المصغر داخل HTML/CSS لتوفير طلبات HTTP إضافية.
- تحسين مؤشرات Core Web Vitals عن طريق تصغير الرسوم التوضيحية البطولية في صفحات الهبوط.
<img src="/assets/hero.min.svg" alt="Optimized hero graphic" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }تسليم التصميم والتحكم في الإصدار
- تحسين مظهر SVG المُصدر قبل مراجعة الكود لجعل الاختلافات قابلة للقراءة.
- احتفظ بـ `.formatted.svg` منسق للتعاون و `.min.svg` للإنتاج.
- فرض مسافات بادئة متسقة وترتيب سمات عبر نظام التصميم.
الجوال والبريد الإلكتروني والتطبيقات الهجينة
- تصغير SVGs المضمنة في رسائل البريد الإلكتروني HTML لحملات أخف.
- تقليل حجم حزمة التطبيق في React Native / Capacitor / Ionic عند شحن العديد من الرموز.
- توفير عرض النطاق للمستخدمين على اتصالات بطيئة أو محدودة.
❓ Frequently Asked Questions
❓ما هو تنسيق SVG؟
📏هل سيغير التصغير من مظهر SVG الخاص بي؟
🔒هل يتم تحميل SVG الخاص بي إلى خادم؟
🚀ما مقدار الحجم الذي يمكن أن يوفره التصغير؟
⚠️هل يمكن لإزالة `<metadata>` أو التعليقات أن تعطل سير عملي؟
Pro Tips
احتفظ بـ `icon.formatted.svg` غير مصغر في مستودعك لمقارنات نظيفة، ثم أنشئ `icon.min.svg` كجزء من خطوة البناء.
قم دائماً بتضمين عناصر `<title>` و `<desc>` ذات معنى قبل التصغير للحفاظ على إمكانية وصول SVGs الخاصة بك لقارئات الشاشة.
اجمع بين تصغير SVG وضغط HTTP (Gzip/Brotli) لاستخراج المزيد من البايتات من الرسوم التوضيحية والمخططات الثقيلة.
لمجموعات الرموز، فكر في استراتيجية sprite: صغر مرة واحدة، ثم أشر إلى الرموز عبر `<use>` بدلاً من تكرار كود SVG في كل مكان.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- فك تشفير Base64
- تشفير Base64
- منسق Csharp
- منسق CSV
- Dockerfile Formatter
- منسق Elm
- منسق ENV
- منسق Go
- منسق Graphql
- منسق Hcl
- منسق INI
- منسق JSON
- منسق Latex
- منسق Markdown
- منسق Objectivec
- Php Formatter
- منسق Proto
- منسق Python
- منسق Ruby
- منسق Rust
- منسق Scala
- منسق سكريبت Shell
- منسق SQL
- منسق Swift
- منسق TOML
- Typescript Formatter
- منسق XML
- منسق YAML
- منسق Yarn
- مختصر CSS
- Html Minifier
- Javascript Minifier
- مختصر JSON
- مصغر XML
- عارض رؤوس HTTP
- PDF إلى نص
- مختبر Regex
- مدقق ترتيب SERP
- بحث Whois