EU EORI Number Checker

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.

EU EORI Number Checker Pro

Pro version coming soon — batch validation via CSV upload, exportable results, API access, and an offline version. The free tool stays free.

Pro version coming soon

Batch validation via CSV upload, exportable results, API access, and an offline version are on the way. The free tool stays free.

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.