MRZ पार्सर और चेक डिजिट कैलकुलेटर
पासपोर्ट, पहचान पत्र या वीज़ा का मशीन-रीडेबल ज़ोन (MRZ) पेस्ट करें – TD3, TD2 या TD1। फ़ॉर्मैट अपने आप पहचाना जाता है, हर फ़ील्ड पढ़ा जाता है, और हर ICAO 9303 चेक डिजिट दोबारा गणना करके छपे हुए डिजिट से मिलाया जाता है। सब कुछ आपके ब्राउज़र में चलता है; कुछ भी पेज से बाहर नहीं जाता।
मशीन-रीडेबल ज़ोन क्या है
मशीन-रीडेबल ज़ोन (MRZ) पासपोर्ट या पहचान पत्र के नीचे छपी तय चौड़ाई वाली लाइनों का ब्लॉक है, जिसे ICAO Doc 9303 मानकीकृत करता है। इसमें डॉक्यूमेंट नंबर, जारी करने वाला देश, नाम, राष्ट्रीयता, जन्म तिथि, लिंग और समाप्ति तिथि तय जगहों पर दर्ज होते हैं, साथ में रीडिंग की पुष्टि करने वाले चेक डिजिट।
TD1, TD2 और TD3 में हर फ़ील्ड कहाँ होता है
स्थान हर लाइन में 1 से गिने जाते हैं, जैसे ICAO 9303 उन्हें गिनता है। हर चेक डिजिट उस फ़ील्ड के ठीक बाद आता है जिसकी वह सुरक्षा करता है; कंपोज़िट डिजिट अपनी लाइन का आखिरी अक्षर होता है।
| फ़ील्ड | TD3 (पासपोर्ट) | TD2 | TD1 (पहचान पत्र) |
|---|---|---|---|
| डॉक्यूमेंट कोड | लाइन 1, 1–2 | लाइन 1, 1–2 | लाइन 1, 1–2 |
| जारी करने वाला देश | लाइन 1, 3–5 | लाइन 1, 3–5 | लाइन 1, 3–5 |
| नाम | लाइन 1, 6–44 | लाइन 1, 6–36 | लाइन 3, 1–30 |
| डॉक्यूमेंट नंबर | लाइन 2, 1–9 | लाइन 2, 1–9 | लाइन 1, 6–14 |
| इसका चेक डिजिट | लाइन 2, 10 | लाइन 2, 10 | लाइन 1, 15 |
| राष्ट्रीयता | लाइन 2, 11–13 | लाइन 2, 11–13 | लाइन 2, 16–18 |
| जन्म तिथि | लाइन 2, 14–19 | लाइन 2, 14–19 | लाइन 2, 1–6 |
| इसका चेक डिजिट | लाइन 2, 20 | लाइन 2, 20 | लाइन 2, 7 |
| लिंग | लाइन 2, 21 | लाइन 2, 21 | लाइन 2, 8 |
| समाप्ति तिथि | लाइन 2, 22–27 | लाइन 2, 22–27 | लाइन 2, 9–14 |
| इसका चेक डिजिट | लाइन 2, 28 | लाइन 2, 28 | लाइन 2, 15 |
| व्यक्तिगत नंबर | लाइन 2, 29–42 | – | – |
| इसका चेक डिजिट | लाइन 2, 43 | – | – |
| कंपोज़िट चेक डिजिट | लाइन 2, 44 | लाइन 2, 36 | लाइन 2, 30 |
चेक डिजिट की गणना कैसे होती है
- वह फ़ील्ड लें जिसकी सुरक्षा चेक डिजिट करता है – डॉक्यूमेंट नंबर, जन्म तिथि, समाप्ति तिथि, व्यक्तिगत नंबर, या कंपोज़िट की पूरी रेंज।
- हर अक्षर को उसका मान दें: अंक का मान वही अंक है, अक्षर का मान वर्णमाला में उसका स्थान जमा नौ है (A = 10, Z = 35), और फ़िलर < का मान शून्य है।
- हर मान को उसके स्थान के वेट (भार) से गुणा करें। वेट पूरे फ़ील्ड में 7, 3, 1 के क्रम में दोहराए जाते हैं, और पहले अक्षर पर 7 से शुरू होते हैं।
- सभी गुणनफलों को जोड़ें।
- चेक डिजिट उस योग का मॉड्यूलो 10 है – यानी कुल योग का आखिरी अंक।
नमूने के पासपोर्ट नंबर AM7304518 पर पूरी गणना – यह एक काल्पनिक डॉक्यूमेंट है, जो किसी का नहीं है:
| अक्षर | मान | वेट | गुणनफल |
|---|---|---|---|
| A | 10 | 7 | 70 |
| M | 22 | 3 | 66 |
| 7 | 7 | 1 | 7 |
| 3 | 3 | 7 | 21 |
| 0 | 0 | 3 | 0 |
| 4 | 4 | 1 | 4 |
| 5 | 5 | 7 | 35 |
| 1 | 1 | 3 | 3 |
| 8 | 8 | 1 | 8 |
| योग, फिर मॉड्यूलो 10 | 214 → 4 | ||
इसलिए उस ज़ोन में AM7304518 के बाद छपा डिजिट 4 है। ऊपर TD3 उदाहरण लोड करें, और पार्सर आपकी आँखों के सामने वही संख्या दोबारा निकालता है।
कंपोज़िट डिजिट
एक और डिजिट एक साथ लगभग पूरे ज़ोन को कवर करता है: कंपोज़िट। इसकी गणना भी इसी तरह होती है, एक ऐसी रेंज पर जो उन फ़ील्ड को छोड़ देती है जिनकी सुरक्षा कोई डिजिट नहीं करता – और TD1 में यह रेंज दो लाइनों में फैली होती है, जहाँ हाथ से लिखा पार्सर अक्सर गलती करता है। जिस ज़ोन के सभी फ़ील्ड डिजिट पास हो जाएँ पर कंपोज़िट फ़ेल हो, उसके टुकड़े सही लिखे गए हैं, लेकिन उन्हें गलत तरीके से जोड़ा गया है।
डिजिट किन चीज़ों को कवर नहीं करते
कोई भी चेक डिजिट नाम को कवर नहीं करता, और कोई भी जारी करने वाले देश को कवर नहीं करता। इन दोनों में से किसी में भी गलत रीडिंग पकड़ में नहीं आती: गणना फिर भी सही बैठती है। इसीलिए डॉक्यूमेंट की छपी हुई साइड को भी पढ़ना और दोनों रीडिंग की तुलना करना वह पकड़ लेता है जो डिजिट नहीं पकड़ सकते।
लोग जो सवाल पूछते हैं
MRZ क्या है?
मशीन-रीडेबल ज़ोन (MRZ) पासपोर्ट या पहचान पत्र के नीचे छपी तय चौड़ाई वाली लाइनों का ब्लॉक है, जिसे ICAO Doc 9303 मानकीकृत करता है। इसमें डॉक्यूमेंट नंबर, जारी करने वाला देश, नाम, राष्ट्रीयता, जन्म तिथि, लिंग और समाप्ति तिथि तय जगहों पर दर्ज होते हैं, साथ में रीडिंग की पुष्टि करने वाले चेक डिजिट।
यह टूल कौन-से फ़ॉर्मैट सपोर्ट करता है?
ICAO 9303 के तीनों लेआउट: TD3, पासपोर्ट पर 44 की दो लाइनें; TD2, 36 की दो लाइनें; और TD1, पहचान पत्र या निवास परमिट पर 30 की तीन लाइनें। यह वीज़ा के दो लेआउट, MRV-A और MRV-B, भी पढ़ता है, जिनमें कंपोज़िट डिजिट नहीं होता। फ़ॉर्मैट लाइनों की संख्या और उनकी लंबाई से पहचाना जाता है, और उस फ़ॉर्मैट के हर चेक डिजिट की दोबारा गणना होती है।
चेक डिजिट फ़ेल क्यों होता है?
लगभग हमेशा इसलिए कि जिस फ़ील्ड की वह सुरक्षा करता है, उसका कोई एक अक्षर गलत पढ़ा या गलत टाइप किया गया: 0 की जगह O, 8 की जगह B, या लाइन के आखिर में कोई फ़िलर छूट गया। टेबल में ज़ोन में छपा डिजिट और डेटा से निकला डिजिट साथ-साथ दिखते हैं, साथ ही वह फ़ील्ड जिसे डिजिट कवर करता है। अगर फ़ील्ड डिजिट पास हो और कंपोज़िट फ़ेल हो, तो फ़ील्ड के बीच के अक्षर देखें – कंपोज़िट खुद फ़ील्ड डिजिट को भी कवर करता है।
क्या यह फ़ोटो से ज़ोन पढ़ सकता है?
नहीं। यह पेज आपका पेस्ट किया हुआ टेक्स्ट पढ़ता है, और आपके ब्राउज़र से कुछ भी बाहर नहीं जाता। फ़ोटो से ज़ोन और छपा हुआ पेज पढ़ना रिकग्निशन API का काम है: इमेज के साथ एक HTTP कॉल, और फ़ील्ड JSON के रूप में लौटते हैं, वही चेक डिजिट पहले से जाँचे हुए।
क्या आप मेरा कोई डेटा सेव करते हैं?
नहीं। आपका पेस्ट किया हुआ ज़ोन आपके अपने ब्राउज़र में चलने वाला कोड पार्स करता है: कुछ भी अपलोड नहीं होता, और उसे ले जाने वाली कोई रिक्वेस्ट नहीं भेजी जाती। यह पेज एक स्टैटिक फ़ाइल है, और लोड होने के बाद यह सिर्फ़ एक रिक्वेस्ट करता है – यह पूछने के लिए कि ऊपर दिखाने के लिए कोई सर्विस सूचना है या नहीं, और उस कॉल में आपका टाइप किया हुआ कुछ भी नहीं जाता। रिकग्निशन API एक अलग चीज़ है, जिसे आपको जान-बूझकर कॉल करना होता है।
आगे कहाँ जाएँ
- MRZ जनरेटर – टेस्ट फ़िक्स्चर के लिए सही चेक डिजिट वाला मान्य ज़ोन बनाएँ।
- TD1, TD2 और TD3 – तीनों लेआउट, हर एक में कितनी लाइनें और अक्षर होते हैं, और मानक उन्हें कहाँ परिभाषित करता है।
- पूरा डॉक्यूमेंट पढ़ें – कोड वाली साइड के साथ छपी हुई साइड भी, एक ही रिक्वेस्ट में और बिना अकाउंट के।
- देश के अनुसार पासपोर्ट OCR – वे जारी करने वाले देश जिन्हें यह API पढ़ता है, हर एक का अपना नमूना ज़ोन।