Generator · Lithuanian data
Lithuanian IBAN
Endpoint GET /v1/lt/iban
What it covers
Returns a valid Lithuanian IBAN with a correct checksum. Pin the issuing bank with `bankCode` (5-digit bank code) or `bankName` (mutually exclusive), or let it be chosen at random. Set `invalid=true` to get an IBAN with deliberately wrong check digits, for testing checksum validators.
An IBAN wraps a country’s domestic account number (the BBAN) with a two-character country code and two ISO 13616 check digits. The check digits guard the whole string with an ISO 7064 MOD 97-10 checksum — the same family as the mod-97 used across European identifiers. Some countries (e.g. France) also carry a second, national check digit inside the BBAN, which this generator computes too, so the result passes strict domestic validation and not merely the outer mod-97.
How it’s calculated
The two check digits (positions 3–4) make the whole IBAN satisfy ISO 7064 MOD 97-10 — i.e. the rearranged, letters-to-digits value is ≡ 1 (mod 97).
Algorithm
- Start from the BBAN (the country’s domestic account number).
- Convert every letter to two digits: A=10, B=11, …, Z=35. Digits stay as they are.
- Append the country code (also letter→number converted) and the two digits "00" as a placeholder for the check digits.
- Interpret that whole string as one big integer and take it modulo 97.
- The check digits are 98 − (that remainder), written as two digits (zero-padded).
- To validate later: move the leading four characters (country code + check digits) to the end, convert letters to digits, and confirm the result is ≡ 1 (mod 97).
Worked example
DE + BBAN 370400440532013000 (check digits = ?)
BBAN 370400440532013000 is all digits, so it stays as-is.
Country code DE → D=13, E=14 → "1314".
Build the check string: 370400440532013000 + 1314 + 00 = 370400440532013000131400.
370400440532013000131400 mod 97 = 9.
check digits = 98 − 9 = 89.The check digits are 89, so the IBAN is DE89370400440532013000 (which validates: rearranged, it is ≡ 1 mod 97).
References
Edge cases
- The BBAN length and layout differ by country (a German IBAN is 22 characters, a Maltese one 31), but the outer checksum is identical everywhere.
- With invalid=true the check digits are shifted by 1–96 mod 97, so the IBAN can never accidentally stay congruent — it always fails mod-97 while keeping the right length and country code.
Gotchas
- The checksum runs on a rearranged string: the first four characters (country code + check digits) move to the END before the mod-97 is taken. Computing mod-97 on the IBAN as written gives the wrong answer.
- Letters are converted to numbers before the arithmetic: A=10, B=11, … Z=35. The country code letters are converted the same way.
Parameters
| Parameter | Type | Description |
|---|---|---|
| bankCode | string | Pin the issuing bank by its 5-digit bank code. Mutually exclusive with bankName. |
| bankName | string | Pin the issuing bank by a case-insensitive name fragment. Mutually exclusive with bankCode. |
| count | integer1–1000 | Number of records to return, 1–1000 (your plan may lower this). Omitted returns a single record; set it for a batch. |
| edge | boolean | Restrict output to valid edge-case IBANs from the rare corners of the format. |
| extreme | boolean | Return a correct value wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, or bidi/combining marks). Homoglyphs are excluded so the value stays machine-parseable; it still validates after normalisation. |
| format | "grouped" | "compact" | IBAN rendering: grouped or compact. Default grouped. |
| invalid | boolean | Return an IBAN with deliberately wrong check digits, for testing validators. |
| seed | integer | Integer seed for reproducible output: the same seed always yields the same record. |
Response fields
| Field | Type | Description |
|---|---|---|
| value | string | The IBAN in the requested format. |
| electronicFormat | string | The space-free electronic form of the IBAN. |
| bankCode | string | The bank identifier embedded in the IBAN. |
| bankName | string | Human-readable name of the issuing bank. |
Other generators for Lithuania
The same kind of identifier elsewhere
Try it