ISIN Validator & Check Digit Calculator
Check whether an ISIN — the 12-character International Securities Identification Number used for stocks, bonds and funds worldwide — is correctly formed, or calculate the check digit for the first 11 characters. Free, instant, runs in your browser.
How the ISIN checksum works
An ISIN has three parts: a two-letter ISO country prefix identifying the national numbering agency (US, IT, DE, GB…, or XS for international securities), a nine-character alphanumeric NSIN (the national security identifier — in the United States this is the CUSIP, in the UK the SEDOL padded with leading zeros), and a final check digit.
The check digit uses the same Luhn algorithm that protects payment card numbers, with one twist: letters are first converted to numbers using A=10, B=11 … Z=35. The expanded digit string is then processed right to left, doubling every second digit (subtracting 9 from two-digit products), and the identifier is valid when the total is a multiple of 10.
Worked example — Apple's ISIN US0378331005: U→30, S→28, so US037833100 expands to 3028037833100. Applying the doubling pattern gives a weighted sum of 45, and the next multiple of 10 is 50, so the check digit is 5 — exactly the final character. Change any single character and the sum no longer lands on a multiple of 10, which is how data-entry errors in trade files and portfolio uploads get caught before they hit settlement.
How the NSIN is built, country by country
The middle nine characters — the NSIN — are simply the pre-existing national identifier, padded to nine characters. In the United States and Canada the ISIN wraps the nine-character CUSIP, so a US ISIN is literally US + CUSIP + check digit. In the UK and Ireland it wraps the seven-character SEDOL, left-padded with two zeros. Other agencies use their own schemes, but the 12-character envelope and the final Luhn digit are always the same, which is what lets one validation routine cover every market.
Because the NSIN can contain letters, some ISINs expand to an odd number of digits before the Luhn pass — and that is exactly where naive implementations go wrong. Take Bayer's DE000BAY0017: there are no letters inside the NSIN here, but for an identifier like US30303M1027 (Meta Platforms) the embedded M becomes 22, lengthening the string the checksum runs over. The doubling pattern must always be anchored to the right-hand end of the expanded string, never the left, or half of all valid ISINs will be wrongly rejected. This tool anchors correctly, so it agrees with official records on both even- and odd-length cases.
ISIN vs CUSIP vs FIGI
These three identifiers are often confused. The CUSIP is the North-American national number (9 characters) that lives inside a US/CA ISIN. The ISIN is the global 12-character wrapper used for cross-border trading and regulation. The FIGI (Financial Instrument Global Identifier) is a separate, openly-licensed 12-character code that identifies an instrument at a specific exchange and, unlike the ISIN, never changes and is free to redistribute. A single share can therefore carry a CUSIP, an ISIN and several FIGIs at once — they answer different questions, and only the ISIN and CUSIP carry the Luhn-style check digit this tool verifies.
Where you meet ISINs
ISINs appear in broker statements, fund factsheets, MiFID II and EMIR transaction reports, dividend notices and every cross-border settlement message — regulators in the EU key trade reporting to the ISIN precisely because it is unambiguous across venues and currencies. Back-office and compliance teams routinely validate entire columns of them when onboarding portfolios: a mistyped ISIN is one of the most common causes of failed trade matching, and the checksum catches the overwhelming majority of typos instantly — long before the file reaches a counterparty or a regulator's validation gate rejects the whole submission.
FAQ
Does a valid checksum mean the ISIN exists?
No. A valid check digit only means the identifier is correctly formed. Whether it is actually assigned to a security is recorded by the national numbering agencies (ANNA network) — checksum validation is a first filter against typos, not a registry lookup.
What do the first two letters mean?
They are the ISO 3166 country code of the numbering agency that issued the identifier — US for the United States, IT for Italy, DE for Germany. XS marks international securities cleared through Euroclear/Clearstream, and EU appears on some European Union issues.
Is an ISIN the same as a ticker symbol?
No. Tickers (like AAPL) are exchange-specific and can change or be reused; the ISIN identifies the security itself and stays the same across every exchange and currency in which it trades. That is why regulatory reporting is keyed to ISINs, not tickers.
Validating whole portfolios?
Our pay-per-use API validates identifiers in bulk — 25 free calls per month, no card required.
Embed this validator on your site — free
Run a finance blog, back-office wiki or brokerage help centre? Add the validator to any page by pasting this snippet (please keep the credit link):
Click the code to select it, then copy. Works on WordPress, Shopify pages, Notion (via embed), and any HTML page.
Format and checksum validation only (ISO 6166 structure, Luhn algorithm). This tool does not confirm that a security exists or query any registry.