Saltar al contenido

Calcula la letra del DNI



Introduce aquí los números del DNI y pulsa <intro> o clic a «Calcular Letra»



*No almacenamos ningún tipo de dato para calcular la letra del tu DNI.

Cómo calcular la letra del dni

Calcula la letra del DNI 0

Si lo que quieres saber es cómo se obtiene la letra del dni es muy sencillo, no es una letra aleatoria sino que es una forma de comprobar que el número de dni introducido es correcto.

Para averiguar la letra del dni simplemente hay que hacer un cálculo. Se divide el número del DNI entre 23 y el valor del resto hay que sustituirlo por el de la tabla siguiente:

Calcula la letra del DNI 2

Si te fijas, en la tabla no aparece ni la  I, Ñ, O, U. L esto es para evitar confusiones entre letras o como es en el caso de la I y la O, evitar confundirlo con el uno y el cero. Dicho esto ya podemos ver que, dee esta manera, conseguimos averiguar o obtener la letra del dni del numero que queramos buscar. Por ejemplo, si el número del DNI es 12345678, dividido entre 23 da de resto 14, si buscamos en la tabla la asociación, la letra sería la Z: 12345678Z.

Que significa letra del dni

La letra del DNI simplemente es un carácter de verificación ante el número de identificación fiscal. Sirve para poder verificar que los números insertados y la letra que les continua tienen una relación matemática.

Cómo calcular la letra NIE

Calcula la letra del DNI 4

Pues para calcular la letra del nie es muy parecido. En españa, los nie tienen una letra seguida de 7 cifras y luego otra letra.

La primera letra puede ser X, Y o Z. Para hacer el cálculo y obtener la letra del DNI extranjero debemos de sustituir la primera letra por un número. La x la sustituiremos por un «0», la Y por un «1» y la Z por un «2». De esta manera podemos hacer el calculo exactamente igual que lo hemos hecho antes.

Calcular la letra del DNI con Excel

Si lo que quieres es el algoritmo para calcular la letra del dni con el programa Microsoft Excel es que ya eres un usuario un poco más avanzado o necesitas verificar la letra del dni a un nivel profesional. Pues bien la formula que te vamos a explicar se puede usar en todas las versiones del excel, desde la más antigua a la más moderna.

Vamos a imaginar que te han pasado una lista de los dni, extraídos de alguna base de datos que no guarda la letra. Y tu necesitas la letra para poder hacer las gestiones. Con este código en excel podrás calcular toda la lista de dni ¡en un momento!

El código que tienes que poner en la celda es:

1
=SI(O(B3="";ESTEXTO(B3));"";EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(B3;23)+1;1))

Como ves he resaltado el «B3» ya que esta es la celda donde coge el numero de dni para poder obtener la letra. Para hacértelo mucho más fácil, te dejo aquí el excel para que lo puedas descargar y usar al momento.

Descargar Excel Letra DNI

Código php para calcular la letra del DNI

Lo más práctico es tener una web de fácil acceso para poder obtener la letra del dni desde cualquier sitio como puedes ver en esta web. Para ello generalmente podemos encontrar 2 tipos de codigo con el que calcular la letra desde una pagina web. En esta sección vamos a mostraros el codigo en php necesario para hacer el cálculo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function comprobar_documento_identificacion($dni) {
if(strlen($dni)&lt;9) {
return "DNI demasiado corto.";
}
$dni = strtoupper($dni);
$letra = substr($dni, -1, 1);
$numero = substr($dni, 0, 8);
// Si es un NIE hay que cambiar la primera letra por 0, 1 ó 2 dependiendo de si es X, Y o Z.
$numero = str_replace(array('X', 'Y', 'Z'), array(0, 1, 2), $numero);
$modulo = $numero % 23;
$letras_validas = "TRWAGMYFPDXBNJZSQVHLCKE";
$letra_correcta = substr($letras_validas, $modulo, 1);
if($letra_correcta!=$letra) {
return "Letra incorrecta, la letra deber&amp;iacute;a ser la $letra_correcta.";
}
else {
return "OK";
}
}

Código javascript para obtener la letra del DNI

Otras de las formas de calcular la letra del DNI es con Javascript. La base y el calculo es siempre el mismo, lo único que cambia es el uso de un lenguaje de programación u otro.

Parte en Javascript

1
2
3
4
5
6
7
8
9
<script>
function averigua ()
{
cadena="TRWAGMYFPDXBNJZSQVHLCKET"
posicion = formulario.dni.value % 23
letra = cadena.substring(posicion,posicion+1)
document.formulario.dni.value=formulario.dni.value+" - "+letra
}
</script>

Parte en HTML

1
2
3
<form name="formulario">DNI:
<input name="dni" size="11" type="text" />
<input type="button" value="OK" />