{"_id":"mrz-fast","_rev":"10-67002fe29c882bb2b2384e6a69526753","name":"mrz-fast","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"mrz-fast","version":"1.0.0","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.0","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"2d2780be03223c64d478a7396324dc42c02fb51a","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.0.tgz","fileCount":49,"integrity":"sha512-ZzkCyAAWvf4tma+VwiGxKbBvrRyUDp1Aw/iZlzlsR4a4SbLZ3TLOn2y0OnOSAX/71rmaPC2xF987XvhKFgakkQ==","signatures":[{"sig":"MEUCIQCAgHGwMHQEun1c2OJ88cjAR9q/TPhZr7LI+zSotqyINQIgaoaZfLk2OXXV2OVGgcIZ5U5NOPGqY2OVvmf6Wx8Iar8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411206},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f44fefc44121fc2a1421eeab52b9408f4673868a","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.6.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.0_1765533412000_0.33305862853937596","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"mrz-fast","version":"1.0.1","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.1","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"6e3eae1f4e45b7f8dcdc37d2c194385e48e38802","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.1.tgz","fileCount":49,"integrity":"sha512-SwYH5xw0YhPQKNgpTrffBty9HFPnM5q+KhRMm1dJS6fEhSPzEbmKxLhLfcjRaInXUeMT+AhIPVBE0xqHaGyWew==","signatures":[{"sig":"MEQCIBTjBbW70KxKlLS9nWDExoTvfUlPv7t3ytlRidULPIbMAiBKPube5LlIKWQvGxUFgyM2mZFdEEKp3n8AQEyJEcCrlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413472},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f5cbd665b31b25fb77f3bd556173bc71515b1e37","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.6.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.1_1765535218058_0.32043796428241","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"mrz-fast","version":"1.0.2","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.2","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"e4c747e2ef3bba1ebec7531b4bb66f007ce93a0f","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.2.tgz","fileCount":47,"integrity":"sha512-ipiLU/u7/zXnOZwrtGdpsMI72Rt4b5FYK4/SHhsgquNBvepIg8UM1IzjQL2ylt/mQf2miMXTIfvNee1+nxzcOw==","signatures":[{"sig":"MEYCIQDFZAEok7c7AahrUE0JbYjPx/UplU0k0kY+f2KqSXZQeQIhAIaZwfyOoclOI4ktYMjrKhs697qEGWr/YXcI/E77aXLT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112623},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f465ce0d12764d01ca32d6b25011c89ddf33e119","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"10.9.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.2_1765605702543_0.5947182643781093","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"mrz-fast","version":"1.0.3","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.3","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"f878ca0313aa9b14a1355a598a78b981bb132e81","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.3.tgz","fileCount":48,"integrity":"sha512-eQ/mtbSAF7VsDiCOd7an0Y0G6+ZV3bYds+hwbhoXAKcR+KeSdJZq6rb7PZ8O95v0WjuC3s5TlH2sYUQGCmXRfQ==","signatures":[{"sig":"MEUCIBuRuu539tJJXXivyBJy0NWcf0HmJ3TjamShOIYAZZi9AiEArSn6DLGlZ024TiIe+8VkeT9TOaoKVGPVDKfrPsb/+3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":412826},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1851c7492d689f01311ad219229be9e417a2ebc0","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"10.9.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.3_1765605800537_0.9076127387128217","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"mrz-fast","version":"1.0.4","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.4","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"d73fe4499f2918eb744b0c2010364f0c59efee1f","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.4.tgz","fileCount":47,"integrity":"sha512-0WEVvcP4yh/62YTzjrzxPBYbtv521cJ1iIl940cyNJtzeqens9w55+b7LZfoRRd8GJnoLeHNDjZ7q9vvDlzQMg==","signatures":[{"sig":"MEYCIQCpBhAz3FZlPpqEGnIos6NUpg6lLVjmSog7z5zW28iekAIhANEY/h863mFDwBKBbcXKhw2lJB9YLtdIf6RXk3JMqvH4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112642},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"03b2d5b649cba270f74a86ea32e388e32942e3c0","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"10.9.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.4_1765605981459_0.14758598298294312","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"mrz-fast","version":"1.0.5","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.5","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"c950d8f57d862e284b2bd7b3f4abb30a54a9df18","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.5.tgz","fileCount":47,"integrity":"sha512-Szr/k3QlUX35UZKJHpXxM9kiDN/XzTImtGbcldYjicvhP7YxG4Wd2jtS4Yp2deJuDqZPr8QA8KKFKsf1WwYfDw==","signatures":[{"sig":"MEUCIA7LZU9vnpF8NYVB/+HigP+4YTehBLDino6XGsL/7US0AiEAsx986Tb4QVtFfR2ur8UuF12R0dPsFNkGo5TynpCnUCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112737},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"670116a6a552133307c37d74d630c617984b5db1","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.6.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.5_1765616930670_0.41256308901230865","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"mrz-fast","version":"1.0.6","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.6","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"94b6b8efb78cc846c4addb6bad62b0dd20fefd4d","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.6.tgz","fileCount":47,"integrity":"sha512-1mxkrvVE36e2bNi+8qF0y2qwYpUTeABvwVDYVwNOckhQ3ywe/SfWysyctrFH67sjpSZPVkuQ6kAM9dgrVmQQOQ==","signatures":[{"sig":"MEUCIQDCPoDdfDDPnMmRp+TjEfnS6GK6jxt/HDHwZYogLepHlQIgE2nE9bpcZ1XqHmI4h8Si4Z3MlsZsgN3i2roT0F0WzRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112737},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"97da57d35503f875c77132b5b18474f4a53f1184","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.3.0","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.6_1765789207321_0.5474963589537707","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"mrz-fast","version":"1.0.7","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.7","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"d089a5a0331f57e48a966cf387e84baf3373c544","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.7.tgz","fileCount":47,"integrity":"sha512-eu8UA+NoEwkt5ixIOlzR9OddWOWhxRlHvI4M/9Qv+j18rlyL9rtqOzKXgBKuKkefW88ZNsRHctVLwi/f0N3fxA==","signatures":[{"sig":"MEUCIQD61WhtHamKb9Kf8sksV1r6yy2rzy17+1czAzk0+5aD8AIgOGiREgawnrvuT+6y+ZsVfF6GTtvAB2m6QiHlieDJch8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112791},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5ccbb7148553c6e161636f73d24a3f1404ab6b01","scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.3.0","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.7_1765789759804_0.32981926524010396","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"mrz-fast","version":"1.0.8","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"author":{"url":"https://chadscira.com","name":"Chad Scira","email":"chadvscira@gmail.com"},"license":"MIT","_id":"mrz-fast@1.0.8","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"homepage":"https://mrz.codes","bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"dist":{"shasum":"32f5a04348c067529cbce10564372d4b47a80227","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.8.tgz","fileCount":4,"integrity":"sha512-1Qv/Wk2jF0fAEnGeZzcxk0u8oVnal9A2sShvPw5vhc3790CK29fVSShFskVgwQ6lN6gzpdDNJ4WYKPQW8ZYyKg==","signatures":[{"sig":"MEYCIQDPtRQ6VGaAnAl0fqYFUgU21aggkSRKaJNAeYUz8wDy2gIhAM7X6O+gjr8Qj+PG1scTx9x0RXJ5PuNR/If7ysSV10Vv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9729},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e6be1ac5f60fec78a6e90c40672e4f6fa48a92cd","scripts":{"test":"rm -rf dist && vitest run","build":"rm -rf dist && tsc","clean":"rm -rf dist && tsc --build --clean","example":"npm run build && node dist/example.js","test:ui":"vitest --ui","test:watch":"vitest"},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"repository":{"url":"git+https://github.com/icodeforlove/mrz-fast.git","type":"git"},"_npmVersion":"11.6.2","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"mrz":"^5.0.0","vitest":"^4.0.15","@vitest/ui":"^4.0.15","typescript":"^5.9.3","@types/node":"^25.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mrz-fast_1.0.8_1766244323272_0.6860062764454891","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"mrz-fast","version":"1.0.9","description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","license":"MIT","author":{"name":"Chad Scira","email":"chadvscira@gmail.com","url":"https://chadscira.com"},"homepage":"https://mrz.codes","repository":{"type":"git","url":"git+https://github.com/icodeforlove/mrz-fast.git"},"bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"scripts":{"build":"rm -rf dist && tsc","example":"npm run build && node dist/example.js","test":"rm -rf dist && vitest run","test:watch":"vitest","test:ui":"vitest --ui","clean":"rm -rf dist && tsc --build --clean"},"devDependencies":{"@types/node":"^25.0.0","@vitest/ui":"^4.0.15","mrz":"^5.0.0","typescript":"^5.9.3","vitest":"^4.0.15"},"gitHead":"0a47d97a24dfaa7b0153ef30cea860a194e0f1f2","_id":"mrz-fast@1.0.9","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Y6TQ0PBBwQcxMKBGo9Y3C868vQPs6CkDO/VDGnkYjSih70wjbjOV3zpv5tzPiTq2/8JUNLR5bNn72LCytRBpvA==","shasum":"8a4fcca8adf7d22ad21f85f41a960a33f470eda6","tarball":"https://registry.npmjs.org/mrz-fast/-/mrz-fast-1.0.9.tgz","fileCount":35,"unpackedSize":95347,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGHw3D68qIufws6dn0omsrqQALsARIcDQkhhxLms6Eb0AiEA5xbCZo6S7NdJFscRBAYY93fwtWFskDKME4Qh0zqnlwg="}]},"_npmUser":{"name":"icodeforlove","email":"chadvscira@gmail.com"},"directories":{},"maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mrz-fast_1.0.9_1766244482878_0.400481088970404"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-12T09:56:51.999Z","modified":"2025-12-20T15:28:03.207Z","1.0.0":"2025-12-12T09:56:52.169Z","1.0.1":"2025-12-12T10:26:58.288Z","1.0.2":"2025-12-13T06:01:42.702Z","1.0.3":"2025-12-13T06:03:20.771Z","1.0.4":"2025-12-13T06:06:21.604Z","1.0.5":"2025-12-13T09:08:50.822Z","1.0.6":"2025-12-15T09:00:07.471Z","1.0.7":"2025-12-15T09:09:19.961Z","1.0.8":"2025-12-20T15:25:23.443Z","1.0.9":"2025-12-20T15:28:03.018Z"},"bugs":{"url":"https://github.com/icodeforlove/mrz-fast/issues"},"author":{"name":"Chad Scira","email":"chadvscira@gmail.com","url":"https://chadscira.com"},"license":"MIT","homepage":"https://mrz.codes","keywords":["mrz","passport","parser","validator","validation","td3","icao","ocr","error-correction","machine-readable-zone","typescript"],"repository":{"type":"git","url":"git+https://github.com/icodeforlove/mrz-fast.git"},"description":"Zero-dependency TypeScript library for parsing, validating, and generating passport MRZ codes (TD3 / ICAO 9303) with built-in error correction","maintainers":[{"name":"icodeforlove","email":"chadvscira@gmail.com"}],"readme":"[![NPM](https://nodei.co/npm/mrz-fast.svg?style=flat-square&data=n,v,u,d&color=brightgreen)](https://www.npmjs.com/package/mrz-fast)\n\n# MRZ Fast\n\nA high-performance, **zero-dependency** TypeScript library for parsing and generating passport MRZ codes (TD3 format).\n\nSupports the **ICAO 9303 TD3 specification** - the standard machine-readable zone format used in international passports.\n\n![MRZ Format Explained](https://i.ibb.co/0RM2v68p/mrz-explained.jpg)\n\n## Features\n\n- **Zero Dependencies**: Pure TypeScript, no external packages required\n- **Passport-Only**: Focused exclusively on TD3 passport format (ICAO 9303)\n- **Fast**: >200,000 parses/second with optimized algorithms\n- **Validation**: Full check digit validation and field-level error reporting\n- **Error Correction**: Built-in OCR/AI error correction for common mistakes (O→0, I→1, S→5, etc.)\n- **Parse & Create**: Both parse MRZ strings and generate valid MRZ from data\n- **Type-safe**: Full TypeScript support with strict types\n\n## Installation\n\n```bash\nnpm install mrz-fast\n```\n\n## Quick Start\n\n### Parsing MRZ\n\n```typescript\nimport { parseMRZ } from 'mrz-fast';\n\nconst mrz: [string, string] = [\n  'P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<<',\n  'L898902C36UTO7408122F1204159ZE184226B<<<<<10'\n];\n\nconst result = parseMRZ(mrz);\n```\n\n```json\n{\n  \"valid\": true,\n  \"fields\": {\n    \"firstName\": \"ANNA MARIA\",\n    \"lastName\": \"ERIKSSON\",\n    \"documentNumber\": \"L898902C3\",\n    \"nationality\": \"UTO\",\n    \"birthDate\": \"740812\",\n    \"sex\": \"female\"\n  }\n}\n```\n\n### Creating MRZ\n\n```typescript\nimport { createMRZ } from 'mrz-fast';\n\nconst data = {\n  documentCode: 'P',\n  issuingState: 'UTO',\n  lastName: 'ERIKSSON',\n  firstName: 'ANNA MARIA',\n  documentNumber: 'L898902C3',\n  nationality: 'UTO',\n  birthDate: { year: 1974, month: 8, day: 12 },\n  sex: 'female',\n  expirationDate: { year: 2012, month: 4, day: 15 },\n  personalNumber: 'ZE184226B'  // optional\n};\n\nconst [line1, line2] = createMRZ(data);\n```\n\n```json\n[\n  \"P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<<\",\n  \"L898902C36UTO7408122F1204159ZE184226B<<<<<10\"\n]\n```\n\n### Error Correction for OCR/AI\n\nOne of the most powerful features is automatic error correction, especially useful for:\n- **OCR systems** that may confuse similar-looking characters\n- **AI models** that generate MRZ codes with common mistakes\n- **Damaged or unclear scans** of physical documents\n\n[![MRZ Error Correction Example](https://i.ibb.co/93CnWJ04/mrz-codes.jpg)](https://mrz.codes)\n\n```typescript\nimport { parseMRZ } from 'mrz-fast';\n\n// MRZ with common OCR/AI errors: O→0, I→1 confusion\nconst messyMrz: [string, string] = [\n  'P<UTOERIKSSON<<ANNA<MARIA',  // Too short (will be padded)\n  'L8989O2C36UTO74O8I22FI2O4I59ZEI84226B<<<<<IO'  // Multiple O/0 and I/1 errors\n];\n\nconst result = parseMRZ(messyMrz, { errorCorrection: true });\n```\n\n```json\n{\n  \"valid\": true,\n  \"corrected\": true,\n  \"fields\": {\n    \"documentNumber\": \"L898902C3\"\n  },\n  \"correctionMetrics\": {\n    \"attemptNumber\": 42,\n    \"totalAttempts\": 42,\n    \"totalCombinations\": 16384,\n    \"correctionApplied\": true\n  }\n}\n```\n\n**What error correction handles:**\n- **Character confusion**: O↔0, I↔1↔l, S↔5, B↔8, Z↔2, G↔6\n- **Length issues**: Automatically pads short lines or truncates long ones\n- **Leading padding**: Removes invalid leading `<` characters\n- **Smart search**: Tests up to 2 million combinations, trying most likely fixes first\n\nThis makes the library extremely robust for real-world applications where input quality varies.\n\n## API Reference\n\n### `parseMRZ(mrz, options?)`\n\nParses a TD3 passport MRZ.\n\n**Parameters:**\n- `mrz`: `[string, string]` - Tuple of 2 MRZ lines\n- `options`: Optional settings\n  - `errorCorrection?: boolean` - Enable OCR/AI error correction (default: `false`)\n\n**Returns:** `ParseResult` with parsed fields and validation status\n\n### `createMRZ(data)`\n\nCreates a valid TD3 passport MRZ.\n\n**Parameters:**\n- `data`: Object with required fields:\n  - `documentCode`: string (e.g., 'P', 'PA')\n  - `issuingState`: string (3-letter country code)\n  - `lastName`: string\n  - `firstName`: string\n  - `documentNumber`: string\n  - `nationality`: string (3-letter country code)\n  - `birthDate`: `{ year: number, month: number, day: number }`\n  - `sex`: `'male' | 'female' | 'unspecified'`\n  - `expirationDate`: `{ year: number, month: number, day: number }`\n  - `personalNumber?`: string (optional)\n\n**Returns:** `[string, string]` - Tuple of two 44-character MRZ lines with correct check digits\n\n## Available Fields\n\n```typescript\ninterface ParseResult {\n  format: 'TD3';\n  valid: boolean;           // Overall validation status\n  corrected: boolean;       // Whether corrections were applied\n  fields: {\n    documentCode: string | null;\n    issuingState: string | null;\n    lastName: string | null;\n    firstName: string | null;\n  documentNumber: string | null;\n    nationality: string | null;\n    birthDate: string | null;        // YYMMDD\n    sex: string | null;              // 'male', 'female', or 'unspecified'\n    expirationDate: string | null;   // YYMMDD\n    personalNumber: string | null;\n    // ... and check digits\n  };\n  lines: {\n    line1: string;  // Actual MRZ line 1 (corrected if errorCorrection was used)\n    line2: string;  // Actual MRZ line 2 (corrected if errorCorrection was used)\n  };\n  details: Details[];  // Per-field validation details\n  correctionMetrics?: {  // Only when errorCorrection: true\n    attemptNumber: number;\n    totalAttempts: number;\n    totalCombinations: number;\n    correctionApplied: boolean;\n  };\n}\n```\n\n## Performance\n\n- **Clean parsing**: ~0.005ms per parse (>200,000 ops/sec)\n- **With error correction**: ~0.006-0.009ms per parse (>100,000 ops/sec)\n- **Batch processing**: 156,760+ MRZs/second\n\nOptimizations:\n- Precomputed lookup tables\n- Smart ordering (tries likely fixes first)\n- Fast check digit validation\n- Minimal memory allocations\n\n## TD3 Passport Format (ICAO 9303)\n\nThis library **only supports TD3 format** - the two-line machine-readable zone used in international passports according to the ICAO 9303 specification.\n\nTD3 format consists of 2 lines of 44 characters each:\n\n**Line 1:**\n- Document code (2 chars): P, PA, PO, PT\n- Issuing state (3 chars): Country code\n- Names (39 chars): LASTNAME<<FIRSTNAME\n\n**Line 2:**\n- Document number (9 chars) + check digit\n- Nationality (3 chars)\n- Birth date (6 chars, YYMMDD) + check digit\n- Sex (1 char): M, F, or <\n- Expiration date (6 chars, YYMMDD) + check digit\n- Personal number (14 chars, optional) + check digit\n- Composite check digit\n\nCheck digits use ICAO 9303 algorithm with weights [7, 3, 1].\n\n## Development\n\n```bash\nnpm install      # Install dependencies\nnpm run build    # Build TypeScript\nnpm test         # Run tests\n```\n\n## License\n\nMIT\n\n## Credits\n\nInspired by the excellent [@mrz](https://github.com/ml-lab/mrz) library by Zakodium.","readmeFilename":"README.md"}