Srcset जेनरेटर
नयाअपनी widths से srcset और sizes के साथ रिस्पॉन्सिव <img> markup बनाएँ।
<img> uses the extension above. width/height to reserve space and prevent layout shift (CLS). Runs entirely in your browser. Nothing is uploaded.
एक ही जगह srcset, sizes और picture markup जनरेट करें
रिस्पॉन्सिव इमेज मार्कअप हाथ से लिखना काफी उलझन भरा होता है — srcset की लिस्ट, मिलाप sizes attribute, WebP और AVIF fallbacks के साथ <picture> ब्लॉक — और एक छोटी सी गलती भी ब्राउज़र को चुपचाप गलत फाइल डाउनलोड करा देती है। यह srcset जनरेटर पूरा tag आपके लिए बना देता है: फाइलनेम और अपनी चौड़ाइयां डालें और यह सही descriptors, lazy loading और async decoding के साथ एक पूरा, copy-ready रिस्पॉन्सिव <img> या <picture> element बनाता है।
यह एक मुफ्त रिस्पॉन्सिव इमेज जनरेटर है जो पूरी तरह ब्राउज़र में चलता है — कोई sign-up नहीं, कुछ भी अपलोड नहीं होता, और एक बार load होने के बाद offline भी काम करता है।
srcset और sizes को समझें
एक रिस्पॉन्सिव इमेज के लिए दो हिस्सों की जरूरत होती है। srcset फाइलों की लिस्ट है जिसमें उनकी असली चौड़ाई होती है — hero-640.jpg 640w ब्राउज़र को बताता है कि वह फाइल 640 पिक्सेल चौड़ी है। sizes बताता है कि आपके layout में इमेज कितनी चौड़ी दिखेगी, जैसे (max-width: 600px) 100vw, 600px। ब्राउज़र sizes पढ़ता है, device pixel ratio से गुणा करता है, और सबसे करीबी srcset candidate डाउनलोड करता है।
descriptor को x पर स्विच करें और आपको pixel density markup मिलता है — logo.png 1x, logo@2x.png 2x — retina screens पर logos और icons जैसी fixed-size इमेज के लिए आदर्श, जहाँ w descriptors और sizes ज़रूरत से ज़्यादा होंगे।
picture element कब इस्तेमाल करें
सादा srcset resolution switching संभालता है — अलग-अलग sizes में एक ही इमेज। <picture> element तब इस्तेमाल करें जब आपको ज़्यादा control चाहिए: fallback के साथ modern formats सर्व करना, या art direction (mobile पर अलग crop और desktop पर अलग)।
<picture> mode में यह tool एक <source type="image/avif">, एक <source type="image/webp"> और एक JPEG या PNG <img> fallback emit करता है, ताकि modern browsers को सबसे छोटा format मिले और पुराने browsers को भी इमेज दिखे।
अपनी इमेज को हर चौड़ाई पर locally resize करें
Markup काम का सिर्फ आधा हिस्सा है — आपको अभी भी असल resize की हुई फाइलें चाहिए। Tool में एक इमेज drop करें और यह HTML canvas पर आपकी हर चौड़ाई के लिए इसे resize कर देगा, फिर आप पूरा set download कर सकते हैं जिसमें generated markup से बिल्कुल मेल खाते filenames होंगे (hero-320.jpg, hero-640.jpg, आदि)।
कोई upload नहीं, कोई build pipeline नहीं। चूँकि original से बड़ा करने पर सिर्फ blur आता है, tool कोई भी चौड़ाई जो आपकी source से बड़ी हो उसे flag कर देता है ताकि आपका image set सटीक रहे।
Squoosh, Responsivebreakpoints.com और Cloudflare Image Resize से तुलना
Squoosh (Google का) single-image compression और conversion में बेहतरीन है — WebP या AVIF की सही quality setting चुनने के लिए शानदार। लेकिन यह srcset markup generate नहीं करता और न ही HTML में paste करने के लिए पूरा responsive image tag बनाता है। यह एक compression tool है, markup generator नहीं।
Cloudinary का Responsivebreakpoints.com optimal breakpoints calculate करने और resized images generate करने के लिए आपकी इमेज Cloudinary के servers पर upload करता है। नतीजे अच्छे हैं, लेकिन आपकी फाइल आपके computer से बाहर जाती है और Cloudinary की शर्तें लागू होती हैं। Cloudflare Image Resize और Imgix CDN services हैं जो account setup, API integration और ongoing billing की मांग करती हैं। UtiloKit का srcset generator अलग जगह खड़ा है: यह पूरा HTML markup generate करता है और इमेज को locally, client-side resize करता है — बिना upload, बिना account, बिना cost और बिना file size limits के।
Widths, breakpoints और Core Web Vitals
एक भरोसेमंद width set है 320, 640, 960, 1280 और 1920, हर step पर लगभग दोगुना होते हुए छोटे phones से बड़े retina displays तक cover करता है; full-bleed heroes के लिए 2560 जोड़ें। सही size की इमेज serve करना Core Web Vitals के लिए सबसे बड़े gains में से एक है: कम bytes मतलब faster Largest Contentful Paint, और width और height attributes जोड़ने से layout shift (CLS) नहीं होता जो users और rankings दोनों को नुकसान पहुँचाता है।
Off-screen images में loading="lazy" जोड़ें ताकि वे scroll करने पर ही load हों, और अपने hero के लिए fetchpriority="high" ताकि वह पहले load हो — दोनों यहाँ one-click toggles हैं।
निजी, तुरंत और offline — किसी भी device पर काम करता है
कुछ भी install करने की ज़रूरत नहीं और कोई account नहीं बनाना। हर tag आपके browser में जैसे-जैसे आप type करते हैं बनता जाता है, और जो भी इमेज आप resize करें वह canvas API से locally process होती है — कुछ भी कभी upload नहीं होता। Page load होने के बाद generator offline भी काम करता है, इसलिए आप कहीं भी responsive img srcset और <picture> markup बना सकते हैं — हवाई जहाज में, phone पर, बिना Wi-Fi के।
Frequently asked questions
srcset क्या है और यह क्या करता है?
srcset attribute आपको एक ही इमेज के कई versions अलग-अलग widths में list करने देता है ताकि browser सबसे उपयुक्त एक download कर सके। हर visitor को एक बड़ी file भेजने की बजाय, आप srcset="hero-320.jpg 320w, hero-640.jpg 640w, hero-1280.jpg 1280w" लिखते हैं और browser सबसे छोटी इमेज चुनता है जो अभी भी sharp दिखे — phones पर bandwidth बचाता है और retina laptops पर crisp images serve करता है, बिना JavaScript के।
srcset कब use करना चाहिए?
srcset तब use करें जब कोई इमेज अलग-अलग screens पर अलग-अलग sizes में दिखाई जाए — hero banners, article images, product photos, कोई भी fluid element। यह resolution switching का सही tool है: वही इमेज, बस बड़ी या छोटी। अगर किसी breakpoint पर crop या actual image बदलनी हो (art direction), तो picture element इस्तेमाल करें। छोटे fixed-size icons और logos को srcset की ज़रूरत नहीं।
srcset और sizes को एक साथ कैसे use करें?
srcset files और उनकी actual pixel widths list करता है (640w मतलब वह file 640 pixels चौड़ी है); sizes browser को बताता है कि layout calculate होने से पहले इमेज कितनी चौड़ी दिखेगी। साथ में: srcset="img-640.jpg 640w, img-1280.jpg 1280w" sizes="(max-width: 600px) 100vw, 600px"। Browser sizes पढ़ता है, pixels की जरूरत calculate करता है (display width × device pixel ratio), फिर सबसे करीबी srcset candidate चुनता है।
w descriptors और x descriptors में क्या अंतर है?
w descriptors हर file की actual pixel width describe करते हैं — image-640.jpg 640w — और sizes के साथ use होने चाहिए; browser फिर किसी भी screen के लिए math कर लेता है। x descriptors सिर्फ pixel density describe करते हैं — image.jpg 1x, image@2x.jpg 2x, image@3x.jpg 3x — और fixed-size images जैसे logo के लिए suitable हैं जिन्हें सिर्फ retina screens पर sharp दिखना है। Fluid, layout-driven images के लिए w और fixed-dimension images के लिए x use करें।
WebP और AVIF को fallback के साथ कैसे serve करें?
picture को प्रत्येक modern format के लिए एक source के साथ और एक normal img को fallback के रूप में use करें: source type="image/avif" srcset="…", फिर source type="image/webp" srcset="…", फिर img src="hero.jpg" …। Browser पहले supported format का उपयोग करता है और अगर कोई नहीं समझता तो JPEG या PNG img पर fallback हो जाता है — पुराने browsers को भी इमेज दिखती है।
कौन-सी image widths generate करनी चाहिए?
एक अच्छा general-purpose set है 320, 640, 960, 1280 और 1920 — small phones से large retina screens तक cover करता है — हर step पर लगभग दोगुना। Full-bleed hero images के लिए 2560 जोड़ें; जो content कभी 800px से ज़्यादा चौड़ा न हो उसके लिए 1600 से अधिक की ज़रूरत नहीं (800 × 2 retina के लिए)। इतने ज़्यादा मत generate करें कि steps बेकार हो जाएं; चार से छह widths आमतौर पर काफी होती हैं।
मेरा srcset काम क्यों नहीं कर रहा?
सामान्य कारण: (1) आप ऐसे screen पर test कर रहे हैं जहाँ browser ने सही तरह से decide किया कि सबसे बड़ी file ज़रूरी नहीं है — switching देखने के लिए window resize करें या slow connection पर throttle करें; (2) sizes missing है या गलत है, इसलिए browser 100vw assume करता है और बड़ी file grab करता है; (3) listed files उन paths पर actually exist नहीं करतीं (Network tab में 404s check करें); (4) caching पहले से downloaded size serve कर रही है। srcset एक hint है, और browser cached larger image pick कर सकता है — यह design से है।
Related tools
सभी टूल्स देखेंJSON Escape / Unescape
raw टेक्स्ट को JSON-safe string में escape करें और वापस unescape करें।
HTTP स्टेटस कोड
सरल भाषा में अर्थ के साथ HTTP स्टेटस कोड का खोजने योग्य संदर्भ।
Regex चीटशीट
regular expression टोकन और flags का खोजने योग्य संदर्भ।
ASCII टेबल
decimal, hex, octal और binary में खोजने योग्य कैरेक्टर कोड।
PX से REM कन्वर्टर
root font size के सापेक्ष px, rem, em और pt के बीच बदलें।
स्प्रेडशीट कॉलम कन्वर्टर
स्प्रेडशीट कॉलम नंबर को उसके अक्षर (1 → A) में और वापस बदलें।