LEI Checker
Paste a Legal Entity Identifier — or a column of them. You get the structure and the check digit, and a plain statement of what that does not prove.
🔒 Your data never leaves your browser.
Where these rules come from — and where they do not
ISO 17442 is a paid standard, so it is not quoted here. GLEIF’s own page describing the code structure could not be reached anonymously when this tool was built: two different URLs for it returned a byte-for-byte identical generic page, and a real browser landed on the homepage. Rather than cite a page that does not say what we claim, the structure rules here are measured.
We took 800 real codes from 16 countries from GLEIF’s own public API, spanning 16 different issuing organisations, and checked what actually holds:
- every code is exactly twenty characters, drawn from 0–9 and A–Z
- characters five and six read
00in every one of them - every one satisfies the modulo-97 rule
- the check digits run from
02to98—00,01and99never appear
That is evidence, not a citation, and it is labelled as such. It is also how we caught our own
first mistake: seven of those real codes end in 97, and an implementation that
compares against one computed pair of digits rejects them, because 97 and
00 are the same number modulo 97. The check has to be “does the whole code satisfy
the rule”, not “does it end in the digits I calculated”.
What a passing check digit is worth
Less than people assume. Changing one character of a real code, in every position and to every other permitted character — over seven thousand mutations — still passed about three times in a thousand. A check digit means no error was detected.
And it says nothing at all about registration. A code that was never issued can be well formed; so can one whose registration lapsed years ago. Only the GLEIF search answers that, and answering it means a network request, which this page does not make — so it hands you the link instead of guessing.
What the four parts are
| Characters | What they are |
|---|---|
| 1–4 | the organisation that issued the code |
| 5–6 | reserved, always 00 |
| 7–18 | identifies the legal entity |
| 19–20 | check digits over the first eighteen |
Knowing which part is which turns “this code is wrong” into “this part of the code is wrong”, which is the difference between re-typing twenty characters and finding the two that were transposed.
Every check this tool runs (10 rules)
LEI-E01 A valid LEI is not necessarily a registered one
The check digit proves the twenty characters are internally consistent. It says nothing about whether that code was ever issued, which entity holds it, or whether the registration is still active — a lapsed LEI passes this check exactly as a current one does. Only the GLEIF search answers those questions, and answering them means a network request, which this page does not make.
Fix: Look the code up in the GLEIF search before relying on it.
Source: GLEIF LEI search — the authority on whether an LEI exists
LEI-E02 The check digit does not catch every single-character error
A two-digit modulo-97 checksum catches almost every typo, not every one. Changing a single character of a real code, in every position and to every other permitted character — over seven thousand mutations — left the checksum intact about three times in a thousand. Treat a passing check digit as “no error detected”, not as “correct”.
LEI-F01 An LEI is twenty characters
The Legal Entity Identifier is a fixed-length twenty character code. A different length is not a variant or an older format — it is a different string that happens to have been put in an LEI field.
Fix: Check the source of the code; twenty characters, no separators.
LEI-F02 Only digits and capital letters
The code is drawn from the digits 0–9 and the capital letters A–Z. Every one of the 800 real codes checked used only those characters. Anything else — punctuation, spaces inside the code, letters with accents — means the value has been mangled or is not an LEI at all.
Fix: Remove anything that is not a digit or a letter and check the length again.
LEI-F03 Characters five and six are reserved and read 00
Positions five and six sit between the prefix of the issuing organisation and the entity-specific part, and they are reserved. All 800 real codes checked carry 00 there. A code with anything else in those two positions did not come from the LEI system.
Fix: Check whether the code was truncated or concatenated with something else.
LEI-C01 The check digits do not match
The last two characters are check digits over the first eighteen. When they do not match, one of the twenty characters is wrong — most often a transposition, or a letter and digit that look alike in the font the code was printed in.
Fix: Re-read the code from its source rather than correcting it to the expected digits — the error may be in the first eighteen characters, not the last two.
LEI-C02 The check digits match
The twenty characters are internally consistent under the modulo-97 rule that every one of the 800 real codes we checked satisfies. This is the strongest statement that can be made about an LEI without asking GLEIF.
LEI-D01 Check digits run from 02 to 98
The two check digits are never 00, 01 or 99 — none of the 800 real codes checked used those values, and the arithmetic that produces them cannot. A code ending in one of the three is not a code with an unlucky checksum; it was constructed by something that did not implement the rule.
Fix: Check where the code came from — a value ending 00 usually means the check digits were never calculated.
LEI-S01 What the four parts are
Characters one to four identify the organisation that issued the code, five and six are reserved, seven to eighteen identify the entity, and nineteen and twenty are the check digits. Knowing which part is which is what turns “this code is wrong” into “this part of the code is wrong”.
LEI-W01 Spaces, hyphens or lower case were removed
LEIs are written as an unbroken run of capitals and digits. Codes copied out of documents often arrive with spaces every four characters or in lower case. Those are presentation, so they are stripped before checking — but a system that stores them that way will fail to match the code against anyone else’s copy of it.
Fix: Store the code as twenty unbroken capitals and digits.
Structure rules are measured against 800 real codes taken from GLEIF's public API on 2026-08-23, not quoted from a specification page — see the note above for why.