It took me a lot of trial and error, but I can now generate the correct MRZ (Machine Readable Zone) content with a bit of HTML and JavaScript. Verified with various passport/identity card scanning apps :) Getting the input for the composite checksum right was quite frustrating, but it works now :)
Conversation
Notices
-
Embed this notice
Jan Wildeboer 😷:krulorange: (jwildeboer@social.wildeboer.net)'s status on Friday, 03-Jan-2025 06:25:17 JST Jan Wildeboer 😷:krulorange:
-
Embed this notice
Jan Wildeboer 😷:krulorange: (jwildeboer@social.wildeboer.net)'s status on Tuesday, 31-Dec-2024 03:35:05 JST Jan Wildeboer 😷:krulorange:
New blog post: ICAO9303, 8th edition. How passports and identity cards are standardised and how you could use these standards as inspiration for any kind of corporate or conference badge.
Replies here will show up as comments under the blog post too!
-
Embed this notice
thinkberg (thinkberg@tetrax.de)'s status on Friday, 03-Jan-2025 06:39:53 JST thinkberg
@jwildeboer It gets interesting if you have to transliterate non-latin names ;-) every country has their own way, for example kyrillic names sre differently transliterated in Russian or Ukrainian.
-
Embed this notice
thinkberg (thinkberg@tetrax.de)'s status on Friday, 03-Jan-2025 06:51:12 JST thinkberg
@jwildeboer Unfortunately, no python back then, we had to write our own in ts and Scala for the vaccination pass.
-
Embed this notice
Jkoan (jkoan@fosstodon.org)'s status on Friday, 03-Jan-2025 17:23:56 JST Jkoan
@jwildeboer one interesting question I had in mind since reading your posts: sometimes I see cigarette automates which presumably read this machine readable data. What data is actually parsed by those things, and would it be enough to print out this and put it on a blank card, or is there more that gets verified?
-
Embed this notice