# इमेज कंप्रेसर — तय साइज़ तक कंप्रेस कीजिए

साइज़ आप बताइए। बाकी हिसाब यह लगा लेगा।

> JPEG, PNG या WebP को ठीक तय साइज़ तक कंप्रेस कीजिए - 100 KB, 2 MB, कुछ भी। पूरा काम आपके ब्राउज़र में होता है। न कुछ अपलोड, न कोई खाता, और ऑफ़लाइन भी चलता है।

यह पेज एक इंटरैक्टिव टूल है जो पूरी तरह आपके ब्राउज़र में चलता है, https://abox.tools/hi/compress-image/ पर — आप इसे जो भी देते हैं, वह कहीं अपलोड नहीं होता। आगे वह सब कुछ है जो यह पेज इस टूल के बारे में शब्दों में कहता है; इसे इस्तेमाल करने के लिए यह पता खोलें।

## यह टूल तस्वीरें **कभी अपलोड नहीं करता**। यहाँ कोई सर्वर है ही नहीं।

कंप्रेशन आपके अपने ब्राउज़र में, आपके अपने हार्डवेयर पर, उन्हीं एनकोडरों से होता है जो उसमें पहले से मौजूद हैं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं। न कुछ मँगाने का रास्ता, न कुछ भेजने का। और मान लीजिए कोई रास्ता होता भी, तो इस पेज के दूसरी तरफ़ ऐसा कोई सर्वर ही नहीं है जिसे तस्वीर भेजी जा सके।

- ✗ कोई अपलोड नहीं
- ✗ कोई खाता नहीं
- ✗ साइज़ की कोई सीमा नहीं
- ✓ ऑफ़लाइन चलता है
- ✓ ओपन सोर्स

## किसी इमेज को तय साइज़ तक कैसे कंप्रेस करें

1. **अपनी तस्वीरें चुनिए।** उन्हें पिकर पर छोड़ दीजिए, या हाथ से चुन लीजिए। ब्राउज़र उन्हें सीधे आपकी डिस्क से पढ़ता है, और इस दौरान कुछ भी कहीं नहीं भेजा जाता।
2. **जो साइज़ आपसे माँगा गया है, वह टाइप कीजिए।** जो अपलोड फ़ॉर्म आपकी फ़ोटो बार-बार लौटा रहा है उसके लिए 100 KB, आवेदन पोर्टल के लिए 500 KB, जल्दी खुलने वाले पेज के लिए 2 MB। चार सबसे आम साइज़ बटन की शक्ल में मौजूद हैं।
3. **“तय साइज़ तक कंप्रेस कीजिए” दबाइए।** हर तस्वीर कई बार एनकोड होती है, और टूल उस सबसे ऊँची क्वालिटी तक पहुँचता जाता है जो तय साइज़ में समा जाए। जो पहले से तय साइज़ से नीचे है, उसे बिलकुल वैसा का वैसा छोड़ दिया जाता है।
4. **देखिए कीमत क्या पड़ी, फिर डाउनलोड कीजिए।** हर नतीजा बता देता है कि वह किस फ़ॉर्मैट में लिखा गया, किस क्वालिटी पर, माप बदली या नहीं, और नापने पर वह असली तस्वीर से कितना मेल खाता है। “तुलना” दोनों तस्वीरें आमने-सामने रख देता है।

## विस्तार से

