Chiffres de contrôle fødselsnummer
Saisissez les neuf premiers chiffres d'un fødselsnummer norvégien et obtenez ses deux chiffres de contrôle : 010190000 reçoit 8 et 3 et devient 01019000083. Collez un numéro complet de onze chiffres pour repérer une faute avant d'enregistrer un formulaire ou une paie. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Fnr
- 010190000
- Mode de calcul
- Compute
- Entrée
- 010190000
- Chiffre de contrôle 1
- 8
- Chiffre de contrôle 2
- 3
- Chiffres de contrôle
- 83
Le numéro d'identité national norvégien (fødselsnummer) est un code à onze chiffres utilisé dans la santé, la banque, la paie, la fiscalité et l'identité numérique en Norvège. Les deux derniers chiffres sont des chiffres de contrôle dérivés de vecteurs de poids officiels fixes sous une règle modulo onze. Une seule faute de frappe dans la date de naissance ou le numéro individuel casse souvent cette somme de contrôle, de sorte que valider les chiffres de contrôle avant d'accepter un formulaire, un fichier partenaire ou une importation de registre détecte de nombreuses erreurs de saisie tôt. Cette capacité calcule les deux chiffres de contrôle pour une charge utile de neuf chiffres (date de naissance plus numéro individuel, avec ou sans espaces ou tirets), ou valide un fødselsnummer complet à onze chiffres qui inclut déjà la paire finale, et signale les entrées incorrectes au lieu d'inventer des chiffres en silence.
Ce que sont les chiffres de contrôle du fødselsnummer norvégien et comment les poids fonctionnent
Un fødselsnummer identifie des personnes dans les systèmes publics et privés norvégiens. La structure comporte onze chiffres décimaux : six pour le jour, le mois et l'année de naissance (DDMMYY), trois pour le numéro individuel (qui code aussi les conventions de siècle et de sexe du registre de population), et deux chiffres de contrôle en fin.
Ces deux derniers ne sont pas choisis librement — ils sont entièrement déterminés par un algorithme public afin que la plupart des substitutions d'un chiffre et de nombreux échanges échouent à la somme de contrôle. Le premier chiffre de contrôle, souvent appelé k1, multiplie les neuf premiers chiffres de gauche à droite par la séquence fixe trois, sept, six, un, huit, neuf, quatre, cinq et deux. Les produits sont additionnés, et le chiffre de contrôle est onze moins cette somme modulo onze.
Si le résultat est onze, le chiffre est zéro ; s'il est dix, le corps de neuf chiffres n'est pas attribuable — aucun premier chiffre de contrôle valide n'existe. Le second chiffre de contrôle, k2, multiplie les dix premiers chiffres (le corps de neuf plus k1) par cinq, quatre, trois, deux, sept, six, cinq, quatre, trois et deux, puis applique la même règle onze moins modulo, en traitant à nouveau dix comme invalide.
Lorsqu'une personne saisit un numéro à onze chiffres dont les deux derniers ne correspondent plus à ces valeurs recalculées, la validation échoue. La même règle capture le bruit OCR, les collages partiels et les erreurs d'un en onboarding RH, formulaires KYC bancaires et jobs ETL qui ressaisissent des numéros d'identité depuis papier ou PDF. Cet outil applique ces vecteurs de poids officiels sur des chiffres purs après suppression optionnelle des espaces et tirets.
Il n'interroge pas l'administration fiscale norvégienne, ne prouve pas qu'une personne existe, n'assigne pas un siècle à partir du numéro individuel et n'interprète pas les D-numbers (identités temporaires avec jour du mois plus quarante) au-delà de la même arithmétique sur les chiffres — seulement que la chaîne de chiffres est cohérente avec l'algorithme dual de chiffres de contrôle publié.
Par rapport au Luhn modulo dix des cartes de paiement, le schéma fødselsnummer utilise deux vecteurs de poids fixes de gauche à droite et le modulo onze, de sorte que vous ne devez pas réutiliser un validateur Luhn sur les champs d'identité norvégiens. Par rapport aux schémas à un seul chiffre du NIP polonais ou du CUIT argentin, la Norvège exige deux chiffres de contrôle avec des poids distincts, c'est pourquoi une capacité dédiée évite la fausse confiance d'un utilitaire générique de chiffre de contrôle.
Où les contrôles de fødselsnummer s'insèrent dans l'identité, la paie et le commerce
Les plateformes d'onboarding employeur et de paie stockent un fødselsnummer pour les déclarations fiscales et les prestations ; un seul chiffre mal saisi à l'entrée peut envoyer des dossiers à la mauvaise personne ou faire échouer une autorisation en aval. Le mode validate à l'entrée bloque l'enregistrement lorsque valid est false et peut afficher la paire de contrôle attendue pour que le préposé corrige le formulaire avant l'écriture de l'enregistrement.
Les banques et prestataires de paiement qui collectent un numéro d'identité norvégien pour le KYC peuvent recalculer les deux chiffres de contrôle sans appeler un registre externe, filtrant tôt le bruit OCR et les captures partielles. Les équipes produit qui exposent déjà des outils généraux Luhn ou ISO 7064 doivent tout de même utiliser cette capacité spécifique au fødselsnummer pour les champs d'identité norvégiens afin que poids, bornes de longueur, chiffres duaux et format d'espacement correspondent au domaine.
Ne traitez pas un contrôle de fødselsnummer réussi comme preuve que la personne est correctement identifiée, vivante, autorisée, présente au registre de population ou éligible à un service — cela prouve seulement que la chaîne de chiffres est cohérente avec l'algorithme dual officiel norvégien des chiffres de contrôle.
Cas d’usage
Auditer les colonnes d'identité dans les fichiers partenaires et de paie
Validez en lot chaque fødselsnummer d'un import CSV et mettez en quarantaine les lignes dont les chiffres de contrôle ne correspondent plus à la paire attendue recalculée.
Questions fréquentes
Que sont les chiffres de contrôle du fødselsnummer norvégien ?
Ce sont les deux chiffres finaux du numéro d'identité national à onze chiffres. k1 utilise les poids 3,7,6,1,8,9,4,5,2 sur les neuf premiers ; k2 utilise 5,4,3,2,7,6,5,4,3,2 sur les dix premiers. Chacun est modulo 11 (11 se mappe sur 0 ; 10 signifie invalide).
Que se passe-t-il avec des lettres, des espaces ou une mauvaise longueur ?
Fournissez uniquement les chiffres 0-9 (espaces ou tirets optionnels) ; compute exige neuf chiffres et validate onze. Les tâches de validation en échec ne sont pas facturées.
Comment se calculent les deux chiffres de contrôle du fødselsnummer ?
Les neuf premiers chiffres sont multipliés par 3, 7, 6, 1, 8, 9, 4, 5 et 2 puis additionnés ; onze moins le reste modulo 11 donne le premier chiffre. Le second applique la même règle aux dix premiers chiffres avec les poids 5, 4, 3, 2, 7, 6, 5, 4, 3 et 2.
Pourquoi certains corps de neuf chiffres n'ont-ils aucun fødselsnummer valide ?
Quand le calcul d'un chiffre de contrôle donne 10, aucun chiffre ne convient, et ce corps ne peut donc pas être attribué. Un résultat de 11 devient simplement 0. L'outil signale ce cas au lieu d'inventer un numéro.
L'outil fonctionne-t-il avec les numéros D ?
Il applique le même calcul aux chiffres, donc il vérifie aussi leurs chiffres de contrôle. En revanche, il n'interprète pas le jour augmenté de 40 des numéros D et ne déduit ni le siècle ni l'identité de la personne.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/fnr-norway \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fnr":"010190000"}'const res = await fetch("https://api.kit.forhosting.com/enc/fnr-norway", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fnr": "010190000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/fnr-norway",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fnr": "010190000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/fnr-norway", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fnr":"010190000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fnr":"010190000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/fnr-norway", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"fnr": "010190000"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.fnr_norway",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Utilisez-la gratuitement dans le navigateur ou appelez l'API KIT au prix publié ; les deux chemins exécutent la même arithmétique déterministe sans appel réseau ni requête au registre de population.
Comment calculer les deux chiffres de contrôle ou valider un fødselsnummer complet
Envoyez un champ fnr contenant les chiffres de zéro à neuf, éventuellement séparés par des espaces ou des tirets. Le mode validate attend un numéro complet à onze chiffres incluant les deux chiffres de contrôle (par exemple 01019000083 ou 010190 00083). Chaînes vides, fnr manquant, valeurs de mode invalides et mauvaises longueurs (pas neuf chiffres pour compute, pas onze pour validate) échouent avant toute somme pondérée et ne sont pas facturées. Préférez compute lorsque vous assemblez un numéro à partir d'une date et d'une séquence individuelle connues ; préférez validate lorsqu'un utilisateur, un fichier partenaire ou une étiquette scannée fournit un numéro complet et que vous avez besoin d'un filtre booléen avant une consultation de registre ou de données maîtres. Les lettres, autre ponctuation, tirets doubles ou tirets en tête ou en fin sont rejetés comme entrée mal formée avec invalid_input afin que vous n'acceptiez jamais une valeur nettoyée en silence. Le mode compute est le défaut : fournissez exactement neuf chiffres sans la paire de contrôle (par exemple 010190000 pour la date de naissance 01.01.90 et le numéro individuel 000), et le moteur renvoie control_digit_1 et control_digit_2 comme chaînes d'un caractère, control_digits comme le suffixe à deux chiffres, with_check comme la chaîne complète à onze chiffres, et formatted sous la forme d'affichage courante DDMMYY XXXXX. Si l'une des sommes pondérées produisait un chiffre de contrôle de dix sous le mappage modulo onze, le mode compute échoue avec invalid_input car aucun fødselsnummer valide à onze chiffres n'existe pour ce corps. La réponse indique valid true lorsque les deux chiffres recalculés correspondent à la paire finale, et inclut toujours control_digit_1, control_digit_2, payload sans les deux derniers chiffres, et formatted pour un affichage cohérent ; lorsque des chiffres attendus existent, ils sont aussi renvoyés comme expected_control_digit_1, expected_control_digit_2 et expected_control_digits. Comme le chemin est purement parse, sans horloge, source aléatoire ni réseau, la même entrée produit toujours le même JSON sur l'outil gratuit du navigateur et sur l'API. À $0.002 par requête réussie, vous pouvez filtrer les imports en masse, formulaires d'onboarding et jobs ETL sans négocier un palier sur mesure.
Où les contrôles de fødselsnummer s'insèrent dans l'identité, la paie et le commerce
Les intégrations santé et secteur public reçoivent souvent des numéros d'identité depuis des CSV partenaires où un chiffre final erroné rejetterait tout un lot ; un oracle déterministe renvoyant valid et with_check permet de marquer les lignes avant la production. Les pages éducatives et SEO qui se positionnent sur des phrases comme contrôle fodselsnummer norvégien ou validateur personnummer Norvège ont besoin d'un outil gratuit en direct dont le chemin navigateur coïncide avec l'automatisation pour que les captures de tutoriels restent exactes.
Cas d'intégration
Filtrer les champs fødselsnummer sur les formulaires RH et clients
Lorsqu'un utilisateur soumet un numéro complet à onze chiffres, appelez le mode validate et bloquez l'enregistrement si valid est false, en affichant expected_control_digits pour corriger une faute de frappe avant l'écriture de l'enregistrement.
Calculer les chiffres de contrôle lors de l'émission ou de la complétion d'identifiants
À partir d'une date DDMMYY et d'un numéro individuel à trois chiffres, appelez le mode compute et stockez with_check ou formatted afin que chaque nouvelle chaîne porte la paire finale correcte avant impression ou export.
Questions techniques
Comment calculer les chiffres de contrôle du fødselsnummer avec cette API ?
Envoyez un POST avec fnr égal aux neuf chiffres de charge utile (espaces ou tirets optionnels) et mode compute (ou omettez mode). La réponse inclut control_digit_1, control_digit_2, control_digits, with_check et formatted au format DDMMYY XXXXX.
Comment valider un fødselsnummer norvégien complet ?
Envoyez un POST avec la chaîne complète à onze chiffres et mode validate. La réponse inclut valid, les chiffres de contrôle fournis, payload, formatted et, lorsqu'ils sont calculables, les chiffres de contrôle attendus.
L'outil de contrôle du fødselsnummer norvégien est-il gratuit ?
L'outil navigateur est gratuit et s'exécute localement. Les appels API utilisent le solde KIT prépayé au prix de base publié $0.002 ; une entrée invalide n'est jamais facturée.