French NIR Validator

Validator

Validate a French NIR (numéro de sécurité sociale) instantly and decode sex, birth year/month, and department — including Corsica (2A/2B). Free, runs in your browser.

Enter NIR
Validation Result
Enter a NIR above to validate

Validating a French business too?

This tool validates a French individual NIR (social security number). For a French business number, use our SIRET/SIREN Validator →

About this tool

About French NIR Validator

This validator checks a French NIR (social security number) and decodes every field: sex, year and month of birth, department (including Corsica's 2A/2B codes), commune code, and order number. It recomputes the 2-digit control key using the official 97 − (mod 97) formula, substituting Corsican department codes before the division exactly as INSEE specifies.

The validator accepts spaces and punctuation, checks the format field-by-field, and — for Corsica-issued numbers — clearly notes that the 2A/2B substitution was applied before the key was computed. BigInt arithmetic is used throughout so the 13-digit calculation is exact, with no floating-point rounding risk.

Use this validator to check a NIR collected from an employee, patient, or applicant before storing it, to debug why a NIR is failing validation elsewhere, or to decode basic demographic information (sex, approximate birth date, department) encoded in a number you already have.

Instant, fully client-side validation and decoding — no social security number is ever sent to a server, logged, or stored. Corsica-issued numbers are handled correctly rather than being a common source of false 'invalid' results.

Key Features

  • Official 97 − (mod 97) control key verification
  • Correct Corsica 2A/2B substitution handling
  • Decodes sex, year/month of birth, department, commune, and order number
  • Curated French department code/name reference table
  • BigInt arithmetic — no floating-point precision issues
  • 100% browser-based, no data sent

FAQ

French NIR Validator — Frequently Asked Questions

How is the control key verified?

The validator takes the first 13 characters, applies the Corsica substitution if needed (2A→19, 2B→18), converts the result to an integer using BigInt, divides by 97, and checks that 97 minus the remainder equals the last 2 digits you entered.

My NIR has 2A or 2B in it — will it validate correctly?

Yes. The validator specifically substitutes 2A with 19 and 2B with 18 before computing the expected key, matching INSEE's documented rule for Corsican departments. This is a common source of false 'invalid' results in naively-written validators that forget the substitution step.

What does the decoded 'year of birth' actually mean?

The NIR only stores the last two digits of the birth year, so a value like 85 could mean 1885, 1985, or (much less likely in practice) 2085. This validator displays the raw 2-digit year rather than guessing a century, since the NIR itself does not encode which one applies.

Can this tool confirm a NIR belongs to a real, currently active person?

No. This is a mathematical structure check only — it confirms the control key is correct for the encoded fields, not that the number was actually issued by INSEE to a real individual. That confirmation requires access to official French civil registry and social security systems.

Tips

  • Spaces and punctuation are stripped automatically before validation
  • Sex is decoded as 1 = male, 2 = female — these are the two standard NIR values
  • A department of 2A or 2B means the number was issued in Corsica
  • Use the SIRET/SIREN Validator to check a French business number in the same session

Explore more

Related Tools

Other tools that might be useful for your workflow