CSS फ़ॉर्मैटर और मिनिफ़ायर

CSS पेस्ट करके उसे साफ़, पठनीय कोड में ब्यूटिफ़ाई करें या प्रोडक्शन के लिए मिनिफ़ाई करें। मीडिया क्वेरी, कीफ़्रेम और कस्टम प्रॉपर्टीज़ सहित सभी मानक CSS समर्थित। पूरी तरह आपके ब्राउज़र में चलता है — आपका कोड कभी अपलोड नहीं होता।

कब ब्यूटिफ़ाई करें बनाम कब मिनिफ़ाई करें

स्थिति उपयोग क्यों
किसी और के मिनिफ़ाई किए गए CSS को पढ़ना या संपादित करना ब्यूटिफ़ाई संरचना को पठनीय बनाता है ताकि आप नियम ढूँढ़ और बदल सकें
किसी स्टाइल समस्या को डिबग करना ब्यूटिफ़ाई हर प्रॉपर्टी अपनी अलग पंक्ति में होने से टाइपो और टकराव आसानी से दिखते हैं
वर्शन कंट्रोल में कमिट करने से पहले ब्यूटिफ़ाई एक जैसी फ़ॉर्मैटिंग का मतलब है कि डिफ़ केवल अर्थपूर्ण बदलाव दिखाए
प्रोडक्शन सर्वर पर CSS भेजना मिनिफ़ाई फ़ाइल आकार घटाता है, जिससे पेज लोड समय और Core Web Vitals बेहतर होते हैं
बिल्ड पाइपलाइन आउटपुट में CSS एम्बेड करना मिनिफ़ाई बंडलर और CDN संक्षिप्त संस्करण परोसते हैं; इंसान सोर्स संपादित करते हैं

यह फ़ॉर्मैटर क्या करता है (और क्या नहीं करता)

  • करता है: हर प्रॉपर्टी को आपके चुने हुए स्पेसिंग से इंडेंट करता है, हर सेलेक्टर और क्लोज़िंग ब्रेस को उसकी अपनी पंक्ति में रखता है, शीर्ष-स्तरीय नियमों के बीच एक खाली पंक्ति जोड़ता है, और ब्यूटिफ़ाई मोड में /* comments */ सुरक्षित रखता है।
  • करता है: मिनिफ़ाई मोड में सभी टिप्पणियाँ हटाता है, खाली जगह समेटता है, और } से पहले का ट्रेलिंग सेमीकोलन हटाता है।
  • नहीं करता: यह जाँच नहीं करता कि आपका CSS सिंटैक्स की दृष्टि से सही है — यह जो आप देते हैं उसी को फिर से फ़ॉर्मैट करता है।
  • नहीं करता: वेंडर प्रीफ़िक्स (-webkit-, -moz-) नहीं जोड़ता और प्रॉपर्टी नामों को किसी भी तरह नहीं बदलता।
  • नहीं करता: SCSS, Less या Sass कंपाइल नहीं करता — अपने प्रीप्रोसेसर से निकला मानक CSS आउटपुट पेस्ट करें।
  • नहीं करता: कुछ भी अपलोड नहीं करता — सारी प्रोसेसिंग आपके ब्राउज़र में होती है।

फ़ॉर्मैटर कैसे काम करता है

फ़ॉर्मैटर आपके CSS को एक-एक अक्षर पढ़ता है और कुछ थोड़ी-सी अवस्थाओं (states) पर नज़र रखता है: किसी टिप्पणी के भीतर (/* … */), किसी उद्धृत स्ट्रिंग के भीतर ("…" या '…'), या शीर्ष स्तर पर। विशेष अक्षर — {, }, ; — इनपुट को सेलेक्टरों, घोषणाओं (declarations) और ब्लॉकों में तोड़ने के लिए इस्तेमाल होते हैं। फ़ॉर्मैटर को कभी यह समझने की ज़रूरत नहीं कि किसी सेलेक्टर या प्रॉपर्टी का क्या अर्थ है; वह केवल संरचनात्मक अक्षरों की परवाह करता है। इससे यह तेज़, निर्भरता-रहित और @media, @keyframes, @supports, कस्टम प्रॉपर्टीज़ (--variable) और calc() एक्सप्रेशन सहित सभी मानक CSS सिंटैक्स में विश्वसनीय बनता है।

