This EU EORI number checker validates the format of a customs
registration number for every EU member state, with full checksum verification for Dutch
and French EORI numbers, which are built directly on top of national identifiers with a
documented checksum.
How to use it
Paste the EORI number with its country prefix. For NL and FR, the tool runs the full
checksum (11-proef and Luhn respectively) on the embedded national number. For every other
country, it checks the general EORI structure: a 2-letter country code followed by up to 15
alphanumeric characters.
How EORI numbers are built
Rather than inventing a new numbering scheme, most EU countries issue EORI numbers by
prefixing an existing national business or tax identifier with the country code — which is
why a Dutch EORI number is exactly "NL" plus a 9-digit RSIN, and a French one is "FR" plus a
14-digit SIRET. Countries that don't reuse an existing checksummed identifier (like Germany,
whose EORI is built from an internal customs number) can't be checksum-verified without a
published formula.
Format-only vs. fully verified
A "format valid" result means the number has the right shape for its country but hasn't had
its checksum verified — it could still be mistyped in a way the format check can't catch.
A "valid" result for NL or FR means the embedded national number also passed its checksum,
which is a meaningfully stronger signal.
Frequently asked questions
What is an EORI number?
EORI (Economic Operators Registration and Identification) is the EU-wide number customs authorities use to identify businesses and individuals who import or export goods. It always starts with a 2-letter country code, followed by an identifier issued by that country — usually built on top of an existing national number.
Why does this tool fully verify some countries but not others?
Several countries build their EORI number directly from a national identifier this site already validates elsewhere: Dutch EORI numbers are "NL" + the 9-digit RSIN/BSN, and French EORI numbers are "FR" + the 14-digit SIRET. For those, this tool reuses the same checksum logic (11-proef and Luhn respectively). Other countries either use an internally issued customs number with no published checksum, or weren't worth the risk of a guessed algorithm reporting false confidence.
Does this replace the EU's official EORI validation service?
No. The European Commission runs a live EORI validation service that confirms whether a number is currently registered and active. This tool is a fast client-side first-pass check for format and, where possible, checksum — always confirm via the official service before relying on a number for customs paperwork.
What format should I paste the number in?
With or without spaces, starting with the 2-letter country code — e.g. "NL852416864" or "FR73282932000074". The tool strips spaces and uppercases letters automatically.
Is my EORI number sent anywhere?
No. All checks run entirely client-side in JavaScript — nothing is transmitted, logged, or stored.