European National ID Number Validator
Check the checksum of a Norwegian fødselsnummer, Swedish personnummer, Danish CPR-nummer, Finnish HETU, Icelandic kennitala or Polish PESEL, NIP or REGON - and generate valid test numbers when you need realistic fixtures. Every calculation happens in your browser; no identity number is ever transmitted.
Every check and every generated number is computed by JavaScript inside this page. National ID numbers are never uploaded, logged or sent to any server - there is no network request at all.
11 digits: birth date, a 3-digit individual number that also fixes the century, then two mod-11 check digits. D-numbers (non-residents) add 40 to the day; H-numbers add 40 to the month.
Enter a Fødselsnummer / D-nummer to check it
Why a national ID validator must run client-side
A national identity number is among the most sensitive pieces of personal data a person has. Under the GDPR it is subject to specific national safeguards, and in the Nordic countries it is effectively the key to a person's entire administrative life. Sending one to a third-party server just to check a checksum is indefensible when the arithmetic is a dozen lines of code.
So this tool makes no network request at all. Open your browser's network tab, paste a number, and you will see nothing leave the page. You can disconnect from the internet entirely and every mode - validation, bulk checking, and test-number generation - still works.
What each checksum actually proves
Every format here embeds a check digit computed from the other digits, so a single mistyped character is caught immediately. Most also encode the birth date and, except in Iceland, the registered sex - which this tool decodes and explains.
What none of them prove is that a person exists. These are self-consistency checks over a number, not lookups in a population register. A checksum-valid fødselsnummer that was never issued is indistinguishable from one that was - which is exactly what makes safe test-data generation possible.
The Danish modulus-11 exception
Denmark is the one that catches developers out. CPR numbers used to satisfy a modulus-11 check, and a lot of software still enforces it. But for several birth years the supply of mod-11-compliant serials ran out, and since 1 October 2007 CPR-kontoret has issued fully valid numbers that deliberately fail it. Every such number carries a 1 January birth date in one of 27 specific years. This tool knows that list and accepts those numbers with an explanation, instead of wrongly rejecting real people - a bug that has locked Danish citizens out of production systems for nearly two decades.
الأسئلة الشائعة
Er fødselsnummer validator sikker? Sendes nummeret noe sted?
Nei. Hele kontrollen - begge mod-11-kontrollsifrene, fødselsdatoen og kjønnssifferet - beregnes i nettleseren din med JavaScript. Det sendes ingen forespørsel til noen server, ingenting logges og ingenting lagres. Verktøyet fungerer også helt uten internettforbindelse.
Hur fungerar personnummer kontroll?
Ett svenskt personnummer valideras med Luhn-algoritmen (modulo 10) över de tio siffrorna. Näst sista siffran anger kön - udda för man, jämn för kvinna. Verktyget hanterar både tiosiffriga och tolvsiffriga format, plustecknet för personer över 100 år, och samordningsnummer där dagen är förhöjd med 60. Allt beräknas lokalt i din webbläsare.
Jak działa walidator PESEL?
Numer PESEL ma 11 cyfr. Suma ważona pierwszych dziesięciu cyfr wagami 1-3-7-9-1-3-7-9-1-3 daje cyfrę kontrolną. Wiek stulecia jest zakodowany w miesiącu: do miesiąca dodaje się 20 dla lat 2000-2099, 40, 60 lub 80 dla kolejnych stuleci. Dziesiąta cyfra określa płeć - parzysta oznacza kobietę. Walidator sprawdza też NIP i REGON. Wszystko liczone jest lokalnie w przeglądarce.
Can I generate a valid test personnummer or fødselsnummer?
Yes - that's the generate mode, and it's the reason this tool exists for a lot of developers. Pick a country, how many numbers you want, optionally a sex and a birth-year range, and you get checksum-valid numbers suitable for unit tests, form fixtures, seeded databases and QA. Every generated number is run back through the validator on this page before it's shown, so what you copy is guaranteed to pass.
Are generated test numbers real people's numbers?
They are randomly constructed to satisfy the checksum, and they are not drawn from any register. But because these formats have no reserved test range, a generated number could in principle coincide with one that has been issued. Use them only as synthetic test data. Never use one to impersonate anyone, open an account, or submit to a real government service - that is fraud regardless of where the number came from.
Why does a Danish CPR number fail modulus 11 but still show as valid?
Because it genuinely is valid. Since 2007 CPR-kontoret has issued numbers without a valid modulus-11 check digit, for birth dates of 1 January in 27 specific years where the compliant serials ran out. This tool recognises those dates and accepts the number with a note explaining why. If your own system rejects it, that system has a bug - the modulus-11 check can no longer be treated as mandatory.
What's the difference between a fødselsnummer and a D-nummer?
A D-nummer is issued to people with a temporary relationship to Norway - foreign workers, non-resident property owners - and is distinguished by adding 40 to the day of birth, so the first digit is 4, 5, 6 or 7. Both use the same pair of mod-11 check digits. This tool identifies which one you've entered, and also recognises H-numbers (month + 40) and FH-numbers, which carry no birth date at all.
What do PESEL, NIP and REGON each identify?
PESEL is the 11-digit number for individuals, encoding birth date and sex. NIP is the 10-digit tax number used by businesses and sole traders - prefix it with PL and it becomes the EU VAT number. REGON is the statistical register number, 9 digits for a national entity or 14 for a local branch, where the first 9 digits of a 14-digit REGON are themselves a valid 9-digit one. All three are supported here with their own weighted mod-11 checks.
Does a valid checksum mean the person exists?
No, and this tool never claims otherwise. It validates format and check digits, and decodes what the number encodes - birth date, century and registered sex. It does not query any population register and cannot tell you whether the number was issued, to whom, or whether it is still active. Only the national authority can do that.
Why is sex not shown for an Icelandic kennitala?
Unlike its Nordic neighbours, the kennitala doesn't encode sex at all. It encodes the birth date, two arbitrary digits, a mod-11 check digit and a century marker. Organisations get one too, distinguished by adding 40 to the day - this tool tells you which kind you've entered.