क्या मेरा CSS निजी है?

हाँ। फ़ॉर्मैटिंग का तर्क (logic) पूरी तरह आपके ब्राउज़र में मानक JavaScript का उपयोग करके चलता है। कुछ भी किसी सर्वर पर नहीं भेजा जाता, इसलिए आंतरिक स्टाइलशीट, डिज़ाइन-सिस्टम टोकन या अप्रकाशित कोड पेस्ट करना सुरक्षित है। पेज लोड होने के बाद यह टूल ऑफ़लाइन भी काम करता है।

मिनिफ़िकेशन, gzip और Brotli: तीन परतें जो एक साथ जुड़ती हैं

यह मान लेना आसान है कि मिनिफ़िकेशन और सर्वर कम्प्रेशन एक ही काम करते हैं, पर वे अलग-अलग चरणों में काम करते हैं और प्रतिस्पर्धा करने के बजाय आपस में जुड़ते हैं। मिनिफ़िकेशन एक सोर्स-स्तर का रूपांतरण है: यह उन अक्षरों को हटाता है जिन्हें CSS पार्सर अनदेखा करता है — खाली जगह, टिप्पणियाँ और } से पहले का अंतिम सेमीकोलन — जिससे एक ऐसी फ़ाइल बनती है जो डिस्क पर स्थायी रूप से छोटी और ब्राउज़र के लिए पार्स करने में तेज़ होती है। gzip और Brotli ट्रांसपोर्ट-स्तर का कम्प्रेशन हैं: सर्वर फ़ाइल भेजने से ठीक पहले उसे कंप्रेस करता है और ब्राउज़र आने पर उसे डिकंप्रेस करता है, इसलिए नेटवर्क पार करने वाले बाइट फ़ाइल के डिस्क-आकार से कहीं कम होते हैं।

gzip DEFLATE (वही LZ77 + Huffman एल्गोरिथ्म जो ZIP और PNG के भीतर भी इस्तेमाल होता है) पर आधारित है; Brotli, जिसे Google ने 2015 में जारी किया, एक नया एल्गोरिथ्म है जो आम वेब-टेक्स्ट की एक अंतर्निहित डिक्शनरी के साथ आता है और CSS तथा HTML पर आमतौर पर gzip से लगभग 15–20% बेहतर करता है। दोनों परतें एक साथ जुड़ती हैं: आप बिल्ड टाइम पर मिनिफ़ाई करते हैं, सर्वर रिक्वेस्ट टाइम पर कंप्रेस करता है, और उपयोगकर्ता दोनों का परिणाम डाउनलोड करता है। पहले मिनिफ़ाई करना असल में कंप्रेसर की भी मदद करता है, क्योंकि मॉडल करने के लिए कम बेकार खाली जगह बचती है। व्यावहारिक निष्कर्ष यह है कि "gzip तो पहले ही इसे कंप्रेस कर देता है" मिनिफ़िकेशन छोड़ने का कारण नहीं है — वे अलग-अलग लागतों को संबोधित करते हैं (पार्स समय और डिस्क-आकार बनाम तार पर बाइट), और सबसे अच्छा परिणाम दोनों का उपयोग करता है।

असल बिल्ड में मिनिफ़ाई किया CSS कहाँ से आता है

प्रोडक्शन साइट पर आप शायद ही कभी हाथ से मिनिफ़ाई करते हैं — यह बिल्ड पाइपलाइन के भीतर अपने-आप होता है। एक सामान्य प्रवाह इस तरह है: आप (या Sass जैसा कोई प्रीप्रोसेसर) पठनीय, टिप्पणी-युक्त CSS लिखते हैं; एक बंडलर उसे इकट्ठा और प्रोसेस करता है; और एक मिनिफ़ायर एक संक्षिप्त .min.css निकालता है जिसे CDN परोसता है। आम टूल हर एक की अपनी भूमिका निभाते हैं:

  • cssnano — सबसे व्यापक रूप से इस्तेमाल होने वाला CSS मिनिफ़ायर, जो एक PostCSS प्लगइन के रूप में चलता है; यह केवल खाली जगह हटाने से कहीं अधिक करता है (अगला अनुभाग देखें)।
  • esbuild और Lightning CSS (Vite, Parcel आदि में इस्तेमाल होते हैं) — Go और Rust में लिखे बेहद तेज़, बंडलर-एकीकृत मिनिफ़ायर।
  • Sass / Less — प्रीप्रोसेसर जो अपने ही सिंटैक्स को सादे CSS में कंपाइल करते हैं, जिसे फिर ऊपर वालों में से किसी एक द्वारा मिनिफ़ाई किया जाता है।
  • Autoprefixer — एक अलग PostCSS चरण जो आपके ब्राउज़र-समर्थन लक्ष्यों के आधार पर वेंडर प्रीफ़िक्स जोड़ता है; मिनिफ़ायर जानबूझकर यह नहीं करते।

