NEWمحوّل SVG إلى React مجاني

SVG to React

الصق كود SVG الخام واحصل على مكوّن React جاهز للإنتاج في ميلي ثانية. يعمل محوّل SVG إلى React بالكامل داخل المتصفح — بدون رفع ملفات، بدون خادم، بدون تأخير.

لماذا تعديل SVG يدوياً لـ React أمرٌ مرهق

كل مطوّر لصق ملف SVG خام في مشروع React يعرف هذه المشكلات جيداً.

أخطاء camelCase تُوقف عملية البناء

تستخدم ملفات SVG الخام خصائص بالشرطة مثل clip-rule وfill-opacity وstroke-linecap. بينما يتطلب React صيغة camelCase: clipRule وfillOpacity وstrokeLinecap. نسيان خاصية واحدة يُبطئ البناء ويتسبب في أخطاء صعبة التتبع.

ألوان مُضمَّنة تمنع إعادة الاستخدام

تُصدّر أدوات Figma وSketch ملفات SVG بألوان مُثبَّتة مثل fill="#3B82F6"، فيصبح كل أيقونة مكوّناً للاستخدام مرة واحدة فقط. إعادة توظيفها في الوضع الداكن أو حالات التمرير أو ألوان علامة مختلفة تستلزم نسخها وتعديلها يدوياً.

كود زائد يُبطئ الأداء

تُضيف أدوات التصميم عناصر <title> و<defs> ومجموعات <g> فارغة وخصائص مكررة لكل SVG مُصدَّر. هذا الكود الزائد يُضخّم حزمة JSX ويُبطئ وقت التحليل — وهو أمر واضح بشكل خاص عند استخدام عشرات الأيقونات المُضمَّنة.

محوّل SVG إلى مكوّن React

الصق SVG على اليسار، واحصل على مكوّن React على اليمين

خيارات التحويل

ما يفعله محوّل SVG إلى React

ستة تحويلات على مستوى الإنتاج، فورية، كلها داخل المتصفح.

تحويل SVG إلى React في الوقت الفعلي

الصق أي SVG ويظهر مكوّن React فوراً. يعمل تحويل SVG إلى React كتحويل AST داخل المتصفح — بدون طلبات شبكة، بدون تأخير، بدون قيود على حجم الملف.

واجهات TypeScript مُولَّدة تلقائياً

فعّل وضع TSX وسيضيف المحوّل تلقائياً interface IconProps extends React.SVGProps<SVGSVGElement> في أعلى الملف. كل خاصية مُكتَّبة بالكامل — className والخصائص المخصصة، بدون تحويلات قسرية.

ضغط SVGO مُدمَج

قبل تحويل SVG إلى React، تُزيل الأداة عناصر <title> و<defs> والمجموعات الفارغة والخصائص المكررة التي تُصدّرها Figma أو Sketch، وتدمج المسارات وتُبسّطها — مما يُقلّص حجم المخرجات بنسبة تصل إلى 60%.

حقن فئات Tailwind CSS

مع تفعيل وضع Tailwind، يستبدل محوّل SVG إلى React الألوان المُثبَّتة في fill وstroke بـ className="fill-current" وcurrentColor. تُورث الأيقونات لون نص العنصر الأب فوراً وتعمل بشكل مثالي مع أي سمة.

تحويل الخصائص إلى camelCase

جميع خصائص SVG ذات الشرطة — clip-rule وfill-opacity وstroke-linecap وxlink:href — تُعاد تسميتها تلقائياً إلى مكافئاتها بصيغة camelCase في React، ويُحوَّل class إلى className. مخرجات SVG إلى React دائماً JSX صالح.

إزالة الأبعاد للتصميم المتجاوب

احذف width وheight المُثبَّتَين من عنصر SVG الجذر بنقرة واحدة. سيتكيّف مكوّن SVG إلى React مع الحجم عبر CSS أو خاصية className، ليكون متجاوباً بالكامل وسهل التحكم من التخطيط الأب.

