Bogstaverne i koden erstattes med A=10, B=11 osv., inden Luhn-algoritmen anvendes.
Eksempelrutine i Python som afgør om en ISIN-kode er korrekt (har korrekt kontrolciffer):
import re
def isin_check(s):
if not bool(re.search("^[A-Z]{2}[A-Z\d]{9}\d$", s)):
return False
d=dict(zip(map(str, xrange(10)) +
map(chr, xrange(ord('A'), ord('Z')+1)), map(str, xrange(36))))
p=re.compile("|".join(d.keys()))
r=p.sub(lambda x: d[x.group()], s)
return (sum(map(lambda x: x%10 + x/10,
[int(r[i])*((i+1)%2 + 1) for i in xrange(len(r))]))) % 10 == 0