1. Normalize the input
Spaces are removed and the representation is normalized.
🇸🇲 IBAN COUNTRY PROFILE · San Marino
An IBAN for San Marino always contains 27 characters. After SM and two IBAN check digits, the national BBAN contains 5-character bank identifier, 5-character branch identifier, 12-character account part and 1-character national check digit. The bank identifier is checked against the available bank directory; where available, the result also includes the institution, city and BIC.
The reference example SM84 N030 3409 8000 0000 0270 100 shows the country-specific components. It is provided for explanation only and is not a request to make a payment.
| Position | Length | Component | Format |
|---|---|---|---|
| 1–2 | 2 | Country code | Letters: SM |
| 3–4 | 2 | IBAN check digits | Digits |
| 5–5 | 1 | National check digit | Letters |
| 6–10 | 5 | Bank identifier | Digits |
| 11–15 | 5 | Branch identifier | Digits |
| 16–27 | 12 | Account part | Alphanumeric |
This validator accepts only IBANs from the selected country.
Validation covers normalization, country assignment, the fixed 27-character length, the country-specific segment structure and MOD-97. The bank identifier is also checked against the available bank directory. Account ownership and real-time account existence are not checked.
Spaces are removed and the representation is normalized.
SM, the length and the segment sequence are checked.
The international checksum catches many typing errors.
The bank identifier is checked and available bank details are returned.
| Validation step | Available | Details |
|---|---|---|
| Country, length and structure | Yes | SM, 27 characters; 5-character bank identifier, 5-character branch identifier, 12-character account part and 1-character national check digit. |
| MOD-97 checksum | Yes | Mathematical IBAN validation. |
| Known bank identifier | Yes | The bank identifier is checked against the available directory. |
| National account check | Yes | The national account checksum is validated using the country-specific method. |
| Bank details and BIC | Yes | Available institution details and BIC are returned from the directory. |
| IBAN name check | No | No comparison between an account holder’s name and the IBAN. |
| Account existence | No | No request is sent to the account-holding institution. |
The same validation is available through the REST API. The IBAN is sent in the request and is not placed in a public, indexable URL.
curl --get 'https://www.iban-test.eu/api/v2/iban/validate' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--data-urlencode 'iban=SM84 N030 3409 8000 0000 0270 100'For this country, the response also checks the bank identifier against the available directory and returns bank details and BIC where published.
Formal validity is a strong signal against input errors, but it is not real-time confirmation of an account.
The account may be closed or unreachable.
A person or company name is not compared with the IBAN.
A valid IBAN does not guarantee that a payment will be accepted.
Country formats may be updated when the official registry changes.
Privacy: The input is transmitted only for validation and is not placed in the page URL.
Bank data validation
For these countries, we check IBANs against available bank directories and return bank details such as institution, city and BIC when available.
IBAN syntax check
Check IBANs for a valid structure, correct length and checksum. This helps you catch typos and transposed digits before a payment fails. Additional bank validation against real bank directories is available for the countries listed above.
API and automation
Validate IBANs in payment forms, SaaS products, SEPA workflows and AI agents. Use the REST API for automation or connect AI clients through MCP.
MCP Server for AI Agents - Connect AI clients to IBAN validation tools - https://www.iban-test.eu/mcp - API Documentation