3 خطوات لتحويل SVG إلى React

من تصدير SVG الخام إلى مكوّن React جاهز للصق في أقل من 30 ثانية.

01

الخطوة الأولى — لصق ملف SVG الخام

انسخ مصدر SVG من Figma أو Sketch أو مكتبة أيقونات أو ملف SVG، ثم الصقه في اللوحة اليسرى لأداة SVG إلى React. تقبل الأداة أي SVG صالح بما في ذلك الأيقونات متعددة المسارات والرسوم التوضيحية المعقدة.

  • تدعم تصديرات SVG من Figma وSketch وIllustrator وحزم الأيقونات مفتوحة المصدر
  • الصق كتلة <svg>...</svg> الكاملة بما فيها العنصر الجذر
  • عناصر <path> المتعددة مدعومة بالكامل في تحويل SVG إلى React واحد
02

الخطوة الثانية — اختيار خيارات التحويل

حدد تنسيق المخرجات والتحسينات بناءً على متطلبات مشروعك. فعّل TypeScript للحصول على مخرجات TSX مع props مُكتَّبة؛ فعّل SVGO لتنظيف الكود الزائد من Figma قبل تحويل SVG إلى React؛ فعّل Tailwind CSS لاستبدال الألوان المُثبَّتة بـ currentColor.

💡 Pro Tip:لأنظمة التصميم، فعّل الخيارات الأربعة: TypeScript + SVGO + Tailwind + إزالة الأبعاد. ستحصل على مكونات أيقونات SVG إلى React جاهزة للإدراج مباشرة، تدعم السمات وبدون إعداد، في مشاريع Next.js أو Vite.
03

الخطوة الثالثة — نسخ مكوّن React

تعرض اللوحة اليمنى مخرجات SVG إلى React في الوقت الفعلي أثناء الكتابة. انقر على نسخ لإرسال مكوّن React إلى الحافظة، ثم الصقه مباشرةً في ملف .jsx أو .tsx — بدون أي تعديلات على التنسيق.

  • يُستنتج اسم المكوّن من سياق الملف — أعد تسميته وفق اصطلاحات التسمية لديك
  • مخرجات JSX متوافقة مع React v16 وما فوق
  • مخرجات TSX تتطلب TypeScript 4.1+ و@types/react

3 سيناريوهات عمل SVG إلى React، أداة واحدة

سواء كنت تبني نظام تصميم أو تُحسّن حجم الحزمة أو تُسلّم أيقونات متقنة، يتكيّف محوّل SVG إلى React مع سير عملك.

تحويل SVG إلى React فوري — معاينة لوحتين في الوقت الفعلي

الصق SVG الخام على اليسار ويظهر مكوّن React على اليمين في الوقت الفعلي. يعمل التحويل كاجتياز AST خالص داخل المتصفح — بدون انتظار، بدون خادم، بدون حدود للسرعة.

SVG to React live dual-panel preview — raw SVG input on the left, formatted React component output on the right

مخرجات SVG إلى React بأولوية TypeScript

انتقل بمخرجات SVG إلى React من JSX إلى TSX بنقرة واحدة ويُولد interface IconProps extends React.SVGProps<SVGSVGElement> تلقائياً. كل فئة CSS وعلامة aria ومُعالج حدث مُكتَّب بالكامل، جاهز لمشاريع Next.js أو Vite في الوضع الصارم.

SVG to React TypeScript output showing auto-generated IconProps interface and TSX toggle controls

SVGO + Tailwind: SVG إلى React مُحسَّن

يُشغّل المحوّل ضغط SVGO قبل تحويل SVG إلى React — إزالة بيانات Figma الوصفية، دمج المسارات المكررة، تقليص حجم الملف بنسبة تصل إلى 60%. وضع Tailwind يستبدل ألوان fill المُثبَّتة بـ currentColor لتتكيّف كل أيقونة مع أي سمة بدون تجاوزات CSS.

SVG to React SVGO compression before-after comparison with Tailwind currentColor injection

