France VAT Number Format (FRXX123456789)
Taxe sur la valeur ajoutée (TVA) number structure, regex & verified examples
Everything you need to know about Taxe sur la valeur ajoutée (TVA) numbers in France — they follow the pattern FR + 2 alphanumeric + 9 digits (e.g. FRXX123456789), and can be verified against VIES. For the rates themselves, see France VAT rates and their history. Building a check into your app? See the France VAT API.
VAT Number Format
Structure
FR + 2 alphanumeric + 9 digitsExample format
FRXX123456789Regex
^FR[A-HJ-NP-Z0-9]{2}\d{9}$VAT numbers are not case-sensitive — lowercase input is automatically normalised.
More on France
- France VAT rates and historyCurrent standard and reduced rates, and every past change.
- France VAT validation APIEndpoint, response fields and code samples for this country.
- France Reverse charge rulesWhen to zero-rate a cross-border B2B invoice, and what to write on it.
- France VIES uptimeAvailability of this country in the Commission database, sampled continuously.
What we return for France
- VIES validation (valid / not valid)
- Company name & address
- National registry ID
- Founded date
- Legal form
- Industry
- Works if VIES is down
See the full coverage table for all 27 EU member states + Northern Ireland →
Famous France VAT Numbers
LVMH Moët Hennessy Louis Vuitton SE
FR81775670417
Luxury goods conglomerate
Verify →
TotalEnergies SE
FR59542051180
Global integrated energy company
Verify →
BNP Paribas SA
FR76662042449
Europe's largest bank by total assets
Verify →
Airbus SAS
FR89383474814
World's largest commercial aircraft manufacturer
Verify →
Renault SAS
FR66780129987
French car manufacturer (Renault Group)
Verify →
Carrefour SA
FR14652014051
World's second-largest retailer by revenue
Verify →
Check a France VAT Number
Enter a TVA number starting with FR to verify it against the official VIES database.
Format: FR + 2 alphanumeric + 9 digits
Validate a France FR VAT number via API
Get France VAT rates via API — free, no key
No API key requiredcurl "https://api.vatnode.dev/v1/rates/FR"
{
"countryCode": "FR",
"countryName": "France",
"vatName": "Taxe sur la valeur ajoutée",
"vatAbbr": "TVA",
"standardRate": 20,
"reducedRates": [
13,
10,
8.5,
5.5,
1.05,
0.9
],
"superReducedRate": 2.1,
"parkingRate": null,
"vatNumberFormat": "FR + 2 alphanumeric + 9 digits",
"vatNumberPattern": "^FR[A-HJ-NP-Z0-9]{2}\\d{9}$",
"updatedAt": "2026-08-13"
}Get France VAT rates via package — offline, no HTTP
eu-vat-rates-data# npm install eu-vat-rates-data
import { getRate } from 'eu-vat-rates-data'
const rate = getRate('FR')
console.log(rate.standard) // FR standard VAT rate{
"country": "France",
"currency": "EUR",
"eu_member": true,
"vat_name": "Taxe sur la valeur ajoutée",
"vat_abbr": "TVA",
"standard": 20,
"reduced": [
0.9,
1.05,
5.5,
8.5,
10,
13
],
"super_reduced": 2.1,
"parking": null,
"format": "FR + 2 alphanumeric + 9 digits",
"pattern": "^FR[A-HJ-NP-Z0-9]{2}\\d{9}$"
}Validate France FR VAT numbers
Requires API keycurl "https://api.vatnode.dev/v1/vat/FR81775670417" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"valid": true,
"vatId": "FR81775670417",
"countryCode": "FR",
"companyName": "LVMH Moët Hennessy Louis Vuitton SE",
"companyAddress": null,
"companyRegistrationDate": null,
"companyForm": null,
"industryDescription": null,
"registryCode": null,
"registryCodeName": null,
"verifiedAt": "2026-04-25T12:00:00.000Z",
"checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
"countryName": "France",
"countryVat": {
"vatName": "Taxe sur la valeur ajoutée",
"vatAbbr": "TVA",
"currency": "EUR",
"standardRate": 20,
"reducedRates": [
13,
10,
8.5,
5.5,
1.05,
0.9
],
"superReducedRate": 2.1,
"parkingRate": null,
"vatNumberFormat": "FR + 2 alphanumeric + 9 digits",
"vatNumberPattern": "^FR[A-HJ-NP-Z0-9]{2}\\d{9}$",
"countryVatUpdatedAt": "2026-08-13"
},
"consultationNumber": null
}Frequently Asked Questions
What is the VAT number format in France?▾
VAT numbers in France follow the format: FR + 2 alphanumeric + 9 digits. Example: FRXX123456789. VAT numbers are not case-sensitive — lowercase input is automatically normalised.
What is the VAT number regex pattern in France?▾
Use this regular expression to validate VAT numbers in France TVA number format locally:
^FR[A-HJ-NP-Z0-9]{2}\d{9}$Test against the uppercase number. Format validation catches typos locally — always follow with a VIES check to confirm the number is active.
How do I validate a VAT number in France programmatically?▾
Send a GET request to https://api.vatnode.dev/v1/vat/{vatId} with your Authorization: Bearer header. The API checks the number against the official EU VIES database and returns a JSON response with a valid field, company name, address, and current TVA rates. Free plan available — 100 requests/month, no credit card required.
What does TVA stand for in France?▾
TVA stands for Taxe sur la valeur ajoutée — the French name for Value Added Tax (VAT). It appears on French invoices and tax documents.
VAT Number Formats for Other EU Countries
Validate France VAT numbers in your app
Use the vatnode API to automate TVA validation in your invoicing or checkout flow. Free plan available, no credit card required.