इस पेज का कोड चालू नहीं हुआ।

index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए एक इमेज चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:

powershell -ExecutionPolicy Bypass -File serve.ps1

फिर http://localhost:8080/ खोलिए।

इमेज में जानकारी छिपाइए — ब्लैक आउट, पिक्सेलेट या ब्लर

जो हिस्सा आप ढकते हैं वह फ़ाइल से मिट जाता है, फ़ाइल के अंदर छिपा नहीं रहता।

भाषा: हिन्दी
कोड देखें
यह टूल इमेज कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।

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

लाइव जाँच: जाँच जारी…

ऑफ़लाइन: जाँच जारी…

हमारी बात मानने की ज़रूरत नहीं। DevTools खोलिए, नेटवर्क टैब देखते रहिए और एक स्क्रीनशॉट पर काम कीजिए। किसी भी रिक्वेस्ट में न इमेज जाती है, न थंबनेल, न फ़ाइल का नाम, और न यह कि आपने बॉक्स कहाँ रखा था। या फिर इंटरनेट बंद कर दीजिए और तब भी कीजिए।

1 इमेज चुनिए

बैंक स्टेटमेंट का स्क्रीनशॉट, पासपोर्ट की फ़ोटो, पते वाला कोई बिल। जिन इमेज को छिपाने की ज़रूरत पड़ती है, वही वे इमेज हैं जिन्हें इसी काम के लिए किसी अनजान सर्वर पर नहीं चढ़ाना चाहिए। इसे ब्राउज़र सीधे आपकी डिस्क से पढ़ता है।

2 जो नहीं दिखना चाहिए उसे ढकिए

इमेज पर खींचिए और एक बॉक्स बन जाएगा। बॉक्स को खींचकर हिलाइए, उसके हैंडल से आकार बदलिए, या Tab से उस तक पहुँचकर तीर वाली कुंजियाँ चलाइए। Alt के साथ तीर आकार बदलते हैं और Delete उसे हटा देता है। हर बॉक्स के नीचे जो दिखता है वही असली नतीजा है: प्रीव्यू वही कोड बनाता है जो फ़ाइल लिखता है, बस स्क्रीन के आकार में।

काला कर दीजिए किनारे से किनारे तक एक ही रंग। वहाँ जो था उसमें से कुछ नहीं बचता: न कोई किनारा, न कोई औसत, न यह कि कितने अक्षर थे। तीनों में बात यहीं खत्म होती है, और जो कुछ अक्षरों की तरह पढ़ा जा सकता है उसके लिए यही चुनिए।

पिक्सेलेट कीजिए हर ब्लॉक उस ब्लॉक का औसत रंग बन जाता है। पुराने पिक्सेल फ़ाइल से सचमुच चले जाते हैं, पर औसतों की जाली अब भी इस बात की नाप है कि नीचे क्या था, और आम फ़ॉन्ट के अक्षरों के लिए इतनी सी नाप से मूल पाठ वापस निकाला जा चुका है। भीड़ में किसी चेहरे के लिए ठीक है, खाता नंबर के लिए नहीं।

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

इमेज चुनिए, वह यहीं दिखने लगेगी और उस पर खींचा जा सकेगा।

3 छिपाई हुई कॉपी सेव कीजिए

इमेज पिक्सेल में खोली जाती है, बॉक्स उन्हीं पिक्सेल के ऊपर लिख दिए जाते हैं, और नतीजा एक नई फ़ाइल के रूप में लिखा जाता है। न कोई लेयर, न कोई एनोटेशन, और न यह लिखा रहता है कि बॉक्स कहाँ थे, क्योंकि ढके हुए पिक्सेल एनकोडर को कुछ मिलने से पहले ही खत्म हो चुके होते हैं।

फ़ॉर्मैट छिपाने पर इससे कोई फ़र्क नहीं पड़ता: एनकोडर जब पिक्सेल देखता है, वे तब तक जा चुके होते हैं। इससे बस यह तय होता है कि बाकी इमेज कितनी जगह लेगी और कैसे दबाई जाएगी।