SVG إلى React — الأسئلة الشائعة

أسئلة شائعة حول تحويل SVG إلى مكونات React وخصائص TypeScript وتحسين SVG.

ما معنى SVG إلى React؟

SVG إلى React يعني تحويل ملفات SVG الخام — المُصدَّرة من Figma أو Sketch أو مكتبة أيقونات — إلى مكونات دالة React قابلة لإعادة الاستخدام. يُصبح ترميز SVG JSX، وتتحول الخصائص ذات الشرطة إلى camelCase، ويقبل المكوّن خصائص مثل className وwidth وaria-label.

لماذا تحويل SVG إلى مكوّن React بدلاً من استخدام وسم <img>؟

إدراج SVG كمكوّن React يتيح التحكم في fill وstroke عبر CSS، وتحريك مسارات فردية باستخدام Framer Motion، وإضافة تسميات ARIA للوصول، وإزالة الأيقونات غير المستخدمة أثناء البناء. وسم <img> يعامل SVG كصورة معتمة دون توفير أيٍّ من هذه الإمكانات.

هل يدعم هذا المحوّل TypeScript؟

نعم. فعّل مفتاح TypeScript وستتحول مخرجات SVG إلى React من تنسيق .jsx إلى .tsx. يُولد المحوّل تلقائياً interface IconProps extends React.SVGProps<SVGSVGElement> في أعلى الملف، مما يوفر تغطية نوع كاملة لكل خاصية.

ما الخصائص التي يُعيد المحوّل تسميتها لتوافق React؟

تعالج أداة SVG إلى React جميع الخصائص ذات الشرطة المعروفة: clip-rule ← clipRule، وfill-opacity ← fillOpacity، وstroke-linecap ← strokeLinecap، وstroke-linejoin ← strokeLinejoin، وstroke-width ← strokeWidth، وxlink:href ← href، وclass ← className. المخرجات دائماً JSX صالح.

كيف يعمل ضغط SVGO؟

قبل تحويل SVG إلى React، تُشغّل الأداة اجتياز JavaScript SVGO داخل المتصفح، وتُزيل عناصر <title> و<desc> و<defs> والمجموعات <g> الفارغة والخصائص التقديمية المكررة التي تُضيفها أدوات التصميم، وتدمج المسارات وتُبسّطها لإنتاج مكوّن React أخف وزناً.

ما الذي تفعله خيار Tailwind CSS؟

مع تفعيل وضع Tailwind، يستبدل محوّل SVG إلى React خصائص fill="#hex" وstroke="#hex" المُثبَّتة بـ fill="currentColor" وstroke="currentColor"، ويُضيف className="fill-current" إلى عنصر <svg> الجذر. تُورث الأيقونات فئات text-color من العنصر الأب فوراً، مما يُيسّر الوضع الداكن وتبديل السمات.

هل يُرسَل كود SVG إلى خادم؟

لا. يتم معالجة تحويل SVG إلى React بالكامل داخل محرك JavaScript للمتصفح. لا يغادر مصدر SVG جهازك أبداً. لا خادم، ولا رفع ملفات، ولا تسجيل، ولا حدود للسرعة.

هل يمكن تحويل رسوم SVG كبيرة أو معقدة؟

نعم، وإن كانت ملفات SVG الضخمة جداً (مئات المسارات) قد تستغرق وقتاً أطول قليلاً في المعالجة. تدعم أداة SVG إلى React الأيقونات متعددة المسارات وأقنعة القطع والتدرجات والأقنعة والمجموعات المتداخلة. للرسوم التوضيحية شديدة التعقيد، فكّر في تقسيمها إلى مكونات أصغر لأداء تصيير أفضل في React.

ابدأ تحويل SVG إلى React الآن

مجاني، فوري، يعمل بالكامل في المتصفح. لا حاجة لحساب.

مجاني 100% · بدون تسجيل · بدون رفع ملفات · يعمل دون اتصال بالإنترنت