यह पेज हिन्दी में दिखाया जा रहा है, क्योंकि आपका ब्राउज़र यही भाषा माँगता है।
इस पेज का कोड चालू नहीं हुआ।
index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए एक इमेज चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:
ऊपर फ़ाइल चुनते ही यह खुल जाएगा।तैयार — इंटरनेट काट दीजिए, यह फिर भी चलता रहेगा।इस ब्राउज़र में उपलब्ध नहीं (बाकी सब फिर भी चलता है)।ऑफ़लाइन कैश के लिए https:// या localhost चाहिए।यहाँ कैश नहीं हो सकता, पर अपलोड फिर भी कुछ नहीं होता।आपकी फ़ाइलें कहीं नहीं गईं। {total} फ़ाइलें लोड हुईं, और वे सब इसी साइट की अपनी हैं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। यह देखने लायक बात है। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।कुछ गड़बड़ हो गई: {detail}। दोबारा शुरू करने के लिए पेज फिर से लोड कीजिए।{count} फ़ाइल पढ़ी जा रही है…{count} फ़ाइलें पढ़ी जा रही हैं…कोई उदाहरण आज़माइएउदाहरण बनाया जा रहा है…यह ब्राउज़र उदाहरण नहीं बना सका। इसके बजाय कोई फ़ाइल चुनिए।
इमेज में जानकारी छिपाइए — ब्लैक आउट, पिक्सेलेट या ब्लर
जो हिस्सा आप ढकते हैं वह फ़ाइल से मिट जाता है, फ़ाइल के अंदर छिपा नहीं रहता।
● यह टूल इमेज कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।
इमेज को खोलना, उस पर रंग भरना और उसे दोबारा लिखना, यह सब आपका अपना ब्राउज़र उन्हीं कोडेक से करता है जो उसमें पहले से हैं। इस टूल में नेटवर्क का कोई काम है ही नहीं, न कुछ मँगाने का और न कुछ भेजने का। यहाँ यह बात इस साइट के लगभग हर दूसरे पेज से ज़्यादा मायने रखती है, क्योंकि ऐसे टूल पर वही इमेज लाई जाती हैं जिन पर नाम, पता या खाता नंबर अब भी पढ़ा जा सकता है।
✗ कोई अपलोड नहीं
✗ कोई अकाउंट नहीं
✗ कोई वॉटरमार्क नहीं
✓ ऑफ़लाइन चलता है
✓ ओपन सोर्स
लाइव जाँच:जाँच जारी…
ऑफ़लाइन:जाँच जारी…
हमारी बात मानने की ज़रूरत नहीं। DevTools खोलिए, नेटवर्क टैब देखते रहिए और एक स्क्रीनशॉट पर काम कीजिए। किसी भी रिक्वेस्ट में न इमेज जाती है, न थंबनेल, न फ़ाइल का नाम, और न यह कि आपने बॉक्स कहाँ रखा था। या फिर इंटरनेट बंद कर दीजिए और तब भी कीजिए।
प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
आपकी इमेज के जाने के लिए कोई जगह ही नहीं है। यह पेज जिन पतों से बात कर सकता है, वे सब Content-Security-Policy में लिखे हैं, और उनमें से एक भी हमारा नहीं है। यहाँ ऐसा कोई ठिकाना है ही नहीं जहाँ आपकी फ़ाइलें जमा हो सकें, और कोड में ऐसा कुछ भी नहीं जो उन्हें वहाँ भेजे, अगर होता भी।
ढके हुए पिक्सेल यहीं मिटते हैं, बाहर जाते हुए रास्ते में नहीं। इमेज पिक्सेल के एक बफ़र में खुलती है, बॉक्स उसी बफ़र में लिख दिए जाते हैं, और बफ़र एनकोडर को दे दिया जाता है। इस पेज में इमेज का ऐसा कोई रूप है ही नहीं जिसमें बॉक्स अलग लेयर हों, क्योंकि वैसा रूप कभी बनता ही नहीं। src/redact.js देखिए।
यहाँ कुछ भी कहीं से नहीं मँगाया जाता।src/ में कहीं भी न fetch है, न XMLHttpRequest, न sendBeacon। सारा काम getImageData, बाइट पर घूमने वाले तीन लूप और canvas.toBlob है, और यह सब आपके ब्राउज़र में पहले से मौजूद है।
बॉक्स की खबर कहीं नहीं जाती। आपने कहाँ खींचा, कितने बॉक्स बनाए, कितने बड़े थे और कौन सा तरीका चुना, यह सब इस पेज की मेमोरी में रहता है और पेज बंद करते ही चला जाता है। इस रिपॉज़िटरी में ऐसा कोई एनालिटिक्स इवेंट नहीं है जो इसमें से कुछ भी ले जाए, और डाउनलोड के बाद जो एक सवाल आता है वह बस एक थम्स अप या डाउन और टूल का नाम भेजता है।
यह ऑफ़लाइन भी चलता है। नेटवर्क बंद कर दीजिए, टूल वैसा ही रहेगा, क्योंकि इसमें नेटवर्क वाला कदम कभी था ही नहीं। यही सबसे आसान सबूत है, और पासपोर्ट पर काम शुरू करने से पहले एक बार करके देख लेने लायक भी।
खुद जाँच लीजिए। ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा dist ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं:
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए config/site.toml, पिक्सेल पर ऊपर से लिखने वाले तीनों फ़ंक्शन के लिए src/redact.js, और स्क्रीन पर जो दिख रहा है वह उन्हीं तीन फ़ंक्शन से क्यों बनता है, इसके लिए src/preview.js।
अगर आपके दफ़्तर का सुरक्षा सॉफ़्टवेयर अपलोड की चेतावनी दे। वह उस पल पर नज़र रखता है जब ब्राउज़र में फ़ाइल चुनी जाती है, और यह नहीं जान सकता कि पन्ना उसे भेजने वाला है या नहीं — इसलिए चुनने पर ही चेतावनी देता है। यहाँ से कुछ नहीं भेजा जाता: ब्राउज़र के डेवलपर टूल खोलिए, Network पर जाइए, और एक फ़ाइल चुनिए। उसे ले जाने वाला कोई अनुरोध नहीं है, और पन्ने की अपनी स्थानीय झलक के अलावा कोई अनुरोध ही नहीं। यही जाँच आपकी IT टीम आधे मिनट में कर सकती है।
1 इमेज चुनिए
बैंक स्टेटमेंट का स्क्रीनशॉट, पासपोर्ट की फ़ोटो, पते वाला कोई बिल। जिन इमेज को छिपाने की ज़रूरत पड़ती है, वही वे इमेज हैं जिन्हें इसी काम के लिए किसी अनजान सर्वर पर नहीं चढ़ाना चाहिए। इसे ब्राउज़र सीधे आपकी डिस्क से पढ़ता है।
2 जो नहीं दिखना चाहिए उसे ढकिए
इमेज पर खींचिए और एक बॉक्स बन जाएगा। बॉक्स को खींचकर हिलाइए, उसके हैंडल से आकार बदलिए, या Tab से उस तक पहुँचकर तीर वाली कुंजियाँ चलाइए। Alt के साथ तीर आकार बदलते हैं और Delete उसे हटा देता है। हर बॉक्स के नीचे जो दिखता है वही असली नतीजा है: प्रीव्यू वही कोड बनाता है जो फ़ाइल लिखता है, बस स्क्रीन के आकार में।
काला कर दीजिए किनारे से किनारे तक एक ही रंग। वहाँ जो था उसमें से कुछ नहीं बचता: न कोई किनारा, न कोई औसत, न यह कि कितने अक्षर थे। तीनों में बात यहीं खत्म होती है, और जो कुछ अक्षरों की तरह पढ़ा जा सकता है उसके लिए यही चुनिए।
पिक्सेलेट कीजिए हर ब्लॉक उस ब्लॉक का औसत रंग बन जाता है। पुराने पिक्सेल फ़ाइल से सचमुच चले जाते हैं, पर औसतों की जाली अब भी इस बात की नाप है कि नीचे क्या था, और आम फ़ॉन्ट के अक्षरों के लिए इतनी सी नाप से मूल पाठ वापस निकाला जा चुका है। भीड़ में किसी चेहरे के लिए ठीक है, खाता नंबर के लिए नहीं।
ब्लर कीजिए हर पिक्सेल अपने पड़ोसियों का भारित औसत बन जाता है। वही आपत्ति जो पिक्सेलेट पर है, ज़रा और साफ़ रूप में: ब्लर एक कनवॉल्यूशन है, और कनवॉल्यूशन सैद्धांतिक रूप से उलटा किया जा सकता है। इसे वहाँ लीजिए जहाँ कुछ नरम करना है, छिपाना नहीं।
इमेज चुनिए, वह यहीं दिखने लगेगी और उस पर खींचा जा सकेगा।
3 छिपाई हुई कॉपी सेव कीजिए
इमेज पिक्सेल में खोली जाती है, बॉक्स उन्हीं पिक्सेल के ऊपर लिख दिए जाते हैं, और नतीजा एक नई फ़ाइल के रूप में लिखा जाता है। न कोई लेयर, न कोई एनोटेशन, और न यह लिखा रहता है कि बॉक्स कहाँ थे, क्योंकि ढके हुए पिक्सेल एनकोडर को कुछ मिलने से पहले ही खत्म हो चुके होते हैं।
फ़ॉर्मैट छिपाने पर इससे कोई फ़र्क नहीं पड़ता: एनकोडर जब पिक्सेल देखता है, वे तब तक जा चुके होते हैं। इससे बस यह तय होता है कि बाकी इमेज कितनी जगह लेगी और कैसे दबाई जाएगी।
बाद में इसे खोलकर ढके हुए अक्षर चुनकर देखिए, या किसी एडिटर में डालकर लेयर ढूँढिए। वहाँ कुछ नहीं मिलेगा: एक सपाट इमेज है, और जो हिस्सा आपने ढका था वह फ़ाइल लिखे जाने से पहले ही ऊपर से लिख दिया गया था।
यह ब्राउज़र तस्वीर को डीकोड नहीं कर सका।यह फ़ाइल खोली नहीं जा सकी: {why}{name} — {width} x {height}{x}, {y} पर {width} x {height}{where} — पिक्सेलेटेड, {size} px के ब्लॉक ({across} x {down}){where} — धुँधला, {radius} px त्रिज्या{where} — काला किया हुआक्षेत्र {n}: {what}। तीर कुंजियाँ इसे खिसकाती हैं, Alt के साथ तीर कुंजियाँ आकार बदलती हैं, और Delete इसे हटाता है।क्षेत्र {n} क्या करता हैकाला कीजिएपिक्सेलेट कीजिएधुँधला कीजिए{n} काला किया{n} काले किए{n} पिक्सेलेटेड{n} पिक्सेलेटेड{n} धुँधला{n} धुँधले{n} क्षेत्र: {parts}।{n} क्षेत्र: {parts}।हल्कामध्यमतेज़{label} — एक बॉक्स की छोटी भुजा पर करीब {blocks} ब्लॉक, और उसी का 1/{blur} धुँधलेपन की त्रिज्या।यहाँ का सबसे बारीक मोज़ेक {across} x {down} ब्लॉक का है, हर ब्लॉक {size} px। यानी नीचे जो था उसके {averages} औसत, जो फ़ाइल में ही रह जाते हैं।धुँधलेपन की त्रिज्या {radius} px है। धुँधलापन भी एक औसत ही है, और साफ़ लिखावट पर पड़ा हल्का धुँधलापन ठीक वही मामला है जिसे उलटकर पढ़ा जा चुका है।सबसे छोटे धुँधलेपन की त्रिज्या {radius} px है। धुँधलापन भी एक औसत ही है, और साफ़ लिखावट पर पड़ा हल्का धुँधलापन ठीक वही मामला है जिसे उलटकर पढ़ा जा चुका है।जो भी टेक्स्ट की तरह पढ़ा जा सके, उसे काला कर दीजिए।ब्राउज़र इसे एनकोड नहीं कर सका।फ़ाइल लिखते समय कुछ गड़बड़ हो गई: {why}काली की हुई तस्वीर, {width} गुणा {height} पिक्सेल{name} — {size}, {width} x {height}कोई क्षेत्र चिह्नित नहीं किया गया, इसलिए यह वही तस्वीर है, दोबारा एनकोड की हुई।काले किए पिक्सेल से लिखी गई, इसलिए इसमें न EXIF है, न GPS, न कोई अंदर रखा थंबनेल, और न ही कोई परत जिसमें मूल तस्वीर हो।{a} {b}{a}, {b}{n} B{n} KB{n} MBआपकी तस्वीरें कहीं नहीं गईं। {total} फ़ाइलें लोड हुईं, और वे सब इसी साइट की अपनी हैं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। यह देखने लायक बात है। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई तस्वीर मिली, न उसका एक बाइट।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई तस्वीर मिली, न उसका एक बाइट।
क्या इससे काम बन गया?
क्या गड़बड़ हुई?
शुक्रिया — इससे मदद मिलती है।
सिर्फ़ आपका जवाब भेजा जाता है, वह भी तभी जब आप बटन दबाते हैं। आपकी फ़ाइल, उसका नाम या उससे जुड़ी कोई बात कभी नहीं।
# इमेज में जानकारी छिपाइए — ब्लैक आउट, पिक्सेलेट या ब्लर
जो हिस्सा आप ढकते हैं वह फ़ाइल से मिट जाता है, फ़ाइल के अंदर छिपा नहीं रहता।
> फ़ोटो या स्क्रीनशॉट में नाम, पता या खाता नंबर ढककर इमेज दोबारा सेव कीजिए। ढके हुए पिक्सेल किसी आयत के नीचे बचे नहीं रहते, फ़ाइल से चले जाते हैं। पूरा काम आपके ब्राउज़र में होता है।
यह पेज एक इंटरैक्टिव टूल है जो पूरी तरह आपके ब्राउज़र में चलता है, https://abox.tools/hi/redact-image/ पर — आप इसे जो भी देते हैं, वह कहीं अपलोड नहीं होता। आगे वह सब कुछ है जो यह पेज इस टूल के बारे में शब्दों में कहता है; इसे इस्तेमाल करने के लिए यह पता खोलें।
## यह टूल इमेज **कभी अपलोड नहीं करता**। यहाँ कोई सर्वर है ही नहीं।
इमेज को खोलना, उस पर रंग भरना और उसे दोबारा लिखना, यह सब आपका अपना ब्राउज़र उन्हीं कोडेक से करता है जो उसमें पहले से हैं। इस टूल में नेटवर्क का कोई काम है ही नहीं, न कुछ मँगाने का और न कुछ भेजने का। यहाँ यह बात इस साइट के लगभग हर दूसरे पेज से ज़्यादा मायने रखती है, क्योंकि ऐसे टूल पर वही इमेज लाई जाती हैं जिन पर नाम, पता या खाता नंबर अब भी पढ़ा जा सकता है।
- ✗ कोई अपलोड नहीं
- ✗ कोई अकाउंट नहीं
- ✗ कोई वॉटरमार्क नहीं
- ✓ ऑफ़लाइन चलता है
- ✓ ओपन सोर्स
## इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाए
1. **इमेज चुनिए।** स्क्रीनशॉट, स्कैन या फ़ोटो, जो भी आपका ब्राउज़र खोल सकता है। वह सीधे आपकी डिस्क से पढ़ी जाती है और इस दौरान कुछ भी कहीं नहीं जाता।
2. **जो नहीं दिखना चाहिए उस पर बॉक्स खींचिए।** फिर अगली चीज़ पर एक और। बॉक्स को खींचकर हिलाया जा सकता है, उसके हैंडल से आकार बदला जा सकता है, या Tab से उस तक पहुँचकर तीर वाली कुंजियों से काम किया जा सकता है। बॉक्स के नीचे जो दिखता है वही असली नतीजा है, और उसे वही कोड बनाता है जो आगे चलकर फ़ाइल लिखेगा।
3. **काला, पिक्सेलेट या ब्लर चुनिए, और हो सके तो काला ही चुनिए।** काला भरने पर कुछ भी नहीं बचता। पिक्सेलेट और ब्लर पिक्सेल की जगह उन्हीं के औसत रख देते हैं, जो पीछे खड़े किसी चेहरे के लिए काफ़ी है और ऐसी किसी चीज़ के लिए काफ़ी नहीं जो अक्षरों की तरह पढ़ी जा सके।
4. **„छिपाकर सेव कीजिए“ दबाइए, फिर फ़ाइल जाँचिए।** उसके बाद जो इमेज दिखती है वह तैयार फ़ाइल ही है, दोबारा खोलकर दिखाई गई। उसे किसी एडिटर में खोलकर लेयर ढूँढिए, या ढके हुए अक्षरों को चुनकर देखिए। वहाँ एक सपाट इमेज भर है, और जो हिस्सा आपने ढका था वह फ़ाइल लिखे जाने से पहले ही ऊपर से लिख दिया गया था।
## विस्तार से
[इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाए](https://abox.tools/hi/guides/redact-an-image/): ज़्यादातर प्रोग्राम जो काले डिब्बे बनाते हैं वे इमेज के ऊपर पड़े रहते हैं और हटाए जा सकते हैं। असल में छिपाने और सिर्फ़ ढक देने में फ़र्क क्या है, पिक्सेलेट किए अक्षर वापस क्यों पढ़े जा सकते हैं, और भेजने से पहले फ़ाइल कैसे जाँचें।
## बॉक्स में और भी टूल
- [EXIF व्यूअर और रिमूवर](https://abox.tools/hi/exif-editor/): देखिए कि फ़ोटो आपके बारे में क्या-क्या बता रही है। फिर उसे निकाल बाहर कीजिए।
- [DICOM व्यूअर](https://abox.tools/hi/dicom-viewer/): CT, MRI, एक्स-रे और अल्ट्रासाउंड, विंडो, हेडर और नाप के साथ।
- [तस्वीर से ICO](https://abox.tools/hi/image-to-ico/): एक तस्वीर भीतर। ब्राउज़र, Windows या Mac जो भी साइज़ माँगे, वह सब बाहर।
- [तस्वीर से data URI](https://abox.tools/hi/image-to-data-uri/): पूरी तस्वीर, टेक्स्ट की एक पंक्ति में। सीधे CSS या HTML में चिपका दीजिए।
## सवाल
### क्या मेरी इमेज कहीं अपलोड होती है?
नहीं। फ़ाइल को खोलने, उस पर काम करने और दोबारा लिखने का सारा काम आपका अपना ब्राउज़र आपके अपने डिवाइस पर करता है। इस टूल में नेटवर्क का कोई काम है ही नहीं, यह न कभी कुछ मँगाता है और न भेजता है, और पेज की `Content-Security-Policy` में हर वह पता लिखा है जिससे यह बात कर सकता है, जिनमें से एक भी हमारा नहीं है। पेज एक बार खोल लीजिए, फिर इंटरनेट बंद कर दीजिए, यह वैसे ही चलता रहेगा।
### क्या ढका हुआ हिस्सा सचमुच फ़ाइल से चला जाता है?
हाँ, और यही इस टूल के होने की वजह है। इमेज पिक्सेल के एक बफ़र में खुलती है, बॉक्स अपने अंदर के पिक्सेल पर ऊपर से लिख देते हैं, और फिर वही बफ़र नई फ़ाइल के रूप में लिखा जाता है। एनकोडर को कुछ मिलने से पहले ही पुराने मान मेमोरी से जा चुके होते हैं, इसलिए न कोई लेयर छिपाने को बचती है, न कोई एनोटेशन हटाने को, न कोई हिस्ट्री पलटने को। जाँच वैसे ही कीजिए जैसे आप किसी और के दावे की करते। नतीजे को किसी इमेज एडिटर में खोलकर दूसरी लेयर ढूँढिए, या जो अक्षर आपने ढके थे उन्हें चुनकर देखिए।
### क्या पिक्सेलेट या ब्लर किया हुआ हिस्सा वापस पढ़ा जा सकता है?
कभी-कभी हाँ, और चुनने से पहले पढ़ने लायक बात बस यही है। काला भरने पर नीचे की हर चीज़ एक ही रंग में बदल जाती है, इसलिए कुछ नहीं बचता: न कोई किनारा, न कोई औसत, न यह कि कितने अक्षर थे। पिक्सेलेट हर ब्लॉक की जगह उस ब्लॉक का औसत रंग रख देता है, और औसतों की यह जाली अब भी इस बात की एक नाप है कि नीचे क्या था। आम फ़ॉन्ट में लिखे और अंदाज़े लायक आकार वाले अक्षरों के लिए इतनी सी नाप से ही मूल पाठ वापस निकाला जा चुका है, और यह छपे हुए शोध में दर्ज है: संभावित शब्द उसी तरह बनाइए, उसी तरह पिक्सेलेट कीजिए और औसत मिलाइए। ब्लर एक कनवॉल्यूशन है, और कनवॉल्यूशन सैद्धांतिक रूप से उलटा किया जा सकता है। तो पीछे खड़े किसी चेहरे को पिक्सेलेट कर दीजिए, और जो कुछ अक्षरों की तरह पढ़ा जा सकता है उसे काला कर दीजिए।
### किसी डॉक्युमेंट प्रोग्राम में काला आयत बना देना अलग बात क्यों है?
क्योंकि ज़्यादातर प्रोग्राम उस आयत को इमेज के अंदर नहीं, इमेज के बगल में सेव करते हैं। PDF रीडर, स्लाइड, वर्ड प्रोसेसर या लेयर वाले इमेज एडिटर में बनाई गई आकृति एक ऑब्जेक्ट है जिसकी अपनी जगह है और जो पेज के ऊपर रखी है। उसे खिसकाइए, मिटाइए, या फ़ाइल किसी दूसरे प्रोग्राम में खोलिए, नीचे जो था वही वापस आ जाता है। अखबारों, अदालतों और मंत्रालयों तक ने इसी तरह दस्तावेज़ सार्वजनिक कर दिए हैं। यहाँ वह आयत सेव होता ही नहीं। जो बचता है वह पिक्सेल के मान हैं, पुराने मानों के ऊपर लिखे हुए।
### क्या EXIF और GPS डेटा भी हट जाता है?
हाँ, साथ में। यहाँ सेव करने का मतलब है पिक्सेल से भरे एक कैनवस को लिखना, और कैनवस कोई टैग नहीं रखता। इसलिए जगह, कैमरे का मॉडल, तारीख-समय और अंदर बैठा थंबनेल नई फ़ाइल में लिखे ही नहीं जाते। थंबनेल यहाँ खास तौर पर मायने रखता है: यह इमेज की एक छोटी दूसरी कॉपी है, फ़ोटो में बदलाव के बाद हमेशा दोबारा नहीं बनती, और छिपाई गई फ़ोटो अगर बिना छिपाया थंबनेल लेकर निकल जाए तो सारी मेहनत बेकार है। अगर आप चाहते हैं कि मेटाडेटा हटे पर इमेज दोबारा एनकोड न हो, तो [EXIF व्यूअर और रिमूवर](https://abox.tools/hi/exif-editor/) इमेज के बजाय कंटेनर दोबारा लिखता है।
### यह कौन से फ़ॉर्मैट पढ़ और लिख सकता है?
जो कुछ आपका ब्राउज़र खोल सकता है वह सब पढ़ता है, यानी व्यवहार में JPEG, PNG, WebP, GIF, BMP और आजकल के ज़्यादातर ब्राउज़र में AVIF भी। लिखता है JPEG, PNG और WebP, क्योंकि ब्राउज़र के साथ यही एनकोडर आते हैं। „ऑटो“ पर JPEG वापस JPEG ही आता है और बाकी सब PNG, जिससे फ़ोटो का साइज़ फ़ोटो जितना रहता है और स्क्रीनशॉट पर खुला छोड़ा गया लिखा हुआ साफ़ रहता है। छिपाने पर इस चुनाव से कोई फ़र्क नहीं पड़ता: एनकोडर जब उन्हें देखता है, पिक्सेल तब तक जा चुके होते हैं।
### क्या माउस के बिना भी यह किया जा सकता है?
हाँ। „बीच में एक बॉक्स जोड़ें“ से एक बॉक्स इमेज पर आ जाता है, Tab से एक बॉक्स से दूसरे पर जाया जाता है, तीर वाली कुंजियाँ चुने हुए बॉक्स को हिलाती हैं और Alt के साथ तीर उसका आकार बदलते हैं। Shift दबाए रखने पर हर कदम दस पिक्सेल का होता है और Delete उसे हटा देता है। हर बॉक्स के लिए इमेज के नीचे एक पंक्ति भी रहती है जिसमें उसका आकार, जगह, वह क्या करता है और हटाने का बटन होता है, इसलिए पूरा टूल कीबोर्ड से चलता है और स्क्रीन रीडर से पढ़ा जा सकता है।
### क्या यह फ़ोन पर चलता है?
हाँ। बॉक्स खींचना, हिलाना और आकार बदलना माउस इवेंट के बजाय पॉइंटर इवेंट से होता है, इसलिए उँगली से भी वैसे ही चलता है, और टच स्क्रीन पर हैंडल बड़े बनाए जाते हैं। स्क्रीन पर दिखती इमेज काम के दौरान स्क्रीन के आकार में दोबारा बनती रहती है, जबकि फ़ाइल हमेशा अपने पूरे रेज़लूशन में तभी छिपाई जाती है जब आप बटन दबाते हैं।
### क्या यह मुफ़्त है, और क्या अकाउंट चाहिए?
मुफ़्त है, और न अकाउंट है, न साइन-इन, न ट्रायल, न वॉटरमार्क। इमेज के आकार की भी कोई सीमा नहीं, क्योंकि इसके लिए कोई सर्वर पैसे नहीं दे रहा: काम आपके अपने डिवाइस पर होता है। साइट विज्ञापन से चलती है, और विज्ञापनों को आपकी इमेज के बारे में कुछ नहीं दिया जाता।
## प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
- **आपकी इमेज के जाने के लिए कोई जगह ही नहीं है।** यह पेज जिन पतों से बात कर सकता है, वे सब Content-Security-Policy में लिखे हैं, और उनमें से एक भी हमारा नहीं है। यहाँ ऐसा कोई ठिकाना है ही नहीं जहाँ आपकी फ़ाइलें जमा हो सकें, और कोड में ऐसा कुछ भी नहीं जो उन्हें वहाँ भेजे, अगर होता भी।
- **ढके हुए पिक्सेल यहीं मिटते हैं, बाहर जाते हुए रास्ते में नहीं।** इमेज पिक्सेल के एक बफ़र में खुलती है, बॉक्स उसी बफ़र में लिख दिए जाते हैं, और बफ़र एनकोडर को दे दिया जाता है। इस पेज में इमेज का ऐसा कोई रूप है ही नहीं जिसमें बॉक्स अलग लेयर हों, क्योंकि वैसा रूप कभी बनता ही नहीं। `src/redact.js` देखिए।
- **यहाँ कुछ भी कहीं से नहीं मँगाया जाता।** `src/` में कहीं भी न `fetch` है, न `XMLHttpRequest`, न `sendBeacon`। सारा काम `getImageData`, बाइट पर घूमने वाले तीन लूप और `canvas.toBlob` है, और यह सब आपके ब्राउज़र में पहले से मौजूद है।
- **बॉक्स की खबर कहीं नहीं जाती।** आपने कहाँ खींचा, कितने बॉक्स बनाए, कितने बड़े थे और कौन सा तरीका चुना, यह सब इस पेज की मेमोरी में रहता है और पेज बंद करते ही चला जाता है। इस रिपॉज़िटरी में ऐसा कोई एनालिटिक्स इवेंट नहीं है जो इसमें से कुछ भी ले जाए, और डाउनलोड के बाद जो एक सवाल आता है वह बस एक थम्स अप या डाउन और टूल का नाम भेजता है।
- **यह ऑफ़लाइन भी चलता है।** नेटवर्क बंद कर दीजिए, टूल वैसा ही रहेगा, क्योंकि इसमें नेटवर्क वाला कदम कभी था ही नहीं। यही सबसे आसान सबूत है, और पासपोर्ट पर काम शुरू करने से पहले एक बार करके देख लेने लायक भी।
**खुद जाँच लीजिए।** ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा `dist` ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं: https://github.com/A-Box-of-Tools/website
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए `config/site.toml`, पिक्सेल पर ऊपर से लिखने वाले तीनों फ़ंक्शन के लिए `src/redact.js`, और स्क्रीन पर जो दिख रहा है वह उन्हीं तीन फ़ंक्शन से क्यों बनता है, इसके लिए `src/preview.js`।
इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाए
इमेज चुनिए। स्क्रीनशॉट, स्कैन या फ़ोटो, जो भी आपका ब्राउज़र खोल सकता है। वह सीधे आपकी डिस्क से पढ़ी जाती है और इस दौरान कुछ भी कहीं नहीं जाता।
जो नहीं दिखना चाहिए उस पर बॉक्स खींचिए। फिर अगली चीज़ पर एक और। बॉक्स को खींचकर हिलाया जा सकता है, उसके हैंडल से आकार बदला जा सकता है, या Tab से उस तक पहुँचकर तीर वाली कुंजियों से काम किया जा सकता है। बॉक्स के नीचे जो दिखता है वही असली नतीजा है, और उसे वही कोड बनाता है जो आगे चलकर फ़ाइल लिखेगा।
काला, पिक्सेलेट या ब्लर चुनिए, और हो सके तो काला ही चुनिए। काला भरने पर कुछ भी नहीं बचता। पिक्सेलेट और ब्लर पिक्सेल की जगह उन्हीं के औसत रख देते हैं, जो पीछे खड़े किसी चेहरे के लिए काफ़ी है और ऐसी किसी चीज़ के लिए काफ़ी नहीं जो अक्षरों की तरह पढ़ी जा सके।
„छिपाकर सेव कीजिए“ दबाइए, फिर फ़ाइल जाँचिए। उसके बाद जो इमेज दिखती है वह तैयार फ़ाइल ही है, दोबारा खोलकर दिखाई गई। उसे किसी एडिटर में खोलकर लेयर ढूँढिए, या ढके हुए अक्षरों को चुनकर देखिए। वहाँ एक सपाट इमेज भर है, और जो हिस्सा आपने ढका था वह फ़ाइल लिखे जाने से पहले ही ऊपर से लिख दिया गया था।
विस्तार से
इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाएज़्यादातर प्रोग्राम जो काले डिब्बे बनाते हैं वे इमेज के ऊपर पड़े रहते हैं और हटाए जा सकते हैं। असल में छिपाने और सिर्फ़ ढक देने में फ़र्क क्या है, पिक्सेलेट किए अक्षर वापस क्यों पढ़े जा सकते हैं, और भेजने से पहले फ़ाइल कैसे जाँचें।
नहीं। फ़ाइल को खोलने, उस पर काम करने और दोबारा लिखने का सारा काम आपका अपना ब्राउज़र आपके अपने डिवाइस पर करता है। इस टूल में नेटवर्क का कोई काम है ही नहीं, यह न कभी कुछ मँगाता है और न भेजता है, और पेज की Content-Security-Policy में हर वह पता लिखा है जिससे यह बात कर सकता है, जिनमें से एक भी हमारा नहीं है। पेज एक बार खोल लीजिए, फिर इंटरनेट बंद कर दीजिए, यह वैसे ही चलता रहेगा।
क्या ढका हुआ हिस्सा सचमुच फ़ाइल से चला जाता है?
हाँ, और यही इस टूल के होने की वजह है। इमेज पिक्सेल के एक बफ़र में खुलती है, बॉक्स अपने अंदर के पिक्सेल पर ऊपर से लिख देते हैं, और फिर वही बफ़र नई फ़ाइल के रूप में लिखा जाता है। एनकोडर को कुछ मिलने से पहले ही पुराने मान मेमोरी से जा चुके होते हैं, इसलिए न कोई लेयर छिपाने को बचती है, न कोई एनोटेशन हटाने को, न कोई हिस्ट्री पलटने को। जाँच वैसे ही कीजिए जैसे आप किसी और के दावे की करते। नतीजे को किसी इमेज एडिटर में खोलकर दूसरी लेयर ढूँढिए, या जो अक्षर आपने ढके थे उन्हें चुनकर देखिए।
क्या पिक्सेलेट या ब्लर किया हुआ हिस्सा वापस पढ़ा जा सकता है?
कभी-कभी हाँ, और चुनने से पहले पढ़ने लायक बात बस यही है। काला भरने पर नीचे की हर चीज़ एक ही रंग में बदल जाती है, इसलिए कुछ नहीं बचता: न कोई किनारा, न कोई औसत, न यह कि कितने अक्षर थे। पिक्सेलेट हर ब्लॉक की जगह उस ब्लॉक का औसत रंग रख देता है, और औसतों की यह जाली अब भी इस बात की एक नाप है कि नीचे क्या था। आम फ़ॉन्ट में लिखे और अंदाज़े लायक आकार वाले अक्षरों के लिए इतनी सी नाप से ही मूल पाठ वापस निकाला जा चुका है, और यह छपे हुए शोध में दर्ज है: संभावित शब्द उसी तरह बनाइए, उसी तरह पिक्सेलेट कीजिए और औसत मिलाइए। ब्लर एक कनवॉल्यूशन है, और कनवॉल्यूशन सैद्धांतिक रूप से उलटा किया जा सकता है। तो पीछे खड़े किसी चेहरे को पिक्सेलेट कर दीजिए, और जो कुछ अक्षरों की तरह पढ़ा जा सकता है उसे काला कर दीजिए।
किसी डॉक्युमेंट प्रोग्राम में काला आयत बना देना अलग बात क्यों है?
क्योंकि ज़्यादातर प्रोग्राम उस आयत को इमेज के अंदर नहीं, इमेज के बगल में सेव करते हैं। PDF रीडर, स्लाइड, वर्ड प्रोसेसर या लेयर वाले इमेज एडिटर में बनाई गई आकृति एक ऑब्जेक्ट है जिसकी अपनी जगह है और जो पेज के ऊपर रखी है। उसे खिसकाइए, मिटाइए, या फ़ाइल किसी दूसरे प्रोग्राम में खोलिए, नीचे जो था वही वापस आ जाता है। अखबारों, अदालतों और मंत्रालयों तक ने इसी तरह दस्तावेज़ सार्वजनिक कर दिए हैं। यहाँ वह आयत सेव होता ही नहीं। जो बचता है वह पिक्सेल के मान हैं, पुराने मानों के ऊपर लिखे हुए।
क्या EXIF और GPS डेटा भी हट जाता है?
हाँ, साथ में। यहाँ सेव करने का मतलब है पिक्सेल से भरे एक कैनवस को लिखना, और कैनवस कोई टैग नहीं रखता। इसलिए जगह, कैमरे का मॉडल, तारीख-समय और अंदर बैठा थंबनेल नई फ़ाइल में लिखे ही नहीं जाते। थंबनेल यहाँ खास तौर पर मायने रखता है: यह इमेज की एक छोटी दूसरी कॉपी है, फ़ोटो में बदलाव के बाद हमेशा दोबारा नहीं बनती, और छिपाई गई फ़ोटो अगर बिना छिपाया थंबनेल लेकर निकल जाए तो सारी मेहनत बेकार है। अगर आप चाहते हैं कि मेटाडेटा हटे पर इमेज दोबारा एनकोड न हो, तो EXIF व्यूअर और रिमूवर इमेज के बजाय कंटेनर दोबारा लिखता है।
यह कौन से फ़ॉर्मैट पढ़ और लिख सकता है?
जो कुछ आपका ब्राउज़र खोल सकता है वह सब पढ़ता है, यानी व्यवहार में JPEG, PNG, WebP, GIF, BMP और आजकल के ज़्यादातर ब्राउज़र में AVIF भी। लिखता है JPEG, PNG और WebP, क्योंकि ब्राउज़र के साथ यही एनकोडर आते हैं। „ऑटो“ पर JPEG वापस JPEG ही आता है और बाकी सब PNG, जिससे फ़ोटो का साइज़ फ़ोटो जितना रहता है और स्क्रीनशॉट पर खुला छोड़ा गया लिखा हुआ साफ़ रहता है। छिपाने पर इस चुनाव से कोई फ़र्क नहीं पड़ता: एनकोडर जब उन्हें देखता है, पिक्सेल तब तक जा चुके होते हैं।
क्या माउस के बिना भी यह किया जा सकता है?
हाँ। „बीच में एक बॉक्स जोड़ें“ से एक बॉक्स इमेज पर आ जाता है, Tab से एक बॉक्स से दूसरे पर जाया जाता है, तीर वाली कुंजियाँ चुने हुए बॉक्स को हिलाती हैं और Alt के साथ तीर उसका आकार बदलते हैं। Shift दबाए रखने पर हर कदम दस पिक्सेल का होता है और Delete उसे हटा देता है। हर बॉक्स के लिए इमेज के नीचे एक पंक्ति भी रहती है जिसमें उसका आकार, जगह, वह क्या करता है और हटाने का बटन होता है, इसलिए पूरा टूल कीबोर्ड से चलता है और स्क्रीन रीडर से पढ़ा जा सकता है।
क्या यह फ़ोन पर चलता है?
हाँ। बॉक्स खींचना, हिलाना और आकार बदलना माउस इवेंट के बजाय पॉइंटर इवेंट से होता है, इसलिए उँगली से भी वैसे ही चलता है, और टच स्क्रीन पर हैंडल बड़े बनाए जाते हैं। स्क्रीन पर दिखती इमेज काम के दौरान स्क्रीन के आकार में दोबारा बनती रहती है, जबकि फ़ाइल हमेशा अपने पूरे रेज़लूशन में तभी छिपाई जाती है जब आप बटन दबाते हैं।
क्या यह मुफ़्त है, और क्या अकाउंट चाहिए?
मुफ़्त है, और न अकाउंट है, न साइन-इन, न ट्रायल, न वॉटरमार्क। इमेज के आकार की भी कोई सीमा नहीं, क्योंकि इसके लिए कोई सर्वर पैसे नहीं दे रहा: काम आपके अपने डिवाइस पर होता है। साइट विज्ञापन से चलती है, और विज्ञापनों को आपकी इमेज के बारे में कुछ नहीं दिया जाता।