[किसी तस्वीर को ठीक तय फ़ाइल साइज़ तक कैसे कंप्रेस करें](https://abox.tools/hi/guides/compress-an-image-to-a-target-size/): अपलोड फ़ॉर्म 500 KB माँग रहा है और आपकी फ़ोटो 4 MB की है। साइज़ की सीमा असल में क्या कीमत लेती है, पहले कौन-सी सेटिंग हिलानी है, और PNG वैसे क्यों नहीं सिकुड़ता जैसे JPEG सिकुड़ता है।

## बॉक्स में और भी टूल

- [इमेज रिसाइज़र](https://abox.tools/hi/resize-image/): साइज़ बताइए। डिब्बा खींचिए। फ़ॉर्मैट चुनिए।
- [HEIC से JPG](https://abox.tools/hi/heic-to-jpg/): iPhone जो फ़ोटो बनाता है, उस फ़ॉर्मैट में जिसे सब खोल लेते हैं।
- [ID फ़ोटो मेकर](https://abox.tools/hi/id-photo/): देश चुनिए। उसी देश का नियम यह हूबहू लागू कर देता है।
- [इमेज स्टैकर](https://abox.tools/hi/stack-images/): बीस फ़्रेम एक में, न बीस अपलोड, न कोई RAW कन्वर्टर।

## सवाल

### क्या मेरी तस्वीर कहीं अपलोड होती है?

नहीं। फ़ाइल को डिकोड करने, कंप्रेस करने और नापने का काम आपका अपना ब्राउज़र आपके अपने हार्डवेयर पर करता है, उन्हीं JPEG, PNG और WebP एनकोडरों से जो ब्राउज़र में पहले से आते हैं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं। यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। और पेज की `Content-Security-Policy` उन सारे पतों के नाम गिना देती है जिनसे यह संपर्क कर सकता है, जिनमें से एक भी इस साइट का नहीं है।

### यह ठीक तय साइज़ तक कैसे पहुँचता है?

आज़माकर। ऐसा कोई फ़ॉर्मूला है ही नहीं जो क्वालिटी की सेटिंग को बाइट की गिनती में बदल दे, क्योंकि यह पूरी तरह तस्वीर पर निर्भर करता है। इसलिए टूल तस्वीर को कई बार एनकोड करता है और जवाब ढूँढ़ता है। शुरुआत क्वालिटी की सबसे ऊपरी हद से होती है, फिर आधा-आधा करते हुए यह करीब आता जाता है, और सबसे ऊँची फिट होने वाली क्वालिटी लगभग आठ एनकोड में मिल जाती है। पेज पर आप जो भी साइज़ देखते हैं, वह सचमुच एनकोड की गई फ़ाइल का साइज़ है, कोई अनुमान नहीं।

### यहाँ “कम से कम नुकसान” का मतलब असल में क्या है?

तीन ठोस बातें। पहली, जो तस्वीर पहले से आपके तय साइज़ से नीचे है, उसे दोबारा एनकोड करने के बजाय बाइट-दर-बाइट वैसी की वैसी आगे भेज दिया जाता है। दूसरी, रिज़ॉल्यूशन से पहले क्वालिटी खर्च होती है, और वह भी सिर्फ़ उस हद तक जहाँ से कंप्रेशन के दाग दिखने लगते हैं। उससे नीचे टूल तस्वीर को छोटा कर देता है और क्वालिटी वापस ऊपर उठा देता है, क्योंकि कम मगर अच्छे पिक्सल ज़्यादा मगर बिगड़े हुए पिक्सलों से बेहतर दिखते हैं। तीसरी, फिट होने वाला नतीजा मिल जाने के बाद खोज उसे दोबारा ऊपर की ओर धकेलती रहती है, जब तक बजट पूरा खर्च न हो जाए। यानी 500 KB माँगने पर आपको 300 KB की फ़ाइल नहीं मिलती।

### हर नतीजे पर लिखे SSIM और PSNR के आँकड़े क्या हैं?

ये नापते हैं कि कंप्रेशन की कीमत क्या पड़ी। नतीजे को दोबारा डिकोड करके असली तस्वीर से मिलाया जाता है। SSIM स्थानीय चमक, कंट्रास्ट और बनावट को मिलाकर देखता है, और यह बदले हुए पिक्सल गिनने के मुकाबले उस बात के कहीं ज़्यादा करीब है जिस पर आँख को एतराज़ होता है। लगभग 0.98 से ऊपर दोनों तस्वीरें आमने-सामने रखकर भी अलग बता पाना मुश्किल है। PSNR वही पुराना डेसिबल वाला आँकड़ा है। दोनों आपके अपने डिवाइस पर निकाले जाते हैं, और दोनों इसीलिए दिखाए जाते हैं ताकि कम नुकसान का दावा सिर्फ़ दावा न रहे, जाँचा जा सके।

### यह कौन-कौन से फ़ॉर्मैट पढ़ और लिख सकता है?

यह वह सब पढ़ लेता है जो आपका ब्राउज़र डिकोड कर सकता है, यानी व्यवहार में JPEG, PNG, WebP, GIF, BMP, और ज़्यादातर मौजूदा ब्राउज़रों में AVIF भी। लिखता यह JPEG, PNG और WebP है, क्योंकि ब्राउज़र यही एनकोडर साथ लाते हैं। “अपने आप” पर यह वही फ़ॉर्मैट बनाए रखता है जिसमें आपकी फ़ाइल आई थी, और WebP पर सिर्फ़ तब जाता है जब वही फ़ॉर्मैट रखने का मतलब होता आकार घटाना या क्वालिटी में दिखने लायक गिरावट।

### PNG को बहुत ज़्यादा कंप्रेस क्यों नहीं किया जा सकता?

क्योंकि PNG नुकसान-रहित है, और इसमें घुमाने के लिए क्वालिटी का कोई बटन ही नहीं होता। PNG को छोटा करने का अकेला रास्ता है कम पिक्सल या कम रंग, इसलिए PNG चुने होने पर टूल तय साइज़ तक सिर्फ़ आकार घटाकर पहुँचता है। तस्वीर अगर कोई फ़ोटोग्राफ़ है, तो JPEG या WebP आपके तय साइज़ के कहीं ज़्यादा करीब पहुँचेंगे, और क्वालिटी ऐसी रहेगी जिसे देखकर आप खुद कह देंगे कि ठीक है। और अगर यह कोई लोगो या पारदर्शिता वाला स्क्रीनशॉट है, तो WebP वह पारदर्शिता बचा लेता है जिसे JPEG सफ़ेद रंग से भर देता।

### क्या तस्वीर कंप्रेस करने से उसका EXIF और GPS डेटा हट जाता है?

हाँ, एक साइड इफ़ेक्ट के तौर पर। कंप्रेस करने का मतलब है तस्वीर को पिक्सलों में डिकोड करना और उन्हीं पिक्सलों को दोबारा एनकोड करना, और पिक्सलों से भरा कैनवस कोई टैग नहीं ढोता। इसलिए जगह, कैमरे का मॉडल, समय और बाकी सब कुछ नई फ़ाइल में लिखे ही नहीं जाते। मेटाडेटा हटाना है पर तस्वीर छूनी नहीं है, तो इसके बजाय [EXIF व्यूअर और रिमूवर](https://abox.tools/hi/exif-editor/) इस्तेमाल कीजिए। वह कंटेनर दोबारा लिखता है, कुछ भी दोबारा कंप्रेस किए बिना।

### क्या यह मुफ़्त है, और क्या इसके लिए खाता बनाना पड़ेगा?

यह मुफ़्त है, और यहाँ न कोई खाता है, न साइन-इन, न ट्रायल, न वॉटरमार्क। फ़ाइलों की गिनती या साइज़ पर भी कोई सीमा नहीं है, क्योंकि इनका बिल चुकाने वाला कोई सर्वर है ही नहीं। काम आपके अपने डिवाइस पर होता है। साइट पर विज्ञापन हैं और खर्च वही उठाते हैं, लेकिन विज्ञापनों को आपकी तस्वीरों के बारे में कुछ नहीं दिया जाता।

### क्या यह ऑफ़लाइन चलता है?

हाँ। पेज एक बार लोड कर लीजिए, फिर इंटरनेट काट दीजिए, यह चलता रहेगा। कुछ अपलोड नहीं हो रहा, यह साबित करने का सबसे आसान तरीका भी यही है। जो टूल आपकी तस्वीरें कंप्रेस करने के लिए कहीं भेजता, वह प्लग निकालते ही रुक जाता।

## प्राइवेसी का यह दावा कैसे जाँचा जा सकता है

- **आपकी तस्वीरों के जाने के लिए कोई जगह ही नहीं है।** यह पेज जिन-जिन पतों से संपर्क कर सकता है, Content-Security-Policy उन सबके नाम गिना देती है, और उनमें से एक भी इस साइट का नहीं है। यहाँ ऐसा कोई एंडपॉइंट है ही नहीं जहाँ आपकी फ़ाइलें जमा हो सकें, और होता भी तो कोड में ऐसा कुछ नहीं है जो उन्हें भेजता।
- **यहाँ कुछ भी कहीं से कुछ नहीं मँगाता।** `src/` में कहीं भी न `fetch` है, न `XMLHttpRequest`, न `sendBeacon`। कंप्रेशन का काम `canvas.toBlob` करता है, यानी वही एनकोडर जो आपके ब्राउज़र में पहले से लगा हुआ है।
- **आँकड़े नापे जाते हैं, कहीं भेजे नहीं जाते।** साइज़, क्वालिटी का आँकड़ा और SSIM की तुलना, ये सब इसी पेज पर निकाले जाते हैं और आपको दिखा दिए जाते हैं। इस रिपॉज़िटरी में ऐसा कोई अपना एनालिटिक्स इवेंट नहीं है जो फ़ाइल का नाम, साइज़, गिनती या नतीजा साथ ले जाता हो।
- **Google क्या लोड करता है, और उसे क्या नहीं दिया जाता।** विज्ञापन और माप वाली स्क्रिप्ट Google से आती हैं, और दान का बटन Buy Me a Coffee से। इनमें से किसी को भी आपकी तस्वीरों के बारे में कुछ नहीं सौंपा जाता। फ़ाइल पढ़ने, कंप्रेस करने या नापने वाली हर पंक्ति इसी ऑरिजिन से आती है और रिपॉज़िटरी में मौजूद है।
- **यह ऑफ़लाइन भी चलता है।** नेटवर्क काट दीजिए, टूल जस का तस काम करता रहेगा, क्योंकि इसमें नेटवर्क वाला कोई कदम कभी था ही नहीं। सबसे आसान सबूत यही है।

**खुद जाँच लीजिए।** ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा `dist` ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं: https://github.com/A-Box-of-Tools/website

सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए `config/site.toml`, क्वालिटी कितनी खर्च करनी है यह तय करने वाली खोज के लिए `src/compress.js`, और “दिखने में कितना मेल खाता है” वाले आँकड़े के पीछे की तुलना के लिए `src/measure.js`।
