La letra inicial según la naturaleza jurídica es:[6] Desde la Orden EHA/451/2008, los NIF de las personas jurídicas y entidades extranjeras (claves N y W) tienen claves separadas de las españolas, anteriormente había claves compartidas y las entidades extranjeras se distinguían por tener el código de control con letra mientras que las entidades españolas lo tenían con número.
Solo las claves P, Q, R y S han mantenido desde que se crearon el código de control con letra, a pesar de corresponder a organismos públicos españoles.
El código de control se obtiene a partir del número completo del DNI (8 cifras) o el NIE (letra X, Y o Z seguido de 7 cifras) y dividiéndolo entre 23.
Al resto resultante de dicha división, que deberá estar comprendido entre 0 y 22, se le asigna la letra de control según la equivalencia siguiente: No se utilizan las letras: I, Ñ, O, U.
La Ñ se descarta para evitar confusiones con la N. Algoritmo de ejemplo (Java): Algoritmo PHP: Algoritmo javaScript Algoritmo Python3Algoritmo C En el caso de NIF que no son obtenidos a partir del DNI o NIE, el código de control se obtiene utilizando el número de 7 cifras, excluyendo la letra inicial y la letra o cifra final, puesto que es la que vamos a validar.