Dígitos de control fødselsnummer
Escriba las nueve primeras cifras de un fødselsnummer noruego y obtenga sus dos dígitos de control: 010190000 recibe el 8 y el 3 y queda como 01019000083. Pegue un número completo de once cifras para detectar una errata antes de guardar un formulario o una nómina. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fnr
- 010190000
- Modo de cálculo
- Compute
- Entrada
- 010190000
- Dígito de control 1
- 8
- Dígito de control 2
- 3
- Dígitos de control
- 83
El número de identidad nacional noruego (fødselsnummer) es un código de once dígitos usado en salud, banca, nómina, fiscalidad e identidad digital en Noruega. Los dos últimos dígitos son de control y se obtienen de vectores de pesos oficiales fijos bajo una regla de módulo once. Un solo dígito mal tecleado en la fecha de nacimiento o en el número individual suele romper esa suma de control, de modo que validar los dígitos de control antes de aceptar un formulario, un archivo de socio o una importación de registro detecta muchos errores de tecleo a tiempo. Esta capacidad calcula ambos dígitos de control a partir de una carga de nueve dígitos (fecha de nacimiento más número individual, con o sin espacios o guiones), o valida un fødselsnummer completo de once dígitos que ya incluye el par final, e informa la entrada incorrecta en lugar de inventar dígitos en silencio.
Qué son los dígitos de control del fødselsnummer noruego y cómo funcionan los pesos
Un fødselsnummer identifica a personas en sistemas públicos y privados noruegos. El diseño son once dígitos decimales: seis para día, mes y año de nacimiento (DDMMYY), tres para el número individual (que también codifica convenciones de siglo y sexo del registro de población) y dos dígitos de control al final. Esos dos últimos no se eligen libremente: los determina por completo un algoritmo público de modo que la mayoría de sustituciones de un dígito y muchos intercambios fallen la suma de control.
El primer dígito de control, a menudo llamado k1, multiplica los primeros nueve dígitos de izquierda a derecha por la secuencia fija tres, siete, seis, uno, ocho, nueve, cuatro, cinco y dos. Se suman los productos y el dígito de control es once menos esa suma módulo once. Si el resultado es once, el dígito es cero; si es diez, el cuerpo de nueve dígitos no es asignable: no existe un primer dígito de control válido.
El segundo dígito de control, k2, multiplica los primeros diez dígitos (el cuerpo de nueve más k1) por cinco, cuatro, tres, dos, siete, seis, cinco, cuatro, tres y dos, y aplica la misma regla de once menos el módulo, tratando de nuevo el diez como inválido. Cuando alguien teclea un número de once dígitos cuyos dos últimos ya no coinciden con estos valores recompuestos, la validación falla. La misma regla captura ruido OCR, pegados parciales y errores de uno en altas de RR.
HH., formularios KYC bancarios y trabajos ETL que reescriben números de identidad desde papel o PDF. Esta herramienta aplica esos vectores de pesos oficiales sobre dígitos puros tras quitar espacios y guiones opcionales. No consulta la Administración Tributaria noruega, no demuestra que exista una persona, no asigna un siglo a partir del número individual ni interpreta D-numbers (identidades temporales con día del mes más cuarenta) más allá de la misma aritmética sobre dígitos: solo comprueba que la cadena es coherente con el algoritmo dual de dígitos de control publicado.
Frente al Luhn mod-diez de tarjetas de pago, el esquema fødselsnummer usa dos vectores de pesos fijos de izquierda a derecha y módulo once, de modo que no debe reutilizar un validador Luhn en campos de identidad noruegos. Frente a los esquemas de un solo dígito del NIP polaco o del CUIT argentino, Noruega exige dos dígitos de control con pesos distintos, por eso una capacidad dedicada evita la falsa confianza de una utilidad genérica de dígito de control.
Dónde encajan las comprobaciones del fødselsnummer en flujos de identidad, nómina y comercio
Las plataformas de alta de empleados y de nómina guardan un fødselsnummer para reportes fiscales y prestaciones; un solo dígito mal escrito en la entrada puede enviar presentaciones a la persona equivocada o fallar después la autorización. El modo validate a la entrada bloquea el guardado cuando valid es false y puede mostrar el par de control esperado para que el operador corrija el formulario antes de escribir el registro.
Bancos y proveedores de pago que recogen un número de identidad noruego para KYC pueden recomputar ambos dígitos de control sin llamar a un registro externo, filtrando ruido OCR y capturas parciales de forma temprana. Los equipos de producto que ya exponen herramientas generales Luhn o ISO 7064 deben usar aún esta capacidad específica de fødselsnummer en campos de identidad noruegos para que pesos, límites de longitud, dígitos duales y formato de espaciado coincidan con el dominio.
No trate un control de fødselsnummer correcto como prueba de que la persona está bien identificada, viva, autorizada, presente en el registro de población o elegible para un servicio: solo demuestra que la cadena de dígitos es coherente con el algoritmo dual oficial noruego de dígitos de control.
Qué puede hacer con ella
Auditar columnas de identidad en archivos de socios y de nómina
Valide en lote cada fødselsnummer de una importación CSV y ponga en cuarentena las filas cuyos dígitos de control ya no coincidan con el par esperado recompuesto.
Preguntas frecuentes
¿Qué son los dígitos de control del fødselsnummer noruego?
Son los dos dígitos finales del número de identidad nacional de once dígitos. k1 usa los pesos 3,7,6,1,8,9,4,5,2 sobre los primeros nueve; k2 usa 5,4,3,2,7,6,5,4,3,2 sobre los primeros diez. Cada uno es módulo 11 (11 se mapea a 0; 10 significa inválido).
¿Qué ocurre con letras, espacios o longitud incorrecta?
Proporcione solo dígitos 0-9 (espacios o guiones opcionales); compute necesita nueve dígitos y validate once. Las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de control del fødselsnummer noruego?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se calculan los dos dígitos de control del fødselsnummer?
Las nueve primeras cifras se multiplican por 3, 7, 6, 1, 8, 9, 4, 5 y 2 y se suman; once menos el resto de dividir entre 11 da el primer dígito. El segundo usa las diez primeras cifras con los pesos 5, 4, 3, 2, 7, 6, 5, 4, 3 y 2 de la misma forma.
¿Por qué algunas combinaciones de nueve cifras no tienen fødselsnummer válido?
Cuando el cálculo de un dígito de control da 10, no hay ninguna cifra que encaje, así que esa combinación no puede asignarse. Un resultado de 11 se convierte simplemente en 0. La herramienta lo señala en lugar de inventar un número.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"fnr": "010190000"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.fnr_norway",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Úselo gratis en el navegador o llame a la API de KIT al precio publicado; ambas rutas ejecutan la misma aritmética determinista sin consulta de red y sin consulta al registro de población.
Cómo calcular ambos dígitos de control o validar un fødselsnummer completo
Envíe un campo fnr con dígitos del cero al nueve, opcionalmente separados por espacios o guiones. El modo validate espera un número completo de once dígitos con ambos dígitos de control (por ejemplo 01019000083 o 010190 00083). Cadenas vacías, fnr ausente, valores de mode inválidos y longitudes incorrectas (no nueve dígitos para compute, no once para validate) fallan antes de cualquier suma ponderada y no se facturan. Prefiera compute cuando ensamble un número a partir de una fecha y una secuencia individual conocidas; prefiera validate cuando un usuario, un archivo de socio o una etiqueta escaneada aporte un número completo y necesite un filtro booleano antes de una consulta a un registro o a datos maestros. Letras, otra puntuación, guiones dobles o guiones al inicio o al final se rechazan como entrada mal formada con invalid_input para que nunca acepte un valor limpiado en silencio. El modo compute es el predeterminado: proporcione exactamente nueve dígitos sin el par de control (por ejemplo 010190000 para fecha de nacimiento 01.01.90 y número individual 000) y el motor devuelve control_digit_1 y control_digit_2 como cadenas de un carácter, control_digits como el sufijo de dos dígitos, with_check como la cadena completa de once dígitos y formatted en la forma habitual DDMMYY XXXXX. Si alguna suma ponderada produjera un dígito de control diez bajo el mapeo módulo once, el modo compute falla con invalid_input porque no existe un fødselsnummer válido de once dígitos para ese cuerpo. La respuesta indica valid true cuando ambos dígitos recompuestos coinciden con el par final, e incluye siempre control_digit_1, control_digit_2, payload sin los dos últimos dígitos y formatted para una visualización coherente; cuando existen dígitos esperados también se devuelven como expected_control_digit_1, expected_control_digit_2 y expected_control_digits. Como la ruta es parse puro, sin reloj, fuente aleatoria ni red, la misma entrada produce siempre el mismo JSON en la herramienta gratuita del navegador y en la API. A $0.002 por solicitud exitosa puede filtrar importaciones masivas, formularios de alta y trabajos ETL sin negociar un tramo a medida.
Dónde encajan las comprobaciones del fødselsnummer en flujos de identidad, nómina y comercio
Las integraciones sanitarias y del sector público a menudo reciben números de identidad desde CSV de socios donde un dígito final erróneo rechazaría un lote entero; un oráculo determinista que devuelve valid y with_check permite marcar filas antes de producción. Las páginas educativas y de SEO que posicionan frases como comprobación de fodselsnummer noruego o validador de personnummer Noruega necesitan una herramienta gratuita en vivo cuya ruta de navegador coincida con la automatización para que las capturas de tutoriales sigan siendo exactas. En todo flujo el contrato es el mismo: dígitos con espacios o guiones opcionales, compute o validate, JSON estructurado que puede probarse con goldens, comportamiento idéntico gratis en el navegador o con saldo KIT prepago, y fallo honesto cuando la entrada está mal formada o el cuerpo no tiene un par de control válido.
Casos de integración
Filtrar campos fødselsnummer en formularios de RR. HH. y clientes
Cuando un usuario envía un número completo de once dígitos, llame al modo validate y bloquee el guardado si valid es false, mostrando expected_control_digits para corregir un error de tecleo antes de escribir el registro.
Calcular dígitos de control al emitir o completar identificadores
A partir de una fecha DDMMYY y un número individual de tres dígitos, llame al modo compute y guarde with_check o formatted para que cada cadena nueva lleve el par final correcto antes de imprimir o exportar.
Preguntas técnicas
¿Cómo calculo los dígitos de control del fødselsnummer con esta API?
Haga POST con fnr igual a los nueve dígitos de carga (espacios o guiones opcionales) y mode compute (u omita mode). La respuesta incluye control_digit_1, control_digit_2, control_digits, with_check y formatted como DDMMYY XXXXX.
¿Cómo valido un fødselsnummer noruego completo?
Haga POST con la cadena completa de once dígitos y mode validate. La respuesta incluye valid, los dígitos de control dados, payload, formatted y, cuando se puedan calcular, los dígitos de control esperados.