Markdown के रूप में देखें

इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाए

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

विस्तार से

इमेज को ऐसे कैसे छिपाएँ कि ढका हुआ हिस्सा सचमुच चला जाए ज़्यादातर प्रोग्राम जो काले डिब्बे बनाते हैं वे इमेज के ऊपर पड़े रहते हैं और हटाए जा सकते हैं। असल में छिपाने और सिर्फ़ ढक देने में फ़र्क क्या है, पिक्सेलेट किए अक्षर वापस क्यों पढ़े जा सकते हैं, और भेजने से पहले फ़ाइल कैसे जाँचें।

सवाल

क्या मेरी इमेज कहीं अपलोड होती है?

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

क्या ढका हुआ हिस्सा सचमुच फ़ाइल से चला जाता है?

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

क्या पिक्सेलेट या ब्लर किया हुआ हिस्सा वापस पढ़ा जा सकता है?

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

किसी डॉक्युमेंट प्रोग्राम में काला आयत बना देना अलग बात क्यों है?

क्योंकि ज़्यादातर प्रोग्राम उस आयत को इमेज के अंदर नहीं, इमेज के बगल में सेव करते हैं। PDF रीडर, स्लाइड, वर्ड प्रोसेसर या लेयर वाले इमेज एडिटर में बनाई गई आकृति एक ऑब्जेक्ट है जिसकी अपनी जगह है और जो पेज के ऊपर रखी है। उसे खिसकाइए, मिटाइए, या फ़ाइल किसी दूसरे प्रोग्राम में खोलिए, नीचे जो था वही वापस आ जाता है। अखबारों, अदालतों और मंत्रालयों तक ने इसी तरह दस्तावेज़ सार्वजनिक कर दिए हैं। यहाँ वह आयत सेव होता ही नहीं। जो बचता है वह पिक्सेल के मान हैं, पुराने मानों के ऊपर लिखे हुए।

क्या EXIF और GPS डेटा भी हट जाता है?

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

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

जो कुछ आपका ब्राउज़र खोल सकता है वह सब पढ़ता है, यानी व्यवहार में JPEG, PNG, WebP, GIF, BMP और आजकल के ज़्यादातर ब्राउज़र में AVIF भी। लिखता है JPEG, PNG और WebP, क्योंकि ब्राउज़र के साथ यही एनकोडर आते हैं। „ऑटो“ पर JPEG वापस JPEG ही आता है और बाकी सब PNG, जिससे फ़ोटो का साइज़ फ़ोटो जितना रहता है और स्क्रीनशॉट पर खुला छोड़ा गया लिखा हुआ साफ़ रहता है। छिपाने पर इस चुनाव से कोई फ़र्क नहीं पड़ता: एनकोडर जब उन्हें देखता है, पिक्सेल तब तक जा चुके होते हैं।

क्या माउस के बिना भी यह किया जा सकता है?

हाँ। „बीच में एक बॉक्स जोड़ें“ से एक बॉक्स इमेज पर आ जाता है, Tab से एक बॉक्स से दूसरे पर जाया जाता है, तीर वाली कुंजियाँ चुने हुए बॉक्स को हिलाती हैं और Alt के साथ तीर उसका आकार बदलते हैं। Shift दबाए रखने पर हर कदम दस पिक्सेल का होता है और Delete उसे हटा देता है। हर बॉक्स के लिए इमेज के नीचे एक पंक्ति भी रहती है जिसमें उसका आकार, जगह, वह क्या करता है और हटाने का बटन होता है, इसलिए पूरा टूल कीबोर्ड से चलता है और स्क्रीन रीडर से पढ़ा जा सकता है।

क्या यह फ़ोन पर चलता है?

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

क्या यह मुफ़्त है, और क्या अकाउंट चाहिए?

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