IGCOMPRESSOR एक छोटी सी pipeline है जो आपके browser के अंदर चलती है। इस page पर हर step numbers के साथ लिखा है, ताकि आप खुद परख सकें कि ये आपके काम की चीज है या नहीं। इसमें कुछ भी गुप्त नहीं है; असली value steps के order और default settings में है।
1. Decode, आपके ही device पर
जब आप file डालते हैं, browser उसे अपने image engine से decode करता है। JPEG, PNG, WebP और GIF हर जगह चलते हैं; HEIC Safari में चलता है, जो उसे natively decode करता है; camera की RAW files के लिए जरूरत पड़ने पर एक छोटा open-source decoder load होता है, जो RAW के अंदर embedded full-size preview निकालता है। EXIF का orientation लागू होता है, इसलिए portrait में ली गई photo सीधी निकलती है।
Browser support करे तो decoding एक Web Worker में होती है, ताकि 50 photos के batch के दौरान भी page अटके नहीं। Upload का कोई step है ही नहीं, क्योंकि कोई server है ही नहीं जो image ले सके। आप browser के Network tab में ये देख सकते हैं, या page load होने के बाद Wi-Fi और mobile data बंद करके।
2. Target ratio में crop
हर preset का एक shape है: Instagram feed post के लिए 4:5, story के लिए 9:16, YouTube thumbnail के लिए 16:9, bank form के लिए 200×230। Tool पहले source को उस shape में crop करता है, उस जगह के आसपास जो आप preview drag करके चुनते हैं। Resize से पहले crop करना इसलिए जरूरी है कि resize को फिर सिर्फ एक काम करना पड़ता है, और crop आपको तब दिखता है जब platform उसे आपके लिए तय करे, उससे पहले।
Fit-within वाले presets (WhatsApp, Telegram, email) crop छोड़ देते हैं और photo को बस एक box के अंदर fit होने तक छोटा करते हैं।
3. Steps में resize
6000 px की photo को basic filter से एक झटके में 1080 px बनाने पर detail असमान तरीके से जाती है। Tool image को तब तक आधा करता रहता है जब तक वो target से दोगुनी से ज्यादा बड़ी है, फिर आखिरी resize browser के सबसे अच्छी quality वाले filter से करता है। नतीजा आम web resizer से ज्यादा Lightroom या Photoshop जैसा होता है। Upscaling सिर्फ उन form presets में होती है जिन्हें exact pixels चाहिए।
4. Resize के बाद sharpen
हर downscale किनारों को थोड़ा नरम कर देता है। Tool final pixels पर एक pixel radius वाला unsharp mask लगाता है, जिसकी मात्रा preset के हिसाब से बदलती है (Instagram feed post के लिए 0.4, story के लिए 0.35, form photo के लिए 0.2)। Resize से पहले sharpen करना बेकार जाता; यही वो एक step है जिसका order लोग सबसे ज्यादा गलत करते हैं।
More options में मात्रा बदल सकते हैं: Off, Light, Medium (preset का default) या Strong। Result को Compare button से 1:1 zoom पर check करें।
5. सही file size ढूंढना
JPEG quality सीधी रेखा में नहीं चलती। Tool image को quality 95 पर encode करता है, size देखता है, और target से बड़ी हो तो नीचे की तरफ binary search करता है, ज्यादा से ज्यादा सात encode, जब तक file cap के ठीक नीचे और target के जितना हो सके उतना पास न आ जाए। Quality 35 से नीचे कभी नहीं जाता। उस पर भी file cap से बड़ी रहे, तो pixels थोड़े कम करके दोबारा search करता है; ऐसा सिर्फ exact size mode में बहुत छोटी caps पर होता है।
Instagram के लिए target 500 KB से 1 MB के बीच है, 1080×1350 की image के लिए करीब 850 KB। ये range बहुत सारे trial and error से निकली है: छोटी files Instagram के अपने re-encode के बाद blocky दिखती हैं, और बड़ी files ज्यादा जोर से compress होती हैं।
जिन forms को minimum size चाहिए, उनके लिए tool JPEG में एक harmless comment segment जोड़कर उसे pad कर सकता है, ताकि file कभी "too small" कहकर reject न हो। Pixels को हाथ नहीं लगता।
6. Export
Output बिना EXIF data की sRGB baseline JPEG है, या WebP या PNG अगर आप चुनें। Metadata हटाना जानबूझकर है: आपकी location, camera का serial number और embedded thumbnail (जो कई बार photo का पुराना, बिना crop वाला version होता है) आपके device पर ही रहते हैं।
Phone पर Share button file को system की share sheet में देता है, ताकि वो downloads folder का चक्कर काटे बिना सीधे Instagram, WhatsApp या form में जा सके। Batch को ZIP में download कर सकते हैं, जो browser में ही बनती है।
ये tool क्या नहीं कर सकता
ये किसी platform को आपका upload दोबारा encode करने से नहीं रोक सकता। Instagram, Facebook, WhatsApp और बाकी सब हमेशा अपना compression चलाते हैं। सही तरीके से तैयार की हुई file बस इतना करती है कि उस compression के पास करने को और कुछ बचता नहीं: न resize, न crop, न colour conversion, और एक ऐसी JPEG जो पहले से उस range में है जिसे वो बर्दाश्त करते हैं। पूरी trick यही है, और इसीलिए result वैसा दिखता है जैसा आपने upload किया था।
ये वो detail भी वापस नहीं ला सकता जो पहले ही जा चुकी है। WhatsApp से 1600 px में आई photo sharp 4K image नहीं बनेगी। जहां तक हो सके original से शुरू करें।