SVG फ़ाइल बहुत बड़ी है? 8 कम्प्रेशन और ऑप्टिमाइज़ेशन टिप्स
SVG फ़ाइल बहुत बड़ी हो तो कैसे कंप्रेस करें? इस लेख में एंकर घटाना, पथ मिलाना, एडिटर मेटाडेटा हटाना, दशमलव सटीकता कम करना, SVGO से ऑटो कंप्रेशन, सिंबल दोबारा उपयोग, रंग परतें नियंत्रित करना और ट्रांसफ़र कंप्रेशन — ये 8 व्यावहारिक टिप्स दिए गए हैं।
SVG अक्सर कुछ सौ KB से लेकर कई MB तक पहुँच जाती है, और इसकी वजह आमतौर पर बहुत ज़्यादा एंकर, लाल-बहादुर पथ, एडिटर मेटाडेटा और बहुत अधिक दशमलव सटीकता होती है। नीचे दिए 8 टिप्स "स्रोत से डिलीवरी तक" के क्रम में हैं, और सभी व्यावहारिक रूप से लागू होते हैं।
1. पथ के स्तर पर: एंकर घटाएँ, पथ मिलाएँ
टिप 1: एंकर घटाएँ (पथ सरल करें)
एंकर जितने ज़्यादा, फ़ाइल उतनी बड़ी और रेंडरिंग उतनी धीमी। रूपांतरण के समय स्मूथिंग थोड़ी बढ़ाकर एंकर स्रोत पर ही घटाएँ; मौजूदा SVG में Illustrator के "ऑब्जेक्ट → पथ → सिम्प्लिफ़ाई" या Inkscape के "पथ → सिम्प्लिफ़ाई" (Ctrl+L) से बेकार एंकर हटा सकते हैं। PolySVG कन्वर्ज़न टूल में भी स्मूथिंग व रंगों की संख्या समायोजित करके परिणाम और आकार का संतुलन तुरंत देखा जा सकता है।
टिप 2: पथ और परतें मिलाएँ
एक जैसे भरे वाले रंग वाली कई पथों को एक में मिलाएँ, जिससे दोहराए गए गुण कम हों; बेकार ग्रुप नेस्टिंग को सपाट करें, छिपे हुए लेयर व खाली तत्व हटा दें। डिज़ाइन सॉफ़्टवेयर में पथ फ़ाइंडर का "यूनियन" इस्तेमाल करें या परतें मिलाकर एक्सपोर्ट करें।
2. फ़ाइल की सामग्री: मेटाडेटा हटाएँ, सटीकता घटाएँ
टिप 3: एडिटर मेटाडेटा हटाएँ
Illustrator, Inkscape से एक्सपोर्ट की गई SVG में अक्सर एडिटर नेमस्पेस, <metadata>, टिप्पणियाँ और एक्सपोर्ट सेटिंग होती हैं, जो रेंडरिंग पर असर नहीं डालतीं — इन्हें हाथ से हटा दें या SVGO से अपने आप साफ़ करवा दें। ध्यान रखें कि <title> और <desc> बनाए रखें, वे एक्सेसिबिलिटी के लिए उपयोगी हैं।
टिप 4: दशमलव सटीकता घटाएँ
पथ के निर्देशांकों में अक्सर 6-8 दशमलव अंक होते हैं, जबकि स्क्रीन पर रेंडर करने के लिए 1-2 ही काफ़ी हैं। SVGO की कॉन्फ़िगरेशन में floatPrecision को 1-2 पर घटाएँ, आकार साफ़ घटता है और आँखों को कोई फ़र्क नहीं पड़ता। बहुत छोटे आइकन में निर्देशांक ज़्यादा न संपीड़ित करें, वरना आकार टेढ़ा-मेढ़ा हो सकता है।
3. स्वचालन: SVGO से एक क्लिक में कंप्रेस करें
टिप 5: SVGO से अपने आप ऑप्टिमाइज़ करें
SVGO SVG ऑप्टिमाइज़ेशन का वास्तविक मानक टूल है, जिसमें दर्जनों प्लगइन बने हुए हैं: टिप्पणी व मेटाडेटा हटाना, पथ मिलाना, पथ कमांड सुधारना, संख्याएँ साफ़ करना। मूल उपयोग:
npx svgo input.svg -o output.svg
आम फ़ाइलों में 30%-70% तक कमी हो सकती है। दो बातें ध्यान में रखें: viewBox गुण हटाएँ नहीं, वरना स्केलिंग में गड़बड़ होगी; CSS से रंग बदलने वाले आइकन में fill इनहेरिटेंस बनाए रखें, रंग सीधे न लिख दें।
ऑप्टिमाइज़ेशन से पहले और बाद की तुलना फ़ाइल आकार और ब्राउज़र डेवलपर टूल में दिखने वाले असली ट्रांसफ़र आकार से करें, ताकि लाभ साफ़ दिखे; हर बार एक ही तरह का पैरामीटर बदलें, ताकि परिणाम असामान्य होने पर पता चल सके कि समस्या किस चरण से आई।
4. संरचना और दोबारा उपयोग: सिंबल बनाएँ, परतें नियंत्रित करें
टिप 6: defs और use से दोहराए गए आकार दोबारा उपयोग करें
एक ही आइकन पेज में कई बार आता हो तो <defs> में एक बार परिभाषित करके <use> से कई बार संदर्भित करें, या SVG स्प्राइट बनाएँ — आकार और अनुरोधों की संख्या दोनों घटते हैं।
टिप 7: रंग परतें नियंत्रित करें, एम्बेडेड बिटमैप से बचें
वेक्टराइज़ करते समय रंगों की संख्या घटाकर परतें कम रखें; एक रंग से चल सके तो जटिल ग्रेडिएंट का उपयोग न करें। ख़ासकर SVG में base64 बिटमैप एम्बेड न करें — इससे वेक्टर फ़ाइल असल में बिटमैप का वाहक बन जाती है और आकार नियंत्रण से बाहर चला जाता है। रूपांतरण में बचे बेकार पथ ऑनलाइन एडिटर में क्लिक करके हटा दें।
5. डिलीवरी: ट्रांसफ़र कंप्रेशन और कैश
टिप 8: gzip/Brotli और कैश चालू करें
SVG टेक्स्ट है, इसलिए सर्वर पर gzip/Brotli चालू होने पर ट्रांसफ़र आकार आमतौर पर 60%-80% और घट जाता है; स्थिर SVG के लिए लंबे कैश हेडर सेट करें। बहुत छोटे आइकन सीधे HTML में इनलाइन कर दें, अनुरोध ही बच जाता है। सिद्धांत SVG के फ़ायदों में है; रूपांतरण के चरण पर ही आकार नियंत्रित करना हो तो इमेज से SVG के तरीके पढ़ें।
क्रम मायने रखता है: स्रोत पर एंकर व रंग परतें नियंत्रित करें, फ़ाइल में मेटाडेटा व सटीकता साफ़ करें, फिर SVGO लगाएँ, और आख़िर में ट्रांसफ़र कंप्रेशन करें। ये चार परतें एक साथ लगें तो SVG का आकार आमतौर पर एक दशमलव कोटि तक घट जाता है।
अक्सर पूछे जाने वाले प्रश्न
SVGO से कंप्रेस करने पर आकार दिखने में बदलाव आता है?
डिफ़ॉल्ट कॉन्फ़िगरेशन में नज़र से लगभग कोई फ़र्क नहीं पड़ता। viewBox ज़रूर बनाए रखें; छोटे आइकन में निर्देशांक की सटीकता ज़्यादा न घटाएँ, ज़रूरत पड़ने पर आक्रामक प्लगइन एक-एक करके बंद करें।
SVG आमतौर पर कितना कंप्रेस हो सकती है?
यह अतिरिक्तता पर निर्भर है, आमतौर पर 30%-70% तक कमी होती है; सर्वर पर gzip/Brotli के साथ ट्रांसफ़र आकार 60%-80% और घट जाता है।