ToolDeck

HTML Minifier

व्हाइटस्पेस और कमेंट हटाकर HTML को मिनिफ़ाई करें

उदाहरण देखें

HTML इनपुट

मिनिफ़ाइड HTML

स्थानीय रूप से चलता है · सीक्रेट पेस्ट करना सुरक्षित है
मिनिफ़ाइड HTML यहाँ दिखेगा…

HTML मिनिफ़िकेशन क्या है?

HTML मिनिफ़िकेशन एक HTML दस्तावेज़ का आकार कम करने की प्रक्रिया है, ब्राउज़र की rendering को प्रभावित किए बिना। एक HTML मिनिफ़ायर उन वर्णों को हटाता है जो केवल डेवलपर पठनीयता के लिए होते हैं: टैग्स के बीच व्हाइटस्पेस, कमेंट, वैकल्पिक क्लोज़िंग टैग, और अनावश्यक एट्रिब्यूट मान। आउटपुट कार्यात्मक रूप से सोर्स के समान होता है, लेकिन बाइट साइज़ में छोटा होता है, जिसका अर्थ है उपयोगकर्ताओं के लिए तेज़ डाउनलोड और कम time-to-first-paint।

ब्राउज़र HTML को DOM ट्री में पार्स करते हैं और उस प्रक्रिया के दौरान अधिकांश व्हाइटस्पेस को छोड़ देते हैं। दो div टैग्स के बीच स्पेस और कई लाइन ब्रेक्स का रेंडर किए गए पेज पर कोई दृश्य प्रभाव नहीं होता। कमेंट भी पार्सर द्वारा अनदेखे किए जाते हैं। मिनिफ़िकेशन इन नियमों का लाभ उठाता है और वह सब हटा देता है जिसे पार्सर वैसे भी छोड़ देता, ताकि उसे नेटवर्क पर कभी ट्रांसफर न करना पड़े।

HTML मिनिफ़िकेशन से बचत दस्तावेज़ के अनुसार अलग-अलग होती है। कमेंट से भरे टेम्पलेट, गहरे इंडेंटेशन वाले सर्वर-रेंडर्ड पेज, और inline स्टाइल वाले CMS आउटपुट में अकेले मिनिफ़िकेशन से 15-30% साइज़ की कमी होती है। छोटे दस्तावेज़ों के लिए पूर्ण बचत मामूली होती है, लेकिन हाई-ट्रैफिक साइट्स पर प्रत्येक पेज लोड पर कुछ किलोबाइट भी लाखों अनुरोधों में वास्तविक बैंडविड्थ बचत बन जाते हैं।

इस HTML Minifier का उपयोग क्यों करें?

अपना HTML पेस्ट करें और तुरंत मिनिफ़ाइड आउटपुट पाएं। कोई बिल्ड टूल इंस्टॉल नहीं, कोई कॉन्फ़िगरेशन फ़ाइल नहीं, कोई अकाउंट नहीं।

तत्काल परिणाम
टाइप करते ही आउटपुट दिखाई देता है। एक पूरा पेज या एक छोटा स्निपेट पेस्ट करें और किसी CLI कमांड या बिल्ड स्टेप के पूरा होने का इंतज़ार किए बिना मिनिफ़ाइड परिणाम देखें।
🔒
प्राइवेसी-फर्स्ट प्रोसेसिंग
सभी मिनिफ़िकेशन JavaScript का उपयोग करके आपके ब्राउज़र में होती है। आपका HTML कभी भी आपके डिवाइस को नहीं छोड़ता। उस मार्कअप के साथ उपयोग के लिए सुरक्षित जिसमें आंतरिक URL, टोकन, या ग्राहक डेटा हो।
📊
साइज़ रिपोर्टिंग
मूल और मिनिफ़ाइड बाइट काउंट को साथ-साथ देखें। मिनिफ़ाइड वर्शन शिप करने का निर्णय लेने से पहले जानें कि आपने कितने बाइट बचाए।
📋
एक-क्लिक कॉपी
एक क्लिक में मिनिफ़ाइड आउटपुट को क्लिपबोर्ड पर कॉपी करें। इसे अपने डिप्लॉयमेंट पाइपलाइन में पेस्ट करें, ईमेल टेम्पलेट में इनलाइन करें, या सीधे कमिट करें।