यह टूल किसी बिल्ड पाइपलाइन से अलग एक जगह पर बैठता है। यह उन क्षणों के लिए एक तेज़, निर्भरता-रहित, इन-ब्राउज़र यूटिलिटी है जब आपके पास साफ़ या कंप्रेस करने के लिए कोई स्निपेट हो और आप एक पूरी टूलचेन नहीं चलाना चाहते — किसी ट्यूटोरियल से CSS का एक टुकड़ा पेस्ट करना, किसी सहकर्मी की भेजी स्टाइलशीट सुधारना, या CMS में डालने से पहले किसी छोटी फ़ाइल को सिकोड़ना। यह जो आप देते हैं ठीक उसी को, तुरंत और निजी तौर पर, फिर से संरचित करता है।

एक संरचनात्मक फ़ॉर्मैटर की सीमाएँ

यह स्पष्ट रहना उपयोगी है कि यह टूल क्या है और क्या नहीं। यह एक संरचनात्मक (structural) फ़ॉर्मैटर है: यह आपके CSS को एक-एक अक्षर पढ़ता है, केवल सिंटैक्स पर नज़र रखता है — टिप्पणियाँ, उद्धृत स्ट्रिंग और ब्रेस गहराई — और उसे फिर से बहा देता है। यह कभी यह समझने की कोशिश नहीं करता कि किसी सेलेक्टर या प्रॉपर्टी का क्या अर्थ है। यही डिज़ाइन उसकी ताक़त है (यह तेज़ है, हर मानक निर्माण में विश्वसनीय है, और गलती से व्यवहार नहीं बदल सकता) और उसकी सीमा भी:

  • यह डुप्लिकेट नियमों को मर्ज नहीं करेगा, बाद में ओवरराइड होने वाली प्रॉपर्टीज़ नहीं हटाएगा, या शॉर्टहैंड को नहीं जोड़ेगा — ये अर्थपूर्ण (semantic) अनुकूलन हैं जिन्हें एक पूर्ण CSS मॉडल की ज़रूरत होती है।
  • यह किसी उन्नत मिनिफ़ायर जैसे cssnano की तरह मानों को छोटा नहीं करेगा (#ffffff#fff, 0px0)।
  • यह सेलेक्टरों को फिर से क्रमबद्ध या डी-डुप्लिकेट नहीं करेगा, क्योंकि सोर्स क्रम बदलने से कैस्केड और इसलिए रेंडर किया गया परिणाम बदल सकता है।
  • यह आपके CSS को वैलिडेट नहीं करता — यदि आप उसे कोई अनुपस्थित ब्रेस देते हैं, तो वह त्रुटि बताने के बजाय टूटे हुए इनपुट को ही फिर से बहा देता है।

वे गहरे रूपांतरण एक बिल्ड-टाइम ऑप्टिमाइज़र के हिस्से हैं जो एक एब्सट्रैक्ट सिंटैक्स ट्री पर काम करता है, जहाँ वह यह साबित कर सकता है कि कोई बदलाव सुरक्षित है। रोज़मर्रा के ब्यूटिफ़ाइंग और बुनियादी मिनिफ़ाइंग के लिए — 90% मामलों के लिए — एक संरचनात्मक टूल बिल्कुल सही स्तर है: पूर्वानुमेय आउटपुट, कोई आश्चर्य नहीं, और कुछ भी आपके ब्राउज़र से बाहर नहीं जाता।

सोर्स मैप्स: उस कोड को डिबग करना जिसे आपने मिनिफ़ाई किया

मिनिफ़ाई किया गया CSS डिज़ाइन के हिसाब से अपठनीय होता है, जिससे एक स्पष्ट सवाल उठता है: जब हर नियम एक ही पंक्ति में हो, तो आप प्रोडक्शन में किसी स्टाइल बग को कैसे डिबग करते हैं? इसका जवाब है सोर्स मैप्स — एक साथी .map फ़ाइल जो ठीक-ठीक रिकॉर्ड करती है कि मिनिफ़ाई किए आउटपुट का कौन-सा अक्षर आपके मूल सोर्स की किस पंक्ति से आया। जब किसी ब्राउज़र के डेव टूल्स को एक सोर्स मैप मिलता है (जिसका संदर्भ फ़ाइल के अंत में /*# sourceMappingURL=… */ टिप्पणी से दिया जाता है), तो वे आपको मूल, पठनीय CSS का निरीक्षण करने और उसमें से गुज़रने देते हैं, भले ही ब्राउज़र ने वास्तव में कंप्रेस किया संस्करण लोड किया हो। बिल्ड टूल इन मैप्स को मिनिफ़ाई की फ़ाइल के साथ अपने-आप बनाते हैं। यदि आपको कभी इस प्रक्रिया को हाथ से उलटना पड़े — किसी ऐसी मिनिफ़ाई फ़ाइल को पढ़ने के लिए जिसमें कोई सोर्स मैप नहीं है — तो ठीक इसी के लिए इस टूल का ब्यूटिफ़ाई मोड है: एक-पंक्ति वाली फ़ाइल पेस्ट करें और इंडेंट किया हुआ, प्रति-प्रॉपर्टी-एक-पंक्ति कोड वापस पाएँ जिसमें आप वास्तव में नेविगेट कर सकें।

टिप्पणियों और लाइसेंसों पर एक नोट

मिनिफ़ाई मोड सभी /* … */ टिप्पणियाँ हटा देता है क्योंकि वे बाइट खर्च करती हैं और रेंडरिंग पर उनका कोई असर नहीं होता। हालाँकि, एक व्यापक रूप से अपनाई गई परिपाटी जानने योग्य है: कई मिनिफ़ायर उन "महत्वपूर्ण" टिप्पणियों को सुरक्षित रखते हैं जो एक विस्मयादिबोधक चिह्न से शुरू होती हैं — /*! … */ — जिन्हें परंपरागत रूप से आउटपुट में किसी लाइसेंस या कॉपीराइट सूचना को बनाए रखने के लिए इस्तेमाल किया जाता है। यदि आप किसी थर्ड-पार्टी CSS को मिनिफ़ाई कर रहे हैं जिसमें लाइसेंस बैनर हो, तो जाँचें कि क्या वह लाइसेंस सूचना को बचाए रखने की माँग करता है; यह टूल मिनिफ़ाई मोड में सभी टिप्पणियाँ हटा देता है, इसलिए उस स्थिति में फ़ाइल को ब्यूटिफ़ाई करें (जो टिप्पणियाँ रखता है), केवल वही हटाएँ जो सुरक्षित रूप से हटा सकते हैं, और आवश्यक बैनर को हाथ से फिर से जोड़ें।

अक्सर पूछे जाने वाले सवाल

CSS मिनिफ़िकेशन वास्तव में कितनी बचत करता है?
यह इस पर निर्भर करता है कि मूल फ़ाइल में कितनी खाली जगह और कितनी टिप्पणियाँ हैं। सामान्य हाथ से लिखी स्टाइलशीट अपने मूल आकार के 30–60% तक मिनिफ़ाई हो जाती हैं। व्यापक टिप्पणियों और उदार स्पेसिंग वाली फ़ाइल 70% या उससे अधिक सिकुड़ सकती है। व्यवहार में, मिनिफ़िकेशन कुछ किलोबाइट से बड़ी फ़ाइलों पर सबसे प्रभावी होता है — उससे नीचे, gzip कम्प्रेशन पहले ही अधिकांश काम कर देता है।
क्या CSS मिनिफ़ाई करने से ब्राउज़र में उसका व्यवहार बदलता है?
नहीं। मिनिफ़िकेशन केवल वे अक्षर हटाता है जो CSS पार्सर के लिए अदृश्य हैं — टोकनों के बीच की खाली जगह, टिप्पणियाँ, और क्लोज़िंग ब्रेस से पहले का अंतिम सेमीकोलन। सेलेक्टर नाम, प्रॉपर्टी नाम, मान और कैस्केड क्रम — सब ठीक वैसे ही सुरक्षित रहते हैं। सही ढंग से मिनिफ़ाई की गई स्टाइलशीट मूल के समान बाइट-दर-बाइट एक जैसी रेंडरिंग देती है।
क्या यह टूल -webkit- या -moz- जैसे वेंडर प्रीफ़िक्स जोड़ सकता है?
नहीं। वेंडर प्रीफ़िक्स के लिए यह जानना ज़रूरी है कि किन ब्राउज़रों के लिए किन CSS सुविधाओं को इनकी ज़रूरत है, जो समय के साथ बदलता रहता है। इन्हें सही ढंग से जोड़ना Autoprefixer (एक PostCSS प्लगइन) जैसे टूल का काम है। यह फ़ॉर्मैटर केवल जो आप देते हैं उसी को फिर से संरचित करता है — यह प्रॉपर्टी नाम या मान न जोड़ता, न हटाता, न फिर से लिखता है।
क्या यह SCSS या Less समर्थित करता है?
नहीं — यह टूल केवल मानक CSS पार्स करता है। SCSS और Less अतिरिक्त सिंटैक्स (नेस्टिंग, $ या @ वाले वेरिएबल, मिक्सिन) का उपयोग करते हैं जो मान्य CSS नहीं है। SCSS या Less को फ़ॉर्मैट करने के लिए आपको उन भाषाओं के लिए एक समर्पित फ़ॉर्मैटर चाहिए। हालाँकि, आप अपने SCSS/Less बिल्ड का कंपाइल किया हुआ CSS आउटपुट पेस्ट करके उसे फ़ॉर्मैट कर सकते हैं।
ब्यूटिफ़ायर मेरी टिप्पणियाँ क्यों रखता है?
डेवलपमेंट में टिप्पणियाँ अर्थपूर्ण होती हैं: वे इरादा समझाती हैं, अनुभागों को चिह्नित करती हैं, और डिबगिंग के दौरान नियमों को अक्षम करती हैं। ब्यूटिफ़ाई मोड उन्हें सुरक्षित रखता है ताकि आप कोड को अब भी पढ़ और समझ सकें। मिनिफ़ाई मोड टिप्पणियाँ हटा देता है क्योंकि वे रेंडरिंग पर बिना किसी असर के बाइट जोड़ती हैं — मिनिफ़ाई का उपयोग केवल उस प्रोडक्शन आउटपुट के लिए करें जिसे आप दोबारा संपादित नहीं करेंगे।
फ़ॉर्मैटर मीडिया क्वेरी और कीफ़्रेम को कैसे संभालता है?
फ़ॉर्मैटर ब्रेस नेस्टिंग गहराई पर नज़र रखता है, इसलिए @media, @keyframes, @supports और अन्य at-नियमों के भीतर के नियमों को एक अतिरिक्त स्तर तक इंडेंट किया जाता है। हर भीतरी नियम-ब्लॉक को अपनी इंडेंट की हुई प्रॉपर्टी पंक्तियाँ और एक अलग पंक्ति पर अपना क्लोज़िंग ब्रेस मिलता है, जो किसी कोड एडिटर से अपेक्षित आउटपुट से मेल खाता है।

संबंधित डेवलपर टूल

सभी टूल देखें →

और टूल्स देखें

सभी 70 टूल्स देखें →

इस टूल को अपनी साइट पर एम्बेड करें — मुफ़्त

सभी एम्बेड करने योग्य टूल्स →

CSS Formatter को किसी भी पेज, पोस्ट या टेम्पलेट में जोड़ें। यह हमेशा के लिए मुफ़्त है — कोई साइन-अप नहीं, विजेट के अंदर कोई विज्ञापन नहीं। केवल एक शर्त है: छोटा-सा दृश्यमान एट्रिब्यूशन लिंक बनाए रखें।

विजेट का पूर्वावलोकन करें