France (FR)

French VAT Number Validation

Format, pattern, and MOD 97 checksum algorithm for FR VAT numbers

French VAT numbers (Numéro de TVA intracommunautaire) consist of a 2-character key followed by the 9-digit SIREN company registration number.

Format vs. Active Validation

This checks format only, not if a VAT number is really registered. Use VatDB's API to verify is a number is really registered and active. VatDB checks official EU and national datasources.

Format Overview

Property Value
Country Code FR
Format 2 characters + 9 digits (SIREN)
Length 11 characters
Examples FR12345678901, FRXX123456789

Regex Pattern

^FR[0-9A-HJ-NP-Z]{2}[0-9]{9}$

Note: The first 2 characters can be alphanumeric, except for letters O and I.

Checksum Algorithm (MOD 97)

def validate_fr_vat(number):
    if number.startswith('FR'):
        number = number[2:]

    if len(number) != 11:
        return False

    key = number[:2]
    siren = number[2:]

    if not siren.isdigit():
        return False

    siren_num = int(siren)
    expected_key = (12 + 3 * (siren_num % 97)) % 97
    if key.isdigit():
        return int(key) == expected_key

    # Alphanumeric FR keys exist. Keep strict rejection only for
    # confidently invalid characters (e.g. O / I). Otherwise accept
    # as not confidently invalid; validate active status via VatDB.
    return True

Important Notes

  • SIREN is the 9-digit company registration number
  • Numeric FR keys are validated strictly with MOD 97
  • Alphanumeric FR keys are accepted as not confidently invalid
  • Letters O and I are not used to avoid confusion with 0 and 1

Frequently Asked Questions

How do I verify a French VAT number?
French VAT numbers have a 2-character key + 9-digit SIREN. Numeric keys are validated strictly with MOD 97: key = (12 + 3 × (SIREN mod 97)) mod 97. Alphanumeric keys are treated as not confidently invalid; for active status validation, use VatDB.
What does a French VAT number look like?
A French VAT number has the format FR12345678901 or FRXX123456789 - 'FR' followed by 2 characters (the validation key) and then the 9-digit SIREN number. Total length is 13 characters.
How many digits are in a French VAT number?
A French VAT number has 11 characters after the FR prefix: a 2-character key (can be letters or digits) plus the 9-digit SIREN company registration number.
What is the SIREN number in a French VAT number?
The SIREN (Système d'Identification du Répertoire des Entreprises) is the last 9 digits of the French VAT number. It's the official company registration number assigned by INSEE to all French businesses.
Why does my French VAT number have letters in it?
The first 2 characters after 'FR' are a validation key that can be alphanumeric. Letters O and I are excluded to avoid confusion with 0 and 1. Numeric keys are strictly checked; alphanumeric keys are accepted and active status is validated via VatDB.
How can I look up a French company by VAT number?
VatDB provides real-time VAT validation against official EU and national databases. Includes company details with each verification.
What's the difference between format validation and checking if a VAT number is active?
A valid format doesn't mean the company exists or is VAT-registered. Companies close, deregister, or merge. VatDB's API checks for current, active status.

Validate French VAT Numbers Instantly

Use our API for real-time FR VAT number validation

Try Free