CheckDigit

Check any identifier's format and check digit

Paste an IBAN, BIC, EU VAT number, EAN/UPC/GTIN or ISBN. CheckDigit works out which it is and tells you whether the format and check digit are correct, and why not if they aren't.

Try:
This is a format check, not a compliance check. A valid format or checksum does not prove that a bank account, VAT registration, bank or product exists, is active, or belongs to anyone in particular. For VAT registration status use the EU's VIES service; for payments, rely on your bank's own checks.

What it checks

When a check fails you get the reason, for example checksum fails, expected 7 or length is 21, expected 22 for DE.

Use it from code

curl -X POST https://checkdigit/v1/detect \
  -H "Content-Type: application/json" \
  -d '{"code": "DE89 3704 0044 0532 0130 00"}'

POST keeps the code out of the URL. For non-sensitive codes, GET /v1/detect/{code} works too.

Every endpoint is listed in the API docs. Light use works without an API key, with a per-IP rate limit.

Privacy

Codes are checked in memory and returned to you. They are not stored or logged; CheckDigit keeps request counts only. This checker sends the code in the request body, not the URL.