How Our Validators Work
Every result on this site is computed with a public, documented algorithm or looked up in an official public dataset. Same input, same output, every time — here is exactly what runs under the hood.
Deterministic by design
CodeClassify deliberately uses no AI or machine learning to produce results. Identifiers like barcodes, IBANs and VINs are governed by precise mathematical rules written down in public standards; the correct way to check them is to implement those rules, not to ask a language model to guess. A deterministic validator is either right or it has a bug — and a bug, once reported, is fixed for every user at once. If you believe you have found one, see our corrections policy.
Where the checks run
All free tools on this site run entirely in your browser. The codes you type or paste are processed by JavaScript on your device and are never transmitted to our servers, stored, or logged. This is why the tools work offline once the page is loaded, and why we can offer them without accounts or limits. The separate developer API processes requests server-side, as any API must; its handling of data is described in the privacy policy.
The algorithms, tool by tool
| Tool | Algorithm / method | Defined by |
|---|---|---|
| GTIN / UPC / EAN check digit, SSCC-18, bulk validator, barcode generator | GS1 Mod-10 check digit (weights 3 and 1 from the right) | GS1 General Specifications |
| ISBN-10 ↔ ISBN-13 converter | Mod-11 weighted checksum (ISBN-10) and GS1 Mod-10 (ISBN-13); conversion recomputes the check digit | ISO 2108 / ISBN standard |
| IBAN checker | MOD 97-10 check on the rearranged, transliterated account number, plus per-country length and structure rules | ISO 7064 and ISO 13616 |
| Luhn checker (cards & IMEI) | Luhn algorithm: double alternate digits, fold two-digit products, sum mod 10 | Public-domain algorithm (H. P. Luhn, 1960) |
| ISIN validator | Structure check (country code + 9 alphanumerics) and Luhn over the digit-expanded string | ISO 6166 |
| EU VAT number validator | Per-country structure and checksum rules for all EU member states | National VAT number formats |
| Container number validator | ISO 6346 check digit: letter transliteration, powers-of-two weighting, mod 11 | ISO 6346 |
| ABA routing number validator | 3-7-1 weighted checksum plus valid Federal Reserve prefix ranges | ABA routing number rules |
| VIN validator & decoder | Position-9 check digit (transliteration table, position weights, mod 11) plus structural decoding of WMI, model year and plant | 49 CFR § 565.15 (US federal regulation) |
| NAICS & SIC lookup, SIC ↔ NAICS crosswalk, HS code lookup | Direct lookup in official government datasets — no inference or fuzzy guessing beyond text search | See data sources |
If you want the math itself explained step by step with worked examples, read How check digits work: Mod-10 and Mod-97.
What a "valid" result means — and what it doesn't
This is the most important thing to understand about any checksum tool, ours included:
- Valid means internally consistent. The number is structurally correct and its check digit matches — it was not obviously mistyped or corrupted.
- Valid does not mean registered. A GTIN passing the Mod-10 check is not proof that GS1 has licensed it to anyone, or that Amazon will accept it. An IBAN passing MOD-97 is not proof the bank account exists or is open. A VAT number with a correct national format is not proof the business is VAT-registered — only the EU's official VIES service can confirm registration.
- Some rules are regional. The VIN check digit, for example, is mandatory only for vehicles made for North America; a European VIN can be perfectly genuine and still fail the position-9 check. Where a rule has exceptions like this, the tool page says so.
We state these limits on every tool rather than overselling what a checksum can do. Checksum validation is the fast first filter that catches typos and fabricated numbers; registry confirmation, where you need it, belongs to the official registries.
How we test
Each validator is exercised against worked examples published in the official specifications and against known-good real-world codes, including edge cases (check digit 0, the ISBN-10 "X" check character, 97-boundary IBANs). When a user reports a discrepancy, we re-derive the calculation from the standard before changing anything, and record the fix in the changelog.
Related
Data sources & licenses — where every dataset on this site comes from. Editorial & accuracy policy — how content is written, reviewed and corrected. About & contact.