API Reference
Details of the functions exported by the validator-tax-id package.
Generic Function
If you prefer dynamic validation based on the country code.
validateIdentification(countryCode, taxId)
- countryCode:
CountryCode('es' | 'fr' | 'pt') - taxId:
string- The document to validate - Returns:
boolean
import { validateIdentification } from "validator-tax-id";
validateIdentification("pt", "501964843"); // true
validateIdentification("fr", "732829320"); // true
validateIdentification("es", "12345678Z"); // trueCountry Auto-detect Validators
These functions auto-detect the document type within a country.
validateES(value)
Validates any Spanish ID (DNI, NIE, or CIF). Auto-detects type.
import { validateES } from "validator-tax-id";
validateES("12345678Z"); // true (DNI)
validateES("X1234567L"); // true (NIE)
validateES("A58818501"); // true (CIF)validateFR(value)
Validates any French ID (SIREN, SIRET, or NIR). Auto-detects by length.
import { validateFR } from "validator-tax-id";
validateFR("443061841"); // true (SIREN - 9 digits)
validateFR("44306184100047"); // true (SIRET - 14 digits)
validateFR("188057512301180"); // true (NIR - 15 digits)validatePT(value)
Validates Portuguese NIF. Alias for validateNIF.
import { validatePT } from "validator-tax-id";
validatePT("123456789"); // trueIndividual Validators 🇪🇸 Spain
validateDNI(value)
Validates only Spanish DNI (8 digits + letter).
- value:
string- The DNI to validate - Returns:
boolean
import { validateDNI } from "validator-tax-id";
validateDNI("12345678Z"); // true
validateDNI("X1234567L"); // false (this is a NIE, not DNI)validateNIE(value)
Validates only Spanish NIE (X/Y/Z + 7 digits + letter).
- value:
string- The NIE to validate - Returns:
boolean
import { validateNIE } from "validator-tax-id";
validateNIE("X1234567L"); // true
validateNIE("Y2345678Z"); // true
validateNIE("12345678Z"); // false (this is a DNI, not NIE)validateCIF(value)
Validates only Spanish CIF (letter + 7 digits + control).
- value:
string- The CIF to validate - Returns:
boolean
import { validateCIF } from "validator-tax-id";
validateCIF("A58818501"); // true (SA company)
validateCIF("B99286320"); // true (SL company)
validateCIF("P7800001E"); // true (Public organism)Individual Validators 🇫🇷 France
validateSIREN(value)
Validates only French SIREN (9 digits, Luhn algorithm).
- value:
string- The SIREN to validate - Returns:
boolean
import { validateSIREN } from "validator-tax-id";
validateSIREN("443061841"); // true (Google France)
validateSIREN("552100554"); // true (Total SA)validateSIRET(value)
Validates only French SIRET (14 digits = SIREN + NIC, Luhn algorithm).
- value:
string- The SIRET to validate - Returns:
boolean
import { validateSIRET } from "validator-tax-id";
validateSIRET("44306184100047"); // truevalidateNIR(value)
Validates only French NIR / Social Security Number (15 digits, Mod 97).
- value:
string- The NIR to validate - Returns:
boolean
import { validateNIR } from "validator-tax-id";
validateNIR("188057512301180"); // true
validateNIR("199072A12801261"); // true (Corse 2A)Individual Validators 🇵🇹 Portugal
validateNIF(value)
Validates Portuguese NIF (9 digits, Mod 11 algorithm).
- value:
string- The NIF to validate - Returns:
boolean
import { validateNIF } from "validator-tax-id";
validateNIF("123456789"); // true (personal)
validateNIF("501442600"); // true (company - EDP)All Exports Summary
import {
// Generic
validateIdentification,
// Spain 🇪🇸
validateES, // Auto-detect DNI/NIE/CIF
validateDNI, // DNI only
validateNIE, // NIE only
validateCIF, // CIF only
// France 🇫🇷
validateFR, // Auto-detect SIREN/SIRET/NIR
validateSIREN, // SIREN only
validateSIRET, // SIRET only
validateNIR, // NIR only
// Portugal 🇵🇹
validatePT, // Alias for validateNIF
validateNIF, // NIF
} from "validator-tax-id";