यह पेज हिन्दी में दिखाया जा रहा है, क्योंकि आपका ब्राउज़र यही भाषा माँगता है।
इस पेज का कोड चालू नहीं हुआ।
index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए उसमें क्या जाएगा चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:
ऊपर फ़ाइल चुनते ही यह खुल जाएगा।तैयार — इंटरनेट काट दीजिए, यह फिर भी चलता रहेगा।इस ब्राउज़र में उपलब्ध नहीं (बाकी सब फिर भी चलता है)।ऑफ़लाइन कैश के लिए https:// या localhost चाहिए।यहाँ कैश नहीं हो सकता, पर अपलोड फिर भी कुछ नहीं होता।आपकी फ़ाइलें कहीं नहीं गईं। {total} फ़ाइलें लोड हुईं, और वे सब इसी साइट की अपनी हैं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। यह देखने लायक बात है। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को न कोई फ़ाइल मिली, न उसका एक बाइट।कुछ गड़बड़ हो गई: {detail}। दोबारा शुरू करने के लिए पेज फिर से लोड कीजिए।{count} फ़ाइल पढ़ी जा रही है…{count} फ़ाइलें पढ़ी जा रही हैं…कोई उदाहरण आज़माइएउदाहरण बनाया जा रहा है…यह ब्राउज़र उदाहरण नहीं बना सका। इसके बजाय कोई फ़ाइल चुनिए।
QR और बारकोड — QR कोड या बारकोड बनाइए, ऑफ़लाइन
टाइप कीजिए, और वह कोड बन जाता है। बनाने के लिए कुछ भी कहीं नहीं भेजा जाता।
● यह टूल कोड और उनमें लिखा टेक्स्ट कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।
QR कोड किसी लाइन पर की गई गणित भर है। न भेजने को कोई फ़ाइल, न पूछने को कोई सेवा। मोड चुनना, वर्ज़न तय करना, Reed-Solomon एरर करेक्शन, मास्क, बारकोड की धारियाँ और उसके नीचे का चेक डिजिट, हर कदम इसी पेज की करीब एक हज़ार पंक्ति JavaScript में होता है, जिसे आप पढ़ सकते हैं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, और यह बात यहाँ ज़्यादातर पेजों से कहीं ज़्यादा मायने रखती है, क्योंकि जो चीज़ एनकोड की जा रही है वह अक्सर Wi-Fi का पासवर्ड होती है।
✗ कोई अपलोड नहीं
✗ कोई खाता नहीं
✗ कोई मियाद नहीं
✓ ऑफ़लाइन चलता है
✓ ओपन सोर्स
लाइव जाँच:जाँच जारी…
ऑफ़लाइन:जाँच जारी…
हमारी बात पर भरोसा मत कीजिए। DevTools खोलिए, Network टैब पर नज़र रखिए, और Wi-Fi वाले फ़ॉर्म में कोई पासवर्ड टाइप कीजिए। एक भी रिक्वेस्ट उसका एक अक्षर तक नहीं ढोती। या फिर इंटरनेट काट दीजिए और तब भी कोड बनाकर देखिए।
प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
आप जो टाइप करते हैं, उसके जाने के लिए कोई जगह ही नहीं है। यह पेज जिन-जिन पतों से संपर्क कर सकता है, Content-Security-Policy उन सबके नाम गिना देती है, और उनमें से एक भी इस साइट का नहीं है। यहाँ ऐसा कोई एंडपॉइंट है ही नहीं जहाँ Wi-Fi का पासवर्ड जमा हो सके, और होता भी तो कोड में ऐसा कुछ नहीं है जो उसे भेजता।
यहाँ कुछ भी कहीं से कुछ नहीं मँगाता।src/ में कहीं भी न fetch है, न XMLHttpRequest, न sendBeacon। कोड आपकी लाइन से गणित के ज़रिए बनता है और SVG के रूप में खींचा जाता है, इसी पेज में, आपकी अपनी मशीन पर।
कोड हमारी तरफ़ इशारा नहीं करता। आप जो टाइप करते हैं, कोड में वही होता है। कई मुफ़्त जनरेटर आपको ऐसा कोड थमाते हैं जिसमें उनकी अपनी साइट का लिंक होता है, और वह आगे आपकी साइट पर भेज देता है। यानी हर स्कैन उनके यहाँ गिना जाता है, और जिस दिन वे डोमेन का पैसा देना बंद कर दें या तय कर लें कि मुफ़्त वाली मियाद खत्म हुई, कोड काम करना बंद कर देता है। यहाँ कुछ भी न छोटा करता है, न आगे भेजता है, न ट्रैक करता है। पेज पर दिखती लाइन ही तस्वीर के भीतर की लाइन है।
PNG उसी SVG से बनती है जो स्क्रीन पर है। डाउनलोड कोई दूसरी रेंडरिंग नहीं है जो प्रीव्यू से अलग निकल आए। वही मार्कअप ब्राउज़र को सौंपा जाता है और कैनवस पर रंग दिया जाता है। यह किसी से संपर्क किए बिना हो भी इसीलिए जाता है, क्योंकि न भीतर लाने को कोई फ़ॉन्ट है, न लोड करने को कोई तस्वीर।
Google क्या लोड करता है, और उसे क्या नहीं दिया जाता। विज्ञापन और माप वाली स्क्रिप्ट Google से आती हैं, और दान का बटन Buy Me a Coffee से। इनमें से किसी को भी आपका टाइप किया कुछ नहीं सौंपा जाता। किसी लाइन को कोड में बदलने वाली हर पंक्ति इसी ऑरिजिन से आती है और रिपॉज़िटरी में मौजूद है।
यह ऑफ़लाइन भी चलता है। नेटवर्क काट दीजिए, टूल जस का तस काम करता रहेगा, क्योंकि इसमें नेटवर्क वाला कोई कदम कभी था ही नहीं। सबसे आसान सबूत यही है।
खुद जाँच लीजिए। ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा dist ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं:
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए config/site.toml, खुद QR कोड के लिए src/qr-encode.js और src/qr.js, जिनमें से एक में मोड, वर्ज़न और ब्लॉक हैं और दूसरे में पैटर्न, मास्क तथा फ़ॉर्मैट बिट। एरर करेक्शन के लिए src/gf256.js, और धारियों वाले कोडों के लिए src/barcode.js।
अगर आपके दफ़्तर का सुरक्षा सॉफ़्टवेयर अपलोड की चेतावनी दे। वह उस पल पर नज़र रखता है जब ब्राउज़र में फ़ाइल चुनी जाती है, और यह नहीं जान सकता कि पन्ना उसे भेजने वाला है या नहीं — इसलिए चुनने पर ही चेतावनी देता है। यहाँ से कुछ नहीं भेजा जाता: ब्राउज़र के डेवलपर टूल खोलिए, Network पर जाइए, और एक फ़ाइल चुनिए। उसे ले जाने वाला कोई अनुरोध नहीं है, और पन्ने की अपनी स्थानीय झलक के अलावा कोई अनुरोध ही नहीं। यही जाँच आपकी IT टीम आधे मिनट में कर सकती है।
1 तय कीजिए कि कैसा कोड चाहिए
QR कोड कुछ भी ढो लेता है और फ़ोन का कैमरा उसी को ढूँढ़ता है। बारकोड एक संख्या ढोता है, और आपको कौन-सा चाहिए यह आम तौर पर वही दुकान, गोदाम या शिपिंग कंपनी पहले ही तय कर चुकी होती है जो उसे माँग रही है।
2 बताइए कि उसमें क्या जाएगा
वह ठीक लाइन जो यह कोड ढोएगा
3 चुनिए कि यह दिखे कैसा
हाशिया कोड का हिस्सा है, उसके चारों ओर की जगह भर नहीं। विनिर्देश चार मॉड्यूल माँगता है, और किनारे तक काटा गया कोड वह है जिसे बहुत सारे स्कैनर देख ही नहीं पाएँगे।
नीचे अक्षर भी छापिए जब स्कैनर काम न करे तो आदमी क्या पढ़े, यही। दुकान वाले कोड पर अंक हाशियों में भी बैठते हैं, और यह जान-बूझकर है: वे उस सफ़ेद जगह की हद बता देते हैं जिसे किसी को काटना नहीं चाहिए।
कोई चेक कैरेक्टर जोड़िए Code 39 आम तौर पर एक नहीं ढोता। कुछ व्यवस्थाएँ इस पर अड़ती हैं; इसे सिर्फ़ तब जोड़िए जब आपकी अड़ती हो, क्योंकि जो रीडर इसकी उम्मीद नहीं कर रहा वह इसे आखिर में जुड़ा एक अतिरिक्त अक्षर पढ़ लेगा।
बैकग्राउंड बिलकुल नहीं पारदर्शी, ऐसी किसी चीज़ पर रखने के लिए जिसका अपना रंग पहले से है। SVG और PNG दोनों उसे बचाए रखती हैं; पीछे आखिर में जो भी बैठे उसका हल्का होना ज़रूरी है, वरना स्कैनर को कोई अंतर मिलेगा ही नहीं।
4 इसे ले जाइए
रखने लायक SVG ही है। वह कोड को पिक्सलों के बजाय निर्देशों के रूप में रखती है, इसलिए किसी भी साइज़ पर बिना नरम पड़े छपती है। यह बात यहाँ ज़्यादातर तस्वीरों से कहीं ज़्यादा मायने रखती है, क्योंकि धुँधला किनारा ठीक वही चीज़ है जिसे स्कैनर सुलझा नहीं पाता।
कोई भी टेक्स्ट: अक्षर, अंक और विराम-चिह्न। जब नंबर आपको ही तय करना हो तो यही आम चुनाव है।कोई भी टेक्स्ट जो आप कीबोर्ड पर टाइप कर सकें12 या 13 अंक। उत्तरी अमेरिका के बाहर बिकने वाले सामान पर लगा बारकोड।12 अंक, या 13 जिनके आखिर में चेक अंक पहले से हो11 या 12 अंक। अमेरिका और कनाडा में इस्तेमाल होने वाला दुकानी बारकोड।11 अंक, या 12 जिनके आखिर में चेक अंक पहले से हो7 या 8 अंक। छोटा कोड, उन पैकेटों के लिए जो EAN-13 के लिए बहुत छोटे हैं।7 अंक, या 8 जिनके आखिर में चेक अंक पहले से हो13 या 14 अंक। दुकानी सामान से भरे शिपिंग कार्टन पर लगा कोड।13 अंक, या 14 जिनके आखिर में चेक अंक पहले से होअंकों की सम संख्या। छोटा, और गोदामों में आम।अंक, और वे सम संख्या में — आगे एक शून्य लगाना इसका आम इलाज हैबड़े अक्षर, अंक, एक स्पेस और - . $ / + %। पुराना, हर चीज़ से पढ़ा जाता है।बड़े अक्षर, अंक, एक स्पेस, और - . $ / + %ऐसा कोई बारकोड नहीं: {id}{name} में रखने को कुछ चाहिए।{name} को {needs} चाहिए।Code 39 में {char} नहीं रखा जा सकता। इसमें सिर्फ़ A-Z, 0-9, एक स्पेस, और - . $ / + % आते हैं। QR कोड में वह सब आ जाता है जो आप टाइप कर सकें।Code 128 में सिर्फ़ ASCII आता है, और {char} ASCII नहीं है। QR कोड में यह आ जाएगा।यह मान्य {name} नहीं है: आखिरी अंक {actual} नहीं, {expected} होना चाहिए। उसे छोड़ दीजिए, वह आपके लिए निकाल लिया जाएगा।चेक अंक {digit} निकालकर जोड़ दिया गया।मॉड्यूलो-43 चेक वर्ण जोड़ दिया गया।छोटे अक्षर बड़े कर दिए गए।{note} छोटे अक्षर बड़े कर दिए गए।स्तर {level} पर QR कोड के लिए बहुत लंबा: {count} {unit}, और सबसे बड़े सिंबल में {most} आते हैंबाइटवर्णइस ब्राउज़र ने SVG बनाने से मना कर दियाइस ब्राउज़र ने PNG लिखने से मना कर दियाटेक्स्ट या लिंककुछ भी। फ़ोन का कैमरा जिसे खोलने की पेशकश करेगा, वह वेब पता ही है।वाई-फ़ाई नेटवर्कस्कैन करने पर नेटवर्क से जुड़ने की पेशकश आती है। एंड्रॉइड इसे अपने आप पढ़ लेता है; iOS 11 से आईफ़ोन का कैमरा भी।संपर्क कार्डएक vCard, जिसे फ़ोन अपनी पता-पुस्तिका में सहेजने की पेशकश करता है।ईमेलपते के साथ नया संदेश खोलता है, और भर दें तो विषय और मूल पाठ के साथ भी।टेक्स्ट संदेशउस नंबर पर नया संदेश खोलता है, टेक्स्ट भेजने को तैयार।फ़ोन नंबरनंबर पर कॉल करने की पेशकश करता है।नक्शे पर एक जगहफ़ोन जो भी नक्शा ऐप इस्तेमाल करता हो, निर्देशांक उसी में खोलता है।टेक्स्ट या वेब पतानेटवर्क का नाम (SSID)पासवर्डसुरक्षानेटवर्क छिपा हुआ हैखुला — कोई पासवर्ड नहींपहला नामकुलनामसंस्थापदनामफ़ोनईमेलवेबसाइटपताकिसेविषयसंदेशफ़ोन नंबरसंदेशअक्षांशदेशांतरWPA / WPA2 / WPA3WEPनुक्कड़ का कैफ़े{label} (वैकल्पिक)टेक्स्टनंबरऐसा कोई प्रकार नहीं: {kind}कम से कम एक जानकारीइसमें रखने को कुछभरिए: {list}।{a}, {b}QR कोड में कोई भी टेक्स्ट आ जाता है, और पिछले दस साल का हर फ़ोन कैमरा उसे बिना ऐप के पढ़ लेता है।{pixels} पिक्सेल वर्गाकार, हर मॉड्यूल {scale} पिक्सेल का।{asked} की जगह {pixels} पिक्सेल वर्गाकार, क्योंकि चौड़ाई में {across} मॉड्यूल हर मॉड्यूल {scale} पिक्सेल पर ही पूरे बँटते हैं। SVG पर यह बंदिश नहीं है — वह किसी भी आकार में छपता है।{width} गुणा {height} पिक्सेल, सबसे पतली पट्टी 1 पिक्सेल की।{width} गुणा {height} पिक्सेल, सबसे पतली पट्टी {scale} पिक्सेल की।संस्करण {version}: {size} मॉड्यूल वर्गाकार, {mode} मोड, स्तर {level} — इसका करीब {recovery}% नष्ट हो जाए तब भी पढ़ा जाता है। मास्क {mask}। इस संस्करण के {capacity} बिट में से {bits} इस्तेमाल हो रहे हैं ({used}%), जो इस संस्करण और स्तर पर कुल {most} {unit} की जगह है।{name}, जिसमें {text} है। चौड़ाई में {modules} मॉड्यूल, जिनमें {left} बाईं ओर का शांत क्षेत्र और {right} दाईं ओर का — यह सफ़ेद जगह स्कैनर को चाहिए, इसलिए यह तस्वीर का हिस्सा है, काटने की चीज़ नहीं।{facts} {note}1 वर्ण।{n} वर्ण।{characters} वर्ण, {bytes} बाइट — इनमें से कुछ ASCII नहीं हैं, और QR कोड जो सहेजता है उसे बाइट में गिनता है।सहेज लिया। इसे बनाने के लिए कुछ भी कहीं नहीं भेजा गया।{detail}। SVG फिर भी डाउनलोड होगा।कॉपी हो गया। जहाँ चाहिए वहाँ चिपका दीजिए।इस ब्राउज़र ने पेज को क्लिपबोर्ड में लिखने नहीं दिया। इसके बजाय डाउनलोड कर लीजिए।आपने जो टाइप किया वह कहीं नहीं गया। {total} फ़ाइलें लोड हुईं। {platform}किसी चीज़ ने {hosts} से संपर्क किया, और यह टूल ऐसा कभी नहीं करता। {platform}विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को उसका एक अक्षर भी नहीं मिला।विज्ञापन, माप और दान वाले बटन के लिए साइट की अपनी स्क्रिप्ट {hosts} होस्ट से आईं। उनमें से किसी को उसका एक अक्षर भी नहीं मिला।
क्या इससे काम बन गया?
क्या गड़बड़ हुई?
शुक्रिया — इससे मदद मिलती है।
सिर्फ़ आपका जवाब भेजा जाता है, वह भी तभी जब आप बटन दबाते हैं। आपकी फ़ाइल, उसका नाम या उससे जुड़ी कोई बात कभी नहीं।
# QR और बारकोड — QR कोड या बारकोड बनाइए, ऑफ़लाइन
टाइप कीजिए, और वह कोड बन जाता है। बनाने के लिए कुछ भी कहीं नहीं भेजा जाता।
> किसी लिंक, Wi-Fi नेटवर्क या कॉन्टैक्ट कार्ड के लिए QR कोड बनाइए, या EAN-13, UPC-A, Code 128 और Code 39 बारकोड। SVG या PNG में डाउनलोड कीजिए। यह सब आपके ब्राउज़र में होता है।
यह पेज एक इंटरैक्टिव टूल है जो पूरी तरह आपके ब्राउज़र में चलता है, https://abox.tools/hi/qr-barcode/ पर — आप इसे जो भी देते हैं, वह कहीं अपलोड नहीं होता। आगे वह सब कुछ है जो यह पेज इस टूल के बारे में शब्दों में कहता है; इसे इस्तेमाल करने के लिए यह पता खोलें।
## यह टूल कोड और उनमें लिखा टेक्स्ट **कभी अपलोड नहीं करता**। यहाँ कोई सर्वर है ही नहीं।
QR कोड किसी लाइन पर की गई गणित भर है। न भेजने को कोई फ़ाइल, न पूछने को कोई सेवा। मोड चुनना, वर्ज़न तय करना, Reed-Solomon एरर करेक्शन, मास्क, बारकोड की धारियाँ और उसके नीचे का चेक डिजिट, हर कदम इसी पेज की करीब एक हज़ार पंक्ति JavaScript में होता है, जिसे आप पढ़ सकते हैं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, और यह बात यहाँ ज़्यादातर पेजों से कहीं ज़्यादा मायने रखती है, क्योंकि जो चीज़ एनकोड की जा रही है वह अक्सर Wi-Fi का पासवर्ड होती है।
- ✗ कोई अपलोड नहीं
- ✗ कोई खाता नहीं
- ✗ कोई मियाद नहीं
- ✓ ऑफ़लाइन चलता है
- ✓ ओपन सोर्स
## बिना कुछ अपलोड किए QR कोड कैसे बनाएँ
1. **तय कीजिए कि कैसा कोड चाहिए।** QR कोड कुछ भी ढो लेता है और फ़ोन का कैमरा उसी को ढूँढ़ता है, इसलिए जब तक किसी ने कुछ और न कहा हो, जवाब वही है। बारकोड एक संख्या ढोता है, और आपको कौन-सा चाहिए यह वह तय करता है जो उसे स्कैन करने वाला है। दुकान को EAN-13 या UPC-A चाहिए, माल के कार्टन को ITF-14, और भीतरी कामों के लिए आम तौर पर Code 128।
2. **बताइए कि उसमें क्या जाएगा।** आम मामला लिंक का होता है, और उसके ऊपर बने खाने वे दूसरे फ़ॉर्मैट बना देते हैं जिन्हें फ़ोन पहचानते हैं। ऐसा Wi-Fi नेटवर्क जो खुद जुड़ने की पेशकश करता है, ऐसा कॉन्टैक्ट कार्ड जो खुद सहेजे जाने की पेशकश करता है, कोई ईमेल, कोई संदेश, कोई फ़ोन नंबर, नक्शे पर कोई जगह। आप जो भी चुनें, तैयार लाइन पेज पर दिख जाती है, और QR कोड कभी उससे ज़्यादा कुछ ढोता ही नहीं।
3. **तय कीजिए कि यह कितनी चोट सह सके।** चारों स्तर उसमें कम या ज़्यादा एरर करेक्शन भरते हैं, और ज़्यादा करेक्शन का मतलब बड़ा और सघन कोड। स्क्रीन के लिए L काफ़ी है, आम कागज़ के लिए M, और उस चीज़ के लिए H जिसे हाथ लगेंगे, जो छोटी छपेगी, या जो धूप में खिड़की पर चिपकेगी। जिस मेन्यू को रोज़ पोंछा जाता है, उस पर लगे कोड के लिए Q या H पैसा वसूल है।
4. **साइज़, हाशिया और रंग तय कीजिए।** हाशिया कोड का ही हिस्सा है। विनिर्देश उसके चारों ओर चार मॉड्यूल की खाली जगह माँगता है, और उसे काट देना ही वह सबसे आम अकेली वजह है जिससे छपा हुआ कोड स्कैन नहीं होता। रंग हल्के पर गहरा रखिए, और असली अंतर के साथ। स्कैनर दोनों का फ़र्क पढ़ता है, इसलिए सफ़ेद पर फीका भूरा नहीं चलेगा, और गहरे पर हल्का तो बहुत सारे रीडरों में सिरे से नाकाम रहता है।
5. **जो फ़ोन आपके पास है, उसी से जाँच लीजिए।** एक हज़ार कोड छापने से पहले, स्क्रीन पर दिखते एक कोड को स्कैन कर लीजिए। इसमें दस सेकंड लगते हैं, और यह गलतियों की वह पूरी जमात पकड़ लेता है जो प्रीव्यू नहीं पकड़ सकता। ऐसा Wi-Fi पासवर्ड जिसमें कोई अक्षर बचाया जाना चाहिए था, ऐसा लिंक जिसमें `https://` छूट गया, ऐसा बारकोड नंबर जो एक अंक छोटा है।
6. **SVG ले जाइए।** वह कोड को पिक्सलों के बजाय निर्देशों के रूप में रखती है, इसलिए किसी भी साइज़ पर बिना नरम पड़े छपती है, और नरम किनारा ठीक वही चीज़ है जिसे स्कैनर सुलझा नहीं पाता। आप जहाँ चिपका रहे हैं वह SVG लेता ही न हो, तो PNG भी ले जाइए। वह हर मॉड्यूल पर पूरे-पूरे पिक्सल में खींची जाती है, इसलिए उसके किनारे भी धुँधले नहीं होते।
## विस्तार से
[ऐसा QR कोड कैसे बनाएँ जो किसी और के फ़ोन पर भी स्कैन हो](https://abox.tools/hi/guides/make-a-qr-code/): एरर-करेक्शन का कौन-सा स्तर चुनें, QR कोड के चारों ओर की सफ़ेद हाशिया-पट्टी कोड का ही हिस्सा क्यों है, उसे कितना बड़ा छापें, और मुफ़्त जनरेटर का 'डायनैमिक' कोड आपसे आगे चलकर क्या वसूलता है।
## बॉक्स में और भी टूल
- [QR और बारकोड रीडर](https://abox.tools/hi/qr-barcode-reader/): कैमरा कोड पर कीजिए, या उसकी तस्वीर यहाँ छोड़ दीजिए। पढ़ना यहीं होता है, और कहीं नहीं।
- [हैश और चेकसम](https://abox.tools/hi/hash-checksum/): डाउनलोड की गई फ़ाइल को उस नंबर से मिलाइए जो बनाने वाले ने छापा है, बिना उसे किसी को भेजे।
- [पासवर्ड और पासफ़्रेज़ जनरेटर](https://abox.tools/hi/password-generator/): यहीं बनता है, आपके अपने ब्राउज़र से, और कहीं नहीं भेजा जाता। कुछ भी सेव नहीं होता और कोई हिस्ट्री नहीं रहती।
- [JSON फ़ॉर्मैटर](https://abox.tools/hi/json-formatter/): JSON, XML, HTML, CSS और YAML, सजाए हुए या बदले हुए। कुछ भी किसी और के सर्वर में चिपकाया नहीं जाता।
## सवाल
### क्या मेरा टाइप किया कुछ कहीं भेजा जाता है?
नहीं। QR कोड किसी लाइन पर की गई गणित भर है, और वह गणित आपके अपने ब्राउज़र में, आपकी अपनी मशीन पर चलती है। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, यानी यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। और पेज की `Content-Security-Policy` उन सारे पतों के नाम गिना देती है जिनसे यह संपर्क कर सकता है, जिनमें से एक भी इस साइट का नहीं है। यहाँ इसकी कीमत ज़्यादातर पेजों से ज़्यादा है, क्योंकि QR कोड में लोग सबसे अक्सर अपने Wi-Fi का पासवर्ड डालते हैं।
### क्या इन कोडों की कोई मियाद होती है, या ये बाद में काम करना बंद कर देते हैं?
नहीं, और ऐसा हो ही नहीं सकता। आप जो टाइप करते हैं, कोड में वही होता है, इसलिए उसे स्कैन करने पर हमेशा ठीक वही लाइन वापस मिलती है। मियाद उन कोडों की होती है जिनके भीतर किसी और का पता होता है। “डायनैमिक” QR कोड में जनरेटर के सर्वर का लिंक होता है, जो आगे आपकी साइट पर भेजता है, यानी वे हर स्कैन गिन सकते हैं, यह बदल सकते हैं कि वह कहाँ जाए, या ट्रायल खत्म होने पर उसे बंद कर सकते हैं। यहाँ कुछ भी किसी के रास्ते से होकर आगे नहीं भेजा जाता।
### क्या यह मुफ़्त है, और क्या मैं इसे व्यावसायिक तौर पर इस्तेमाल कर सकता हूँ?
यह मुफ़्त है, यहाँ न कोई खाता है, न वॉटरमार्क, और न इस पर कोई सीमा कि आप कितने बनाएँ। नतीजे को आप किसी उत्पाद, पोस्टर या दुकान के मुख पर लगा सकते हैं। QR Code, Denso Wave का पंजीकृत ट्रेडमार्क है, और उन्होंने कहा है कि वे कोड इस्तेमाल करने वालों के खिलाफ़ उसका इस्तेमाल नहीं करेंगे। विनिर्देश ISO/IEC 18004 के रूप में प्रकाशित है और उसे लागू करना मुफ़्त है, और यह पेज वही करता है। साइट पर विज्ञापन हैं, और खर्च वही उठाते हैं।
### मुझे एरर करेक्शन का कौन-सा स्तर चुनना चाहिए?
कोई खास वजह न हो तो M। L सबसे छोटा कोड बनाता है और स्क्रीन पर ठीक रहता है, M आम हाथ-लगाई सह लेता है, और Q तथा H उस कोड के लिए हैं जो छोटा छपेगा, लैमिनेट होगा, खिड़की पर चिपकेगा, या जिसका कुछ हिस्सा किसी लोगो से ढँक जाएगा। हर अगला स्तर उसमें और जाँच-डेटा भरता है, जिसके लिए उतने ही टेक्स्ट पर बड़ा सिंबल चाहिए। L से H पर जाने में उसी लाइन के लिए मॉड्यूल की गिनती लगभग दोगुनी हो जाती है।
### एक QR कोड कितना कुछ ढो सकता है?
सबसे बड़े साइज़ पर, यानी 177 मॉड्यूल के वर्ग में, 7,089 अंक तक, 4,296 बड़े अक्षर और अंक तक, या बाकी किसी भी चीज़ के 2,953 बाइट तक। यह सबसे कमज़ोर एरर करेक्शन पर है, और सबसे मज़बूत पर यह इसका करीब एक-तिहाई रह जाता है। व्यवहार में सीमा फ़ॉर्मैट नहीं, स्कैनर लगाता है। कुछ सौ अक्षरों के आगे मॉड्यूल इतने छोटे पड़ जाते हैं कि आम फ़ोन का कैमरा उन्हें हाथ भर दूरी से सुलझा ही नहीं पाता। लंबा कोड आम तौर पर इस बात का संकेत है कि उसमें कोई छोटा लिंक होना चाहिए था।
### लिंक को छोटे अक्षरों में लिखने पर मेरा कोड बड़ा क्यों हो जाता है?
क्योंकि QR कोड में बड़े अक्षरों और अंकों के लिए एक मोड होता है जो ग्यारह बिट में दो अक्षर ठूँस देता है, और छोटे अक्षरों के लिए ऐसा कोई मोड नहीं, जिनका हर अक्षर आठ बिट लेता है। `HTTPS://EXAMPLE.COM/PAGE` लिखा URL उसी URL के छोटे अक्षरों वाले रूप से एक-तिहाई तक छोटा हो सकता है। स्कीम और होस्ट में छोटे-बड़े अक्षर का फ़र्क नहीं पड़ता, इसलिए उन्हें चिल्लाकर लिखने से साइज़ के सिवा कुछ नहीं बदलता। होस्ट के बाद वाले रास्ते में फ़र्क पड़ता है, इसलिए उसे हाथ मत लगाइए।
### क्या यह QR कोड बनाने के साथ-साथ पढ़ भी सकता है?
यह पन्ना नहीं, पर बगल वाला हाँ: [रीडर](https://abox.tools/hi/qr-barcode-reader/) कोई फ़ोटो, स्क्रीनशॉट या आपका कैमरा लेता है और उसमें लिखी बात लौटा देता है। कोड बनाने से यह कहीं बड़ा काम है — तस्वीर में सिंबल ढूँढ़ना, जिस कोण से वह खींची गई उसका हिसाब बैठाना और चोट की मरम्मत करना, ये तीन समस्याएँ इस पन्ने के सामने हैं ही नहीं — इसीलिए वह अपना अलग टूल है, यहाँ का कोई बटन नहीं। वह उन्हीं शर्तों पर चलता है जिन पर बाकी सब: कुछ अपलोड नहीं, और कैमरे का कोई फ़्रेम सहेजा नहीं जाता।
### हाशिया किस काम का है, और क्या मैं उसे छोटा कर सकता हूँ?
QR कोड के चारों ओर की सफ़ेद जगह कोड का ही हिस्सा है। रीडर उसी से पता लगाता है कि सिंबल कहाँ खत्म होता है, और विनिर्देश हर तरफ़ चार मॉड्यूल माँगता है, जबकि बारकोड को करीब दस चाहिए। आप इसे यहाँ शून्य कर सकते हैं और तस्वीर ज़्यादा सुथरी लगेगी, पर तब बहुत सारे स्कैनर उसे देख ही नहीं पाएँगे, खासकर किसी भरे-भरे बैकग्राउंड पर। दिक्कत जगह की हो, तो हाशिया काटने के बजाय कोड को ही छोटा कर लीजिए।
### मुझे कौन-सा बारकोड चाहिए?
वही जो स्कैन करने वाला माँगे। EAN-13 उत्तरी अमेरिका के बाहर की दुकानों वाला बारकोड है और UPC-A उत्तरी अमेरिका वाला। दोनों के लिए GS1 से आपको जारी हुआ नंबर चाहिए, क्योंकि वह नंबर सिर्फ़ उत्पाद की नहीं, आपकी कंपनी की भी पहचान है। EAN-8 छोटे पैकेटों के लिए छोटा रूप है। ITF-14 माल के कार्टन पर जाता है। Code 128 और Code 39 अंकों के साथ टेक्स्ट भी ढोते हैं और उनके लिए कोई पंजीकरण चाहिए ही नहीं, जिससे वे भीतरी हर काम के लिए सही जवाब बन जाते हैं, चाहे वह सामान हो, खाना हो, या काम की पर्चियाँ।
### चेक डिजिट क्या है, और टूल ने उसे जोड़ा क्यों?
वह दुकान वाले बारकोड का आखिरी अंक है, जो उससे पहले वाले अंकों से निकाला जाता है, ताकि स्कैनर गलत पढ़े गए और ठीक पढ़े गए में फ़र्क बता सके। EAN-13 को बारह अंक चाहिए और तेरहवाँ वह खुद निकालता है, UPC-A को ग्यारह चाहिए और बारहवाँ वह खुद निकालता है। छोटा नंबर टाइप कीजिए, यह पेज उसे जोड़ देता है। पूरा नंबर टाइप कीजिए, यह आपके दिए अंक की जाँच करता है, और चुपचाप सुधारने के बजाय मना कर देता है। चुपचाप ठीक किया गया गलत अंक ऐसा लेबल बनता है जो किसी और के उत्पाद के रूप में स्कैन होता है।
### क्या मैं QR कोड के बीचोंबीच लोगो रख सकता हूँ?
यहाँ नहीं, पर यह जान लेना काम का है कि वह कहीं और चलता क्यों है। उसे मुमकिन बनाता है एरर करेक्शन। H स्तर पर करीब 30% मॉड्यूल तबाह हो जाने पर भी कोड पढ़ा जा सकता है, इसलिए बीच में उससे कुछ कम जगह ढँकने वाला लोगो ऐसी चोट है जिसकी मरम्मत हो जाती है, और बीच में कोई फ़ाइंडर पैटर्न बैठता भी नहीं। कोड को H स्तर पर बनाकर अपने इमेज एडिटर से गुज़ारिए, लोगो को करीब पाँचवें हिस्से से कम रखिए, और उस पर भरोसा करने के बजाय उसे किसी असली फ़ोन से जाँच लीजिए।
### SVG, PNG से बेहतर क्यों है?
क्योंकि कोड किनारों से बनता है, और PNG के पास उन्हें बनाने को गिनती के पिक्सल होते हैं। उसे बड़ा कीजिए और हर किनारा नरम पड़ जाता है, और नरम किनारा ठीक वही चीज़ है जिससे स्कैनर को दिक्कत होती है। 1200 dpi वाले प्रिंटर को 512 पिक्सल की PNG देना उससे यह कहना है कि फ़र्क वह खुद गढ़ ले। SVG वर्गों को निर्देशों के रूप में रखती है, इसलिए वह विज़िटिंग कार्ड पर भी उतनी ही साफ़ छपती है और होर्डिंग पर भी। यहाँ की PNG हर मॉड्यूल पर पूरे-पूरे पिक्सल में खींची जाती है, और PNG इससे बेहतर कर भी नहीं सकती।
### क्या यह ऑफ़लाइन चलता है?
हाँ। पेज एक बार लोड कर लीजिए, फिर इंटरनेट काट दीजिए, यह चलता रहेगा। कुछ अपलोड नहीं हो रहा, यह साबित करने का सबसे आसान तरीका भी यही है। जो टूल आपका टेक्स्ट कोड बनवाने के लिए कहीं भेजता, वह प्लग निकालते ही रुक जाता।
## प्राइवेसी का यह दावा कैसे जाँचा जा सकता है
- **आप जो टाइप करते हैं, उसके जाने के लिए कोई जगह ही नहीं है।** यह पेज जिन-जिन पतों से संपर्क कर सकता है, Content-Security-Policy उन सबके नाम गिना देती है, और उनमें से एक भी इस साइट का नहीं है। यहाँ ऐसा कोई एंडपॉइंट है ही नहीं जहाँ Wi-Fi का पासवर्ड जमा हो सके, और होता भी तो कोड में ऐसा कुछ नहीं है जो उसे भेजता।
- **यहाँ कुछ भी कहीं से कुछ नहीं मँगाता।** `src/` में कहीं भी न `fetch` है, न `XMLHttpRequest`, न `sendBeacon`। कोड आपकी लाइन से गणित के ज़रिए बनता है और SVG के रूप में खींचा जाता है, इसी पेज में, आपकी अपनी मशीन पर।
- **कोड हमारी तरफ़ इशारा नहीं करता।** आप जो टाइप करते हैं, कोड में वही होता है। कई मुफ़्त जनरेटर आपको ऐसा कोड थमाते हैं जिसमें उनकी अपनी साइट का लिंक होता है, और वह आगे आपकी साइट पर भेज देता है। यानी हर स्कैन उनके यहाँ गिना जाता है, और जिस दिन वे डोमेन का पैसा देना बंद कर दें या तय कर लें कि मुफ़्त वाली मियाद खत्म हुई, कोड काम करना बंद कर देता है। यहाँ कुछ भी न छोटा करता है, न आगे भेजता है, न ट्रैक करता है। पेज पर दिखती लाइन ही तस्वीर के भीतर की लाइन है।
- **PNG उसी SVG से बनती है जो स्क्रीन पर है।** डाउनलोड कोई दूसरी रेंडरिंग नहीं है जो प्रीव्यू से अलग निकल आए। वही मार्कअप ब्राउज़र को सौंपा जाता है और कैनवस पर रंग दिया जाता है। यह किसी से संपर्क किए बिना हो भी इसीलिए जाता है, क्योंकि न भीतर लाने को कोई फ़ॉन्ट है, न लोड करने को कोई तस्वीर।
- **Google क्या लोड करता है, और उसे क्या नहीं दिया जाता।** विज्ञापन और माप वाली स्क्रिप्ट Google से आती हैं, और दान का बटन Buy Me a Coffee से। इनमें से किसी को भी आपका टाइप किया कुछ नहीं सौंपा जाता। किसी लाइन को कोड में बदलने वाली हर पंक्ति इसी ऑरिजिन से आती है और रिपॉज़िटरी में मौजूद है।
- **यह ऑफ़लाइन भी चलता है।** नेटवर्क काट दीजिए, टूल जस का तस काम करता रहेगा, क्योंकि इसमें नेटवर्क वाला कोई कदम कभी था ही नहीं। सबसे आसान सबूत यही है।
**खुद जाँच लीजिए।** ऊपर लिखी किसी भी बात को भरोसे पर मानने की ज़रूरत नहीं। यह पेज रिपॉज़िटरी के टेम्पलेट और कॉन्फ़िग से बनता है, एक ऐसी बिल्ड स्क्रिप्ट के ज़रिए जिसे आप पढ़ भी सकते हैं और खुद चला भी सकते हैं। उसका नतीजा `dist` ब्रांच पर कमिट रहता है, यानी जो सर्व हो रहा है और सोर्स से बिल्ड करने पर जो बनता है, दोनों का फ़र्क आप खुद देख सकते हैं: https://github.com/A-Box-of-Tools/website
सबसे पहले पढ़ने लायक फ़ाइलें ये हैं — Content-Security-Policy के लिए `config/site.toml`, खुद QR कोड के लिए `src/qr-encode.js` और `src/qr.js`, जिनमें से एक में मोड, वर्ज़न और ब्लॉक हैं और दूसरे में पैटर्न, मास्क तथा फ़ॉर्मैट बिट। एरर करेक्शन के लिए `src/gf256.js`, और धारियों वाले कोडों के लिए `src/barcode.js`।
बिना कुछ अपलोड किए QR कोड कैसे बनाएँ
तय कीजिए कि कैसा कोड चाहिए। QR कोड कुछ भी ढो लेता है और फ़ोन का कैमरा उसी को ढूँढ़ता है, इसलिए जब तक किसी ने कुछ और न कहा हो, जवाब वही है। बारकोड एक संख्या ढोता है, और आपको कौन-सा चाहिए यह वह तय करता है जो उसे स्कैन करने वाला है। दुकान को EAN-13 या UPC-A चाहिए, माल के कार्टन को ITF-14, और भीतरी कामों के लिए आम तौर पर Code 128।
बताइए कि उसमें क्या जाएगा। आम मामला लिंक का होता है, और उसके ऊपर बने खाने वे दूसरे फ़ॉर्मैट बना देते हैं जिन्हें फ़ोन पहचानते हैं। ऐसा Wi-Fi नेटवर्क जो खुद जुड़ने की पेशकश करता है, ऐसा कॉन्टैक्ट कार्ड जो खुद सहेजे जाने की पेशकश करता है, कोई ईमेल, कोई संदेश, कोई फ़ोन नंबर, नक्शे पर कोई जगह। आप जो भी चुनें, तैयार लाइन पेज पर दिख जाती है, और QR कोड कभी उससे ज़्यादा कुछ ढोता ही नहीं।
तय कीजिए कि यह कितनी चोट सह सके। चारों स्तर उसमें कम या ज़्यादा एरर करेक्शन भरते हैं, और ज़्यादा करेक्शन का मतलब बड़ा और सघन कोड। स्क्रीन के लिए L काफ़ी है, आम कागज़ के लिए M, और उस चीज़ के लिए H जिसे हाथ लगेंगे, जो छोटी छपेगी, या जो धूप में खिड़की पर चिपकेगी। जिस मेन्यू को रोज़ पोंछा जाता है, उस पर लगे कोड के लिए Q या H पैसा वसूल है।
साइज़, हाशिया और रंग तय कीजिए। हाशिया कोड का ही हिस्सा है। विनिर्देश उसके चारों ओर चार मॉड्यूल की खाली जगह माँगता है, और उसे काट देना ही वह सबसे आम अकेली वजह है जिससे छपा हुआ कोड स्कैन नहीं होता। रंग हल्के पर गहरा रखिए, और असली अंतर के साथ। स्कैनर दोनों का फ़र्क पढ़ता है, इसलिए सफ़ेद पर फीका भूरा नहीं चलेगा, और गहरे पर हल्का तो बहुत सारे रीडरों में सिरे से नाकाम रहता है।
जो फ़ोन आपके पास है, उसी से जाँच लीजिए। एक हज़ार कोड छापने से पहले, स्क्रीन पर दिखते एक कोड को स्कैन कर लीजिए। इसमें दस सेकंड लगते हैं, और यह गलतियों की वह पूरी जमात पकड़ लेता है जो प्रीव्यू नहीं पकड़ सकता। ऐसा Wi-Fi पासवर्ड जिसमें कोई अक्षर बचाया जाना चाहिए था, ऐसा लिंक जिसमें https:// छूट गया, ऐसा बारकोड नंबर जो एक अंक छोटा है।
SVG ले जाइए। वह कोड को पिक्सलों के बजाय निर्देशों के रूप में रखती है, इसलिए किसी भी साइज़ पर बिना नरम पड़े छपती है, और नरम किनारा ठीक वही चीज़ है जिसे स्कैनर सुलझा नहीं पाता। आप जहाँ चिपका रहे हैं वह SVG लेता ही न हो, तो PNG भी ले जाइए। वह हर मॉड्यूल पर पूरे-पूरे पिक्सल में खींची जाती है, इसलिए उसके किनारे भी धुँधले नहीं होते।
विस्तार से
ऐसा QR कोड कैसे बनाएँ जो किसी और के फ़ोन पर भी स्कैन होएरर-करेक्शन का कौन-सा स्तर चुनें, QR कोड के चारों ओर की सफ़ेद हाशिया-पट्टी कोड का ही हिस्सा क्यों है, उसे कितना बड़ा छापें, और मुफ़्त जनरेटर का 'डायनैमिक' कोड आपसे आगे चलकर क्या वसूलता है।
नहीं। QR कोड किसी लाइन पर की गई गणित भर है, और वह गणित आपके अपने ब्राउज़र में, आपकी अपनी मशीन पर चलती है। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, यानी यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। और पेज की Content-Security-Policy उन सारे पतों के नाम गिना देती है जिनसे यह संपर्क कर सकता है, जिनमें से एक भी इस साइट का नहीं है। यहाँ इसकी कीमत ज़्यादातर पेजों से ज़्यादा है, क्योंकि QR कोड में लोग सबसे अक्सर अपने Wi-Fi का पासवर्ड डालते हैं।
क्या इन कोडों की कोई मियाद होती है, या ये बाद में काम करना बंद कर देते हैं?
नहीं, और ऐसा हो ही नहीं सकता। आप जो टाइप करते हैं, कोड में वही होता है, इसलिए उसे स्कैन करने पर हमेशा ठीक वही लाइन वापस मिलती है। मियाद उन कोडों की होती है जिनके भीतर किसी और का पता होता है। “डायनैमिक” QR कोड में जनरेटर के सर्वर का लिंक होता है, जो आगे आपकी साइट पर भेजता है, यानी वे हर स्कैन गिन सकते हैं, यह बदल सकते हैं कि वह कहाँ जाए, या ट्रायल खत्म होने पर उसे बंद कर सकते हैं। यहाँ कुछ भी किसी के रास्ते से होकर आगे नहीं भेजा जाता।
क्या यह मुफ़्त है, और क्या मैं इसे व्यावसायिक तौर पर इस्तेमाल कर सकता हूँ?
यह मुफ़्त है, यहाँ न कोई खाता है, न वॉटरमार्क, और न इस पर कोई सीमा कि आप कितने बनाएँ। नतीजे को आप किसी उत्पाद, पोस्टर या दुकान के मुख पर लगा सकते हैं। QR Code, Denso Wave का पंजीकृत ट्रेडमार्क है, और उन्होंने कहा है कि वे कोड इस्तेमाल करने वालों के खिलाफ़ उसका इस्तेमाल नहीं करेंगे। विनिर्देश ISO/IEC 18004 के रूप में प्रकाशित है और उसे लागू करना मुफ़्त है, और यह पेज वही करता है। साइट पर विज्ञापन हैं, और खर्च वही उठाते हैं।
मुझे एरर करेक्शन का कौन-सा स्तर चुनना चाहिए?
कोई खास वजह न हो तो M। L सबसे छोटा कोड बनाता है और स्क्रीन पर ठीक रहता है, M आम हाथ-लगाई सह लेता है, और Q तथा H उस कोड के लिए हैं जो छोटा छपेगा, लैमिनेट होगा, खिड़की पर चिपकेगा, या जिसका कुछ हिस्सा किसी लोगो से ढँक जाएगा। हर अगला स्तर उसमें और जाँच-डेटा भरता है, जिसके लिए उतने ही टेक्स्ट पर बड़ा सिंबल चाहिए। L से H पर जाने में उसी लाइन के लिए मॉड्यूल की गिनती लगभग दोगुनी हो जाती है।
एक QR कोड कितना कुछ ढो सकता है?
सबसे बड़े साइज़ पर, यानी 177 मॉड्यूल के वर्ग में, 7,089 अंक तक, 4,296 बड़े अक्षर और अंक तक, या बाकी किसी भी चीज़ के 2,953 बाइट तक। यह सबसे कमज़ोर एरर करेक्शन पर है, और सबसे मज़बूत पर यह इसका करीब एक-तिहाई रह जाता है। व्यवहार में सीमा फ़ॉर्मैट नहीं, स्कैनर लगाता है। कुछ सौ अक्षरों के आगे मॉड्यूल इतने छोटे पड़ जाते हैं कि आम फ़ोन का कैमरा उन्हें हाथ भर दूरी से सुलझा ही नहीं पाता। लंबा कोड आम तौर पर इस बात का संकेत है कि उसमें कोई छोटा लिंक होना चाहिए था।
लिंक को छोटे अक्षरों में लिखने पर मेरा कोड बड़ा क्यों हो जाता है?
क्योंकि QR कोड में बड़े अक्षरों और अंकों के लिए एक मोड होता है जो ग्यारह बिट में दो अक्षर ठूँस देता है, और छोटे अक्षरों के लिए ऐसा कोई मोड नहीं, जिनका हर अक्षर आठ बिट लेता है। HTTPS://EXAMPLE.COM/PAGE लिखा URL उसी URL के छोटे अक्षरों वाले रूप से एक-तिहाई तक छोटा हो सकता है। स्कीम और होस्ट में छोटे-बड़े अक्षर का फ़र्क नहीं पड़ता, इसलिए उन्हें चिल्लाकर लिखने से साइज़ के सिवा कुछ नहीं बदलता। होस्ट के बाद वाले रास्ते में फ़र्क पड़ता है, इसलिए उसे हाथ मत लगाइए।
क्या यह QR कोड बनाने के साथ-साथ पढ़ भी सकता है?
यह पन्ना नहीं, पर बगल वाला हाँ: रीडर कोई फ़ोटो, स्क्रीनशॉट या आपका कैमरा लेता है और उसमें लिखी बात लौटा देता है। कोड बनाने से यह कहीं बड़ा काम है — तस्वीर में सिंबल ढूँढ़ना, जिस कोण से वह खींची गई उसका हिसाब बैठाना और चोट की मरम्मत करना, ये तीन समस्याएँ इस पन्ने के सामने हैं ही नहीं — इसीलिए वह अपना अलग टूल है, यहाँ का कोई बटन नहीं। वह उन्हीं शर्तों पर चलता है जिन पर बाकी सब: कुछ अपलोड नहीं, और कैमरे का कोई फ़्रेम सहेजा नहीं जाता।
हाशिया किस काम का है, और क्या मैं उसे छोटा कर सकता हूँ?
QR कोड के चारों ओर की सफ़ेद जगह कोड का ही हिस्सा है। रीडर उसी से पता लगाता है कि सिंबल कहाँ खत्म होता है, और विनिर्देश हर तरफ़ चार मॉड्यूल माँगता है, जबकि बारकोड को करीब दस चाहिए। आप इसे यहाँ शून्य कर सकते हैं और तस्वीर ज़्यादा सुथरी लगेगी, पर तब बहुत सारे स्कैनर उसे देख ही नहीं पाएँगे, खासकर किसी भरे-भरे बैकग्राउंड पर। दिक्कत जगह की हो, तो हाशिया काटने के बजाय कोड को ही छोटा कर लीजिए।
मुझे कौन-सा बारकोड चाहिए?
वही जो स्कैन करने वाला माँगे। EAN-13 उत्तरी अमेरिका के बाहर की दुकानों वाला बारकोड है और UPC-A उत्तरी अमेरिका वाला। दोनों के लिए GS1 से आपको जारी हुआ नंबर चाहिए, क्योंकि वह नंबर सिर्फ़ उत्पाद की नहीं, आपकी कंपनी की भी पहचान है। EAN-8 छोटे पैकेटों के लिए छोटा रूप है। ITF-14 माल के कार्टन पर जाता है। Code 128 और Code 39 अंकों के साथ टेक्स्ट भी ढोते हैं और उनके लिए कोई पंजीकरण चाहिए ही नहीं, जिससे वे भीतरी हर काम के लिए सही जवाब बन जाते हैं, चाहे वह सामान हो, खाना हो, या काम की पर्चियाँ।
चेक डिजिट क्या है, और टूल ने उसे जोड़ा क्यों?
वह दुकान वाले बारकोड का आखिरी अंक है, जो उससे पहले वाले अंकों से निकाला जाता है, ताकि स्कैनर गलत पढ़े गए और ठीक पढ़े गए में फ़र्क बता सके। EAN-13 को बारह अंक चाहिए और तेरहवाँ वह खुद निकालता है, UPC-A को ग्यारह चाहिए और बारहवाँ वह खुद निकालता है। छोटा नंबर टाइप कीजिए, यह पेज उसे जोड़ देता है। पूरा नंबर टाइप कीजिए, यह आपके दिए अंक की जाँच करता है, और चुपचाप सुधारने के बजाय मना कर देता है। चुपचाप ठीक किया गया गलत अंक ऐसा लेबल बनता है जो किसी और के उत्पाद के रूप में स्कैन होता है।
क्या मैं QR कोड के बीचोंबीच लोगो रख सकता हूँ?
यहाँ नहीं, पर यह जान लेना काम का है कि वह कहीं और चलता क्यों है। उसे मुमकिन बनाता है एरर करेक्शन। H स्तर पर करीब 30% मॉड्यूल तबाह हो जाने पर भी कोड पढ़ा जा सकता है, इसलिए बीच में उससे कुछ कम जगह ढँकने वाला लोगो ऐसी चोट है जिसकी मरम्मत हो जाती है, और बीच में कोई फ़ाइंडर पैटर्न बैठता भी नहीं। कोड को H स्तर पर बनाकर अपने इमेज एडिटर से गुज़ारिए, लोगो को करीब पाँचवें हिस्से से कम रखिए, और उस पर भरोसा करने के बजाय उसे किसी असली फ़ोन से जाँच लीजिए।
SVG, PNG से बेहतर क्यों है?
क्योंकि कोड किनारों से बनता है, और PNG के पास उन्हें बनाने को गिनती के पिक्सल होते हैं। उसे बड़ा कीजिए और हर किनारा नरम पड़ जाता है, और नरम किनारा ठीक वही चीज़ है जिससे स्कैनर को दिक्कत होती है। 1200 dpi वाले प्रिंटर को 512 पिक्सल की PNG देना उससे यह कहना है कि फ़र्क वह खुद गढ़ ले। SVG वर्गों को निर्देशों के रूप में रखती है, इसलिए वह विज़िटिंग कार्ड पर भी उतनी ही साफ़ छपती है और होर्डिंग पर भी। यहाँ की PNG हर मॉड्यूल पर पूरे-पूरे पिक्सल में खींची जाती है, और PNG इससे बेहतर कर भी नहीं सकती।
क्या यह ऑफ़लाइन चलता है?
हाँ। पेज एक बार लोड कर लीजिए, फिर इंटरनेट काट दीजिए, यह चलता रहेगा। कुछ अपलोड नहीं हो रहा, यह साबित करने का सबसे आसान तरीका भी यही है। जो टूल आपका टेक्स्ट कोड बनवाने के लिए कहीं भेजता, वह प्लग निकालते ही रुक जाता।