HTML Minifier के उपयोग के मामले

फ्रंटएंड डेवलपमेंट
प्रोडक्शन में डिप्लॉय करने से पहले HTML टेम्पलेट को मिनिफ़ाई करें। सर्वर-रेंडर्ड पेज, स्टैटिक साइट जेनरेटर आउटपुट, या सिंगल-पेज एप्लिकेशन शेल का पेलोड कम करें।
बैकएंड इंजीनियरिंग
Django, Rails, या Laravel जैसे सर्वर-साइड फ्रेमवर्क द्वारा जेनरेट किए गए HTML रिस्पॉन्स से कमेंट और व्हाइटस्पेस हटाएं, क्लाइंट को भेजने से पहले।
DevOps और CI पाइपलाइन
अपनी बिल्ड पाइपलाइन में HTML मिनिफ़िकेशन स्टेप जोड़ें। स्टेजिंग या प्रोडक्शन पर पुश करने से पहले check करें कि मिनिफ़िकेशन के बाद आउटपुट सही ढंग से रेंडर होता है।
QA और टेस्टिंग
अप्रत्याशित संरचनात्मक परिवर्तनों की जाँच के लिए दो बिल्ड के मिनिफ़ाइड आउटपुट की तुलना करें। मिनिफ़िकेशन व्हाइटस्पेस को नॉर्मलाइज़ करता है, जिससे संरचनात्मक diff साफ़ होते हैं।
ईमेल टेम्पलेट ऑप्टिमाइज़ेशन
ईमेल क्लाइंट HTML ईमेल पर साइज़ सीमा लगाते हैं (Gmail 102 KB से अधिक संदेशों को क्लिप करता है)। सभी कंटेंट को बनाए रखते हुए सीमा के अंदर रहने के लिए ईमेल टेम्पलेट को मिनिफ़ाई करें।
वेब परफॉर्मेंस सीखना
स्टूडेंट HTML पेस्ट कर सकते हैं और देख सकते हैं कि मिनिफ़िकेशन द्वारा कौन से हिस्से हटाए जाते हैं। इससे समझ में आता है कि ब्राउज़र के लिए कौन से वर्ण अर्थपूर्ण हैं और कौन से केवल कॉस्मेटिक हैं।

HTML मिनिफ़िकेशन क्या हटाता है

एक full-featured HTML मिनिफ़ायर व्हाइटस्पेस हटाने से परे कई ट्रांसफॉर्मेशन लागू करता है। नीचे दी गई तालिका सबसे सामान्य तकनीकों को सूचीबद्ध करती है, सबसे सुरक्षित (हमेशा lossless) से लेकर सबसे आक्रामक (अंधाधुंध लागू करने पर edge cases तोड़ सकती है)।

तकनीकपहलेबाद में
Whitespace between tags<div> <p> text </p> </div><div><p>text</p></div>
HTML comments<!-- TODO: fix later -->(removed entirely)
Redundant attribute quotesclass="main"class=main
Boolean attribute valuesdisabled="disabled"disabled
Empty attribute valuesid=""(attribute removed)
Optional closing tags</li>, </td>, </p>(removed when safe)
Type on script/styletype="text/javascript"(removed — default)
Protocol in URLshttps://cdn.example.com//cdn.example.com

मिनिफ़िकेशन बनाम Gzip कम्प्रेशन

डेवलपर कभी-कभी पूछते हैं कि क्या मिनिफ़िकेशन अभी भी ज़रूरी है जब सर्वर पहले से Gzip या Brotli कम्प्रेशन लागू करता है। संक्षिप्त उत्तर: हाँ, और वे दोनों मिलकर सबसे अच्छा काम करते हैं।

मिनिफ़िकेशन
टेक्स्ट स्तर पर काम करता है। पार्सर जिन वर्णों को अनदेखा करता है उन्हें हटाता है: कमेंट, व्हाइटस्पेस, अनावश्यक एट्रिब्यूट। कोई भी कम्प्रेशन लागू होने से पहले raw फ़ाइल साइज़ कम करता है। बिल्ड टाइम पर एक बार होता है।
Gzip / Brotli कम्प्रेशन
बाइट स्तर पर काम करता है। दोहराए गए बाइट पैटर्न खोजता है और उन्हें छोटे संदर्भों के साथ एन्कोड करता है। प्रत्येक HTTP रिस्पॉन्स पर वेब सर्वर द्वारा लागू किया जाता है। आने पर ब्राउज़र द्वारा डीकम्प्रेस किया जाता है।

मिनिफ़िकेशन उस इनपुट को कम करता है जिसे Gzip प्रोसेस करता है, इसलिए कम्प्रेस्ड आउटपुट भी छोटा होता है। Google की PageSpeed गाइडलाइन दोनों लागू करने की सलाह देती है। एक सामान्य पेज पर, मिनिफ़िकेशन raw साइज़ का 15-25% बचाता है और Gzip परिणाम को और 60-80% कम्प्रेस करता है। मिलाकर, कुल ट्रांसफर साइज़ मूल अनमिनिफ़ाइड, अनकम्प्रेस्ड दस्तावेज़ के 10-20% तक गिर सकता है।

कोड उदाहरण

नीचे चार वातावरणों में HTML मिनिफ़िकेशन के कार्यशील उदाहरण दिए गए हैं। प्रत्येक उदाहरण कमेंट हटाता है और व्हाइटस्पेस संक्षिप्त करता है।

JavaScript (html-minifier-terser)
import { minify } from 'html-minifier-terser'

const html = `
  <div class="card">
    <!-- user profile -->
    <p>  Hello, world!  </p>
  </div>
`

const result = await minify(html, {
  collapseWhitespace: true,
  removeComments: true,
  removeRedundantAttributes: true,
  removeEmptyAttributes: true,
})
// → '<div class="card"><p>Hello, world!</p></div>'
Python (htmlmin)
import htmlmin

html = """
<div class="card">
  <!-- user profile -->
  <p>  Hello, world!  </p>
</div>
"""

result = htmlmin.minify(html, remove_comments=True, remove_empty_space=True)
# → '<div class="card"><p>Hello, world!</p></div>'
Go (tdewolff/minify)
package main

import (
    "fmt"
    "github.com/tdewolff/minify/v2"
    "github.com/tdewolff/minify/v2/html"
)

func main() {
    m := minify.New()
    m.AddFunc("text/html", html.Minify)

    input := `<div class="card">
  <!-- user profile -->
  <p>  Hello, world!  </p>
</div>`

    result, _ := m.String("text/html", input)
    fmt.Println(result)
    // → <div class=card><p>Hello, world!</div>
}
CLI (html-minifier-terser)
# Install globally
npm install -g html-minifier-terser

# Minify a file
html-minifier-terser --collapse-whitespace --remove-comments input.html -o output.html

# Pipe from stdin
cat index.html | html-minifier-terser --collapse-whitespace --remove-comments

# With all common optimizations
html-minifier-terser \
  --collapse-whitespace \
  --remove-comments \
  --remove-redundant-attributes \
  --remove-empty-attributes \
  --minify-css true \
  --minify-js true \
  input.html -o output.min.html

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

क्या HTML मिनिफ़िकेशन मेरा पेज तोड़ सकती है?
सुरक्षित मिनिफ़िकेशन (कमेंट हटाना और व्हाइटस्पेस संक्षिप्त करना) ब्राउज़र रेंडरिंग नहीं बदलती। वैकल्पिक क्लोज़िंग टैग हटाने या बूलियन एट्रिब्यूट संक्षिप्त करने जैसे आक्रामक विकल्प HTML स्पेक का हिस्सा हैं और सभी आधुनिक ब्राउज़रों में काम करते हैं। ध्यान देने वाला एकमात्र क्षेत्र pre और textarea कंटेंट है, जहाँ व्हाइटस्पेस महत्वपूर्ण है। अच्छे मिनिफ़ायर इन तत्वों के अंदर व्हाइटस्पेस सुरक्षित रखते हैं।
मिनिफ़िकेशन के बाद HTML कितना छोटा होता है?
सामान्य बचत मूल फ़ाइल साइज़ के 10% से 30% के बीच होती है, यह इस बात पर निर्भर करता है कि सोर्स में कितना व्हाइटस्पेस और कितने कमेंट हैं। भारी इंडेंटेड, अच्छी तरह टिप्पणीयुक्त टेम्पलेट में सबसे अधिक लाभ होता है। न्यूनतम फॉर्मेटिंग वाला पहले से कॉम्पैक्ट HTML केवल 5-8% सिकुड़ सकता है।
क्या मुझे HTML मिनिफ़ाई करना चाहिए अगर मैं पहले से Gzip उपयोग करता हूँ?
हाँ। मिनिफ़िकेशन और कम्प्रेशन अलग-अलग स्तरों पर काम करते हैं। मिनिफ़िकेशन अनावश्यक टेक्स्ट वर्ण हटाता है; Gzip दोहराए गए बाइट पैटर्न ढूंढता है। पहले मिनिफ़ाई करने का मतलब है Gzip के पास प्रोसेस करने के लिए कम डेटा, जिसके परिणामस्वरूप छोटा कम्प्रेस्ड आउटपुट होता है। Google दोनों लागू करने की सलाह देता है।
क्या inline JavaScript वाले HTML को मिनिफ़ाई करना सुरक्षित है?
एक बेसिक व्हाइटस्पेस-कोलैप्सिंग मिनिफ़ायर script टैग्स के अंदर कंटेंट को संशोधित नहीं करता। --minify-js विकल्प वाले मिनिफ़ायर inline JavaScript को भी JS मिनिफ़ायर का उपयोग करके कम्प्रेस करेंगे। यदि आपके inline स्क्रिप्ट महत्वपूर्ण व्हाइटस्पेस पर निर्भर करते हैं (दुर्लभ), तो आउटपुट टेस्ट करें। अधिकांश inline स्क्रिप्ट मिनिफ़िकेशन के बाद ठीक काम करते हैं।
HTML मिनिफ़िकेशन और HTML कम्प्रेशन में क्या अंतर है?
मिनिफ़िकेशन एक बिल्ड-टाइम टेक्स्ट ट्रांसफॉर्मेशन है जो अनावश्यक वर्ण हटाती है। कम्प्रेशन (Gzip, Brotli) एक सर्वर-टाइम बाइनरी एन्कोडिंग है जो HTTP रिस्पॉन्स को छोटा करती है। मिनिफ़िकेशन अपरिवर्तनीय है (कमेंट चले जाते हैं), जबकि कम्प्रेशन ब्राउज़र द्वारा आने पर पूर्ववत की जाती है।
क्या मिनिफ़िकेशन SEO को प्रभावित करती है?
नहीं। सर्च इंजन क्रॉलर DOM को ठीक वैसे ही पार्स करते हैं जैसे ब्राउज़र करते हैं। वे व्हाइटस्पेस और कमेंट को अनदेखा करते हैं। मिनिफ़िकेशन DOM संरचना नहीं बदलती, इसलिए इसका सर्च इंजन आपके पेज को कैसे इंडेक्स करते हैं, इस पर कोई प्रभाव नहीं पड़ता। छोटे HTML से तेज़ पेज लोड टाइम Core Web Vitals सिग्नल के माध्यम से रैंकिंग को अप्रत्यक्ष रूप से सुधार सकता है।
HTML मिनिफ़िकेशन CSS या JavaScript मिनिफ़िकेशन से कैसे तुलना करती है?
CSS और JavaScript मिनिफ़ायर वेरिएबल का नाम बदलते हैं, dead code हटाते हैं, और उन भाषाओं के लिए विशिष्ट ऑप्टिमाइज़ेशन करते हैं। HTML मिनिफ़ायर सरल होते हैं क्योंकि HTML में ऑप्टिमाइज़ करने के लिए कोई वेरिएबल या एक्ज़ीक्यूटेबल लॉजिक नहीं होता। HTML मिनिफ़िकेशन व्हाइटस्पेस, कमेंट, और अनावश्यक एट्रिब्यूट सिंटैक्स पर केंद्रित होती है।