CSS मिनिफ़ाई करें
कमेंट और ख़ाली जगह हटाएं और वैल्यू छोटी करें। और अगर मिनिफ़ायर आपकी फ़ाइल में कुछ संभाल नहीं सकता, तो वह साफ़ बताता है — चुपचाप ग़ायब नियमों वाली स्टाइलशीट थमाने की बजाय।
- कभी स्टोर नहीं होती
- न कतार, न इंतज़ार
- साइनअप नहीं, वॉटरमार्क नहीं
मिनिफ़ाई किया हुआ CSS यहां दिखेगा।
यह कैसे काम करता है
अपनी CSS पेस्ट करें
या फ़ाइल यहां छोड़ें। कुछ भी स्टोर नहीं किया जाता।
नतीजा पढ़ें
आपको मिनिफ़ाई की हुई स्टाइलशीट और वह कितनी छोटी हुई, यह मिलता है — या इस बात की व्याख्या कि क्या संभाला नहीं जा सका।
कॉपी या डाउनलोड करें
सीधे अपने बिल्ड में डालने के लिए तैयार।
बाइट असल में कहां बचती हैं
ज़्यादातर बचत ख़ाली जगह और कमेंट से होती है, जो हाथ से लिखी स्टाइलशीट में काफ़ी होती है — इंडेंटेशन, नियमों के बीच की ख़ाली लाइनें, और वे सेक्शन हेडर जिनसे बड़ी फ़ाइल में रास्ता मिलता है, सर्व होने के बाद सब बेकार बोझ हैं। इसके अलावा वैल्यू ऐसे छोटी की जाती हैं जिनसे उनका मतलब नहीं बदल सकता: #ffffff लिखा रंग #fff बन जाता है, 0px बन जाता है 0 क्योंकि शून्य को यूनिट की ज़रूरत नहीं, 0.5em का आगे वाला शून्य हट जाता है, और margin: 10px 10px 10px 10px सिमटकर margin: 10px हो जाता है।
जोखिम वाले काम जान-बूझकर नहीं किए जाते। एक जैसे डिक्लेरेशन वाले नियमों को मिलाना या उनका क्रम बदलना cascade को बदल देता है — और cascade CSS का वह हिस्सा है जहां बराबर specificity वाले दो नियमों में फ़ैसला इस बात से होता है कि कौन बाद में आया। जो मिनिफ़ायर आक्रामक तरीक़े से क्रम बदलता है, वह फ़ाइल छोटी कर देगा और बड़ी स्टाइलशीट में पेज को थोड़ा अलग भी। डुप्लिकेट डिक्लेरेशन भी अक्सर जान-बूझकर रखे जाते हैं, पुराने ब्राउज़र के लिए fallback के तौर पर, जो दूसरे को अनदेखा कर देते हैं।
नेस्टेड नियम और नई media range सिंटैक्स को मिनिफ़ाई करने की बजाय मना कर दिया जाता है, और इसकी वजह बताना ज़रूरी है क्योंकि ज़्यादातर टूल इसका उल्टा करते हैं। इसके पीछे का पार्सर इन दोनों फ़ीचर्स से पुराना है, और जब उसे कुछ समझ नहीं आता तो वह एरर नहीं देता — उसे चुपचाप मिटा देता है, इसलिए नेस्टेड ब्लॉक आउटपुट से बस ग़ायब हो जाता है और पेज की वह स्टाइलिंग चली जाती है जिसकी किसी ने ख़बर नहीं दी। फ़ाइल को मना करना ही ईमानदार जवाब है। अगर आपकी स्टाइलशीट में नेटिव नेस्टिंग या @media (400px <= width <= 700px) है, तो नीचे दिए गए टूल में से कोई इस्तेमाल करें।
मार्कअप की तरह यहां भी नतीजे को कंप्रेशन के बाद परखें। स्टाइलशीट gzip या brotli से कंप्रेस होकर सर्व होती हैं, और ये एल्गोरिद्म दोहराई गई ख़ाली जगह को पहले से ही बहुत अच्छे से संभालते हैं — इसलिए जो फ़ाइल मिनिफ़ाई होकर 30 प्रतिशत छोटी होती है, वह नेटवर्क पर शायद सिर्फ़ 5 प्रतिशत छोटी हो। बचत असली है, पर बड़े आंकड़े से कम।
जब आपको कुछ और चाहिए
नई स्टाइलशीट के लिए सही टूल Lightning CSS है: यह नेस्टिंग, media range, color functions और पिछले कुछ सालों में जुड़ी हर चीज़ समझता है, किसी भी पुराने टूल से ज़्यादा मिनिफ़ाई करता है, और साथ-साथ नई सिंटैक्स को पुराने ब्राउज़र के लिए transpile भी कर देता है। esbuild --minify style.css लगभग उतना ही अच्छा और बहुत तेज़ है। दोनों की जगह ब्राउज़र टैब नहीं, बिल्ड स्टेप है।
इससे कहीं बड़ा फ़ायदा आम तौर पर उन नियमों को हटाने से होता है जिनका आप इस्तेमाल ही नहीं कर रहे। utility फ़्रेमवर्क या component library पर बनी साइट अक्सर ऐसी स्टाइलशीट भेजती है जिसका ज़्यादातर हिस्सा पेज की किसी चीज़ पर लागू ही नहीं होता — और PurgeCSS, या फ़्रेमवर्क का अपना बिल्ड, उसे दस गुना तक घटा देगा। बेकार CSS को मिनिफ़ाई करने से बेकार CSS छोटी हो जाती है; असली इलाज उसे मिटाना है।
अक्सर पूछे जाने वाले सवाल
क्या मेरी CSS कहीं स्टोर होती है?
नहीं, और सोर्स कोड के लिए यही सबसे अहम बात है। कुछ भी स्टोर नहीं किया जाता और कोई सर्वर उसे कभी नहीं देखता। अपना निजी सोर्स किसी ऐसे ऑनलाइन मिनिफ़ायर में पेस्ट करना जो उसे कहीं भेज देता है, उसे उजागर करना ही है, चाहे साइट डेटा रखने के बारे में कुछ भी कहे — और यह ठीक वैसा काम है जो जल्दबाज़ी में बिना सोचे कर दिया जाता है।
इसने मेरी फ़ाइल को मना क्यों कर दिया?
क्योंकि उसे मिनिफ़ाई करने से नियम खो जाते। इस पेज के पीछे का मिनिफ़ायर 2022 का है और उन दो चीज़ों को नहीं जानता जो अब आम CSS हैं। नेटिव नेस्टिंग मिलने पर — यानी एक नियम के अंदर लिखा दूसरा नियम, "&" के साथ या बिना — वह बाहर वाला नियम लौटाता है और नेस्टेड नियम को चुपचाप हटा देता है। @media (width >= 400px) जैसी नई media range query मिलने पर वह ख़ाली स्टाइलशीट लौटाता है। दोनों में कोई एरर नहीं आता। हमने ये दोनों बातें ठीक उसी वर्शन पर मापीं जो हम इस्तेमाल करते हैं, और तय किया कि किसी को ग़ायब स्टाइल वाली स्टाइलशीट थमाना मना करने से बुरा है, इसलिए इन दो मामलों को पहचानकर मना कर दिया जाता है। आम जांच के तौर पर पहले और बाद में नियमों की गिनती भी की जाती है, कहीं कोई तीसरा मामला हो जो अब तक किसी को न मिला हो।
तो नेस्टेड CSS को मिनिफ़ाई कैसे करूं?
पहले नेस्टिंग को कंपाइल करके हटा दें। नेस्टिंग सपोर्ट करने वाला हर बिल्ड टूल — Sass, PostCSS, Lightning CSS, या आपका bundler — बिल्ड के दौरान उसे सपाट कर देता है, और वह सपाट आउटपुट यहां बिना किसी दिक़्क़त के मिनिफ़ाई हो जाता है। अगर आप नेस्टिंग हाथ से लिखकर सीधे सर्व कर रहे हैं, तो आप ऐसे फ़ीचर पर निर्भर हैं जो मौजूदा ब्राउज़र में तो चलता है, पर मिनिफ़ायर की दुनिया अभी पूरी तरह उसके साथ नहीं आई है।
यह असल में करता क्या है?
कमेंट और ख़ाली जगह हटाता है, रंग छोटे करता है (#ffffff बन जाता है #fff, #ff0000 बन जाता है red), बेकार यूनिट और सेमीकोलन हटाता है, और जो सुरक्षित रूप से मिलाया जा सकता है उसे मिलाता है। जिन नियमों को यह इस्तेमाल न होने वाला समझे, उन्हें नहीं हटाता — उसके लिए आपका HTML जानना ज़रूरी है, और ग़लत अंदाज़ा उन स्टाइल को मिटा देता है जिनकी आपको ज़रूरत है।
फ़ाइल कितनी छोटी होगी?
हाथ से लिखी CSS में आम तौर पर 15–30%। किसी बिल्ड टूल से पहले से कंपाइल हुआ आउटपुट अक्सर लगभग न्यूनतम होता है और मुश्किल से घटेगा। आपके सर्वर का gzip मिनिफ़िकेशन से ज़्यादा काम करता है; दोनों का असर जुड़ता है।
क्या प्रोडक्शन स्टाइलशीट को यहां मिनिफ़ाई करना सुरक्षित है?
हां। कुछ भी स्टोर नहीं किया जाता, और जिन दो मामलों को यह संभाल नहीं सकता उन्हें चुपचाप बिगाड़ने की बजाय मना कर दिया जाता है, इसलिए जो वापस मिलता है वह या तो सही होता है या इस बात की व्याख्या कि उसे क्यों मना किया गया।
ध्यान दें: नेस्टेड नियम और नई media range सिंटैक्स को मिनिफ़ाई करने की बजाय मना कर दिया जाता है। मिनिफ़ायर एक ऐसे पार्सर पर बना है जो इन दोनों से पुराना है, और वह एरर देने की बजाय जो नहीं समझता उसे चुपचाप मिटा देता है — नेस्टेड ब्लॉक आउटपुट से बस ग़ायब हो जाता है। जब तक वह पार्सर इन्हें नहीं समझने लगता, फ़ाइल को मना करना ही ईमानदार जवाब है।
यह टूल अपनी वेबसाइट पर लगाएं
किसी भी ब्लॉग, क्लास पेज या हेल्प आर्टिकल के लिए मुफ़्त। एक स्निपेट पेस्ट करें और आपके विज़िटर इसे सीधे आपके पेज पर इस्तेमाल कर सकेंगे।
और टेक्स्ट टूल्स
JavaScript मिनिफ़ाई करें
JavaScript कंप्रेस करें, निजी तौर पर
HTML मिनिफ़ाई करें
पेज बिगाड़े बिना HTML छोटा करें
केस कन्वर्टर
UPPER, lower, Title Case, camelCase और बाक़ी सब
डुप्लिकेट लाइनें हटाएं
दोहराव हटाएं, सूची को सॉर्ट करें और साफ़ करें
शब्द गिनें (वर्ड काउंटर)
शब्द, वाक्य और पढ़ने का समय
अक्षर गिनें (कैरेक्टर काउंटर)
कैरेक्टर, बाइट, और आपकी लिमिट असल में क्या गिनती है