Elige el banco
La clave de tres dígitos es la real del catálogo de Banxico. Útil si tu aplicación deduce la entidad a partir de la CLABE, que es lo normal.
Dieciocho dígitos con la estructura real: tres de banco, tres de plaza, once de cuenta y uno de control calculado con los pesos 3-7-1. Válidas o deliberadamente rotas.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
La clave de tres dígitos es la real del catálogo de Banxico. Útil si tu aplicación deduce la entidad a partir de la CLABE, que es lo normal.
El modo válido calcula el dígito con los pesos 3-7-1. El inválido lo altera: los otros diecisiete dígitos son impecables y solo lo detecta una validación de verdad.
El CSV trae la CLABE plana y agrupada, el banco con su clave, la plaza, la cuenta y el dígito de control por separado.
La Clave Bancaria Estandarizada son dieciocho dígitos con una estructura fija, y cada trozo significa algo:
| Trozo | Dígitos | Qué es |
|---|---|---|
| Banco | 3 | La entidad, del catálogo de Banxico. 012 es BBVA, 072 Banorte, 014 Santander. |
| Plaza | 3 | La localidad de la sucursal. 180 es Ciudad de México. |
| Cuenta | 11 | El número de cuenta dentro del banco. |
| Control | 1 | El dígito que valida los diecisiete anteriores. |
Que los tres primeros dígitos identifiquen al banco tiene una consecuencia práctica muy usada: puedes saber a qué entidad va una transferencia sin preguntarle nada al usuario. Muchos formularios de pago rellenan el nombre del banco en cuanto tecleas los tres primeros dígitos, y eso es exactamente lo que conviene probar con datos sintéticos de varios bancos.
El control se calcula con pesos 3-7-1 que se repiten a lo largo de los diecisiete primeros dígitos. Hasta aquí, normal. La trampa está en lo que se suma:
function controlClabe(d17) {
const pesos = [3, 7, 1];
let suma = 0;
for (let i = 0; i < 17; i++) {
suma += (Number(d17[i]) * pesos[i % 3]) % 10; // ← solo la UNIDAD
}
return (10 - suma % 10) % 10;
}
controlClabe("00201007777777777") // 1 → 002010077777777771
controlClabe("03218000011835971") // 9 → 032180000118359719
Ese % 10 de dentro del bucle es lo que separa una implementación correcta de una
que parece funcionar: de cada producto se toma solo la cifra de las unidades,
no el número entero. Un 8 multiplicado por 7 aporta 6, no 56.
Si sumas los productos completos, el algoritmo devuelve un dígito plausible y equivocado, y como el resto de la CLABE es correcto nadie lo detecta hasta que el banco rechaza la cuenta. Verificado con 002010077777777771, el ejemplo canónico de Banxico, y con una segunda CLABE publicada.
Tres cosas distintas que los formularios mexicanos piden a veces en el mismo campo:
La confusión más cara es aceptar los tres en un solo campo y validar por longitud: 16 y 18 dígitos se distinguen bien, pero un número de cuenta de 11 y un teléfono de 10 no tanto. Si tu formulario admite varias formas de pago, prueba con las tres longitudes seguidas.
002 deja de ser válida si alguien la guarda como número entero. Guárdala siempre como cadena.Estas CLABE pasan el dígito de control, que es lo que comprueba cualquier formulario, pero no corresponden a ninguna cuenta abierta en ninguna entidad. Una transferencia SPEI contra ellas sería rechazada por el banco receptor. No sirven para cobrar ni para pagar: están para probar tu software.
Si además necesitas el documento del titular, tienes el generador de CURP y el de RFC en la misma web.
Preguntas frecuentes
No. Pasan la validación del dígito de control, que es lo que comprueba un formulario, pero no corresponden a ninguna cuenta abierta en ningún banco. Un SPEI contra ellas sería rechazado.
Con pesos 3-7-1 que se repiten sobre los diecisiete primeros dígitos, tomando de cada producto solo la cifra de las unidades. La suma se cierra a la decena. El detalle de la unidad es el que más implementaciones fallan.
Sí, son la clave de la entidad en el catálogo de Banxico: 012 es BBVA, 072 Banorte, 014 Santander, 646 STP. Por eso muchos formularios rellenan solos el nombre del banco al teclear la CLABE.
La CLABE tiene 18 dígitos e identifica la cuenta de forma única en todo el sistema financiero mexicano; el número de cuenta tiene 10 u 11 y solo significa algo dentro de su propio banco. Para un SPEI hace falta la CLABE.
No deberías. Muchas empiezan por cero y al guardarlas como entero pierden esa cifra, con lo que dejan de ser válidas. Guárdala siempre como cadena de texto.
Sigue probando