CUSIP / ISIN Validator
us-financeValidate a CUSIP (9-char US security ID) or ISIN (12-char global security ID) using their official checksum algorithms. Free, in-browser, no data uploaded.
What is a CUSIP/ISIN?
The CUSIP / ISIN Validator checks whether a security identifier is structurally valid using each format's official checksum algorithm. Enter 9 characters for a CUSIP or 12 characters for an ISIN โ the validator auto-detects the type and applies the correct algorithm.
CUSIP (9 characters): the standard US and Canadian security identifier, managed by CUSIP Global Services under the American Bankers Association. Used on all US exchange-listed equities, corporate bonds, government bonds, mutual funds, and ETFs. The check digit uses a modified doubling algorithm with alphanumeric transliteration.
ISIN (12 characters): the global security identifier under ISO 6166, consisting of a 2-letter country code + 9-character national security ID + 1 Luhn check digit. US ISINs embed the CUSIP in positions 3โ11. Indian ISINs use country code "IN" and are assigned by NSDL.
The validator performs three checks:
- Length detection โ 9 chars triggers CUSIP path; 12 chars triggers ISIN path
- Character validation โ CUSIP: digits, uppercase letters, *, @, #; ISIN: 2 letters then alphanumeric
- Checksum โ CUSIP modified doubling algorithm; ISIN Luhn on letter-expanded string
What it does not check: Whether the identifier is listed in the official CUSIP Global Services database, currently tradeable, or associated with an active issuer. For official lookup, use CUSIP Global Services, the SEC's EDGAR database, or the NSE/BSE website for Indian ISINs.
Related tools: SWIFT / BIC Validator for bank identifier codes and IBAN Validator for bank account numbers.
All validation is client-side. No data is transmitted.
How to use this CUSIP/ISIN calculator
- Enter the identifier โ 9 characters for CUSIP, 12 for ISIN.
- Check the Valid/Invalid badge โ auto-detection and checksum run instantly.
- Read the details โ issuer code, issue code or country code, and check digit.
- For US ISINs: the CUSIP is embedded in positions 3โ11.
- For official lookup: query CUSIP Global Services, SEC EDGAR, or NSE/BSE for listed securities.
- Related tools: use the SWIFT / BIC Validator for bank identifiers.
Formula & Methodology
CUSIP check digit:For positions 1โ8 (0-indexed: 0โ7): value = transliterate(char) // A=10..Z=35, *=36, @=37, #=38, 0-9=face value if position is even (0,2,4,6): use value as-is if position is odd (1,3,5,7): double value; if result โฅ 10, add digits sum all 8 results check digit = (10 - (sum % 10)) % 10ISIN Luhn check digit:Expand each character: letters โ two-digit number (A=10..Z=35), digits โ single digit Concatenate expanded string Apply standard Luhn: valid if sum % 10 === 0Valid and invalid examples: | Identifier | Valid? | Type | Note | |---|---|---|---| |037833100| โ | CUSIP | Apple Inc. | |US0378331005| โ | ISIN | Apple Inc. US ISIN | |INE002A01018| โ | ISIN | Reliance Industries (IN) | |037833101| โ | CUSIP | Check digit should be 0 | |US037833100| โ | โ | 11 chars โ neither CUSIP nor ISIN |
Frequently Asked Questions