Dígito de control ABA
Obtenga o compruebe el noveno dígito de un número de routing bancario de Estados Unidos con los pesos oficiales 3-7-1: a 02100002 le corresponde el 1 y queda 021000021. Un dígito mal tecleado se detecta antes de enviar 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
- Número
- 02100002
- Modo de cálculo
- Compute
- Entrada
- 02100002
- Dígito de control
- 1
- Con dígito de control
- 021000021
Los números de routing de tránsito bancario de EE. UU. (RTN), también llamados números de routing ABA, tienen nueve dígitos: ocho de carga útil que identifican el distrito de la Reserva Federal, la entidad y la serie del dígito de control, más un dígito final que demuestra que la cadena se escribió o pegó sin un desliz de un solo dígito. Esta capacidad aplica la ponderación oficial tres-siete-uno de la American Bankers Association y la Reserva Federal: las posiciones ciclan pesos tres, siete y uno, y la suma de los nueve dígitos debe ser divisible por diez.
Cómo se calcula el dígito de control de routing ABA
Un número de routing de tránsito ABA tiene siempre nueve dígitos. Los ocho primeros forman el cuerpo institucional (distrito de la Reserva Federal, identificador del banco y serie relacionada); el noveno es el dígito de control. Para calcularlo, recorra los ocho dígitos de izquierda a derecha y multiplique por la secuencia de pesos repetida tres, siete, uno, tres, siete, uno, tres, siete.
Sume esos ocho productos y tome el dígito de control como diez menos esa suma módulo diez, módulo diez de nuevo para que un resto cero dé dígito de control cero. De forma equivalente, la cadena completa de nueve dígitos incluida el dígito de control debe tener una suma ponderada divisible por diez cuando la novena posición usa también peso uno (continuando el ciclo tres-siete-uno). No es la misma regla que UPC, EAN o Luhn: esos usan otros patrones de peso y longitudes distintas.
Esta herramienta no demuestra que un banco siga usando un RTN dado, no expande símbolos MICR y no afirma que una suma de control válida implique que los fondos se liquidarán: solo prueba que la cadena de dígitos está bien formada bajo la regla ABA tres-siete-uno. Frente a validadores de números de pago multi-formato, la intención de búsqueda aquí es estrecha: quien necesita una calculadora del dígito de control de routing ABA para cargas de ocho dígitos o RTN de nueve, no un comprobador general de IBAN o tarjetas.
Dónde encajan los dígitos de control ABA en flujos reales
Las plataformas de nómina y beneficios reciben números de routing bancario de los empleados y deben rechazar novenos dígitos mal tecleados antes de enviar el primer archivo de depósito directo al ODFI. Los equipos de tesorería y cuentas a pagar validan cada columna de routing en una exportación CSV de proveedores, ponen en cuarentena las filas con valid false y evitan lotes ACH fallidos que cuestan retrasos y tasas de reproceso.
Los entornos sandbox y demo a menudo necesitan números de routing sintéticos pero válidos en suma de control; el modo compute convierte cualquier cuerpo de ocho dígitos en una cadena de nueve que supera las puertas de formato local sin inventar una relación bancaria real. No trate un control ABA aprobado como prueba de cuenta abierta, autorización OFAC o asignación vigente de la Reserva Federal; solo demuestra que el dígito tres-siete-uno es coherente con la carga útil bajo los pesos estándar.
Qué puede hacer con ella
Auditar columnas de routing en exportaciones de nómina y proveedores
Valide por lotes cada RTN ABA de nueve dígitos en un CSV y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recalculado antes del envío ACH.
Preguntas frecuentes
¿Qué es el dígito de control de un número de routing ABA?
Es el noveno dígito de un número de routing de tránsito bancario de EE. UU. (RTN), calculado con la regla mod-10 ponderada 3-7-1 para detectar habitualmente errores de un solo dígito al teclear o pegar antes de almacenar o enviar el número en ACH.
¿Qué ocurre con longitud incorrecta, letras o guiones?
Las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de dígito de control de routing ABA?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se calcula el dígito de control de un routing ABA?
Multiplique los ocho dígitos, de izquierda a derecha, por los pesos que se repiten tres, siete y uno, y sume los productos. El dígito de control es diez menos el resto de dividir esa suma entre diez; si da diez, queda en cero.
¿Sirve un validador Luhn o de códigos UPC para un número de routing?
No. Luhn, UPC y EAN usan otros patrones de pesos y otras longitudes, así que su veredicto no dice nada sobre un número de routing, que necesita el ciclo 3-7-1 sobre exactamente nueve dígitos.
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/aba-routing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"02100002"}'const res = await fetch("https://api.kit.forhosting.com/enc/aba-routing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "02100002"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/aba-routing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "02100002"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/aba-routing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"02100002"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"02100002"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/aba-routing", 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
{
"number": "02100002"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.aba_routing",
"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
La entrada no numérica y las longitudes incorrectas fallan con invalid_input en lugar de un recorte silencioso, de modo que nunca almacena un RTN a medias. La misma aritmética pura funciona gratis en el navegador y al precio API publicado.
Contrato de entrada, modos y comportamiento de error
Envíe un campo number que contenga solo caracteres del cero al nueve. La longitud incorrecta es un error explícito que nombra el modo y la longitud enviada—ocho para compute, nueve para validate—para que los formularios muestren «se necesitan ocho dígitos» sin adivinar. Cadenas vacías, number ausente y valores de mode inválidos fallan antes de cualquier suma ponderada y no se facturan. Prefiera compute al acuñar RTN de prueba o completar identificadores institucionales parciales; prefiera validate al bloquear el alta ACH o la importación con un código completo de nueve dígitos de un usuario o archivo de socio. Espacios, guiones, letras y puntos decimales se rechazan como entrada no numérica con invalid_input para que un valor recortado en silencio nunca llegue al almacenamiento. El modo compute es el predeterminado: el motor exige exactamente ocho dígitos, devuelve check_digit como cadena de un carácter y with_check como el número de routing de nueve dígitos que puede imprimir o persistir. El modo validate exige exactamente nueve dígitos; la respuesta indica valid true cuando el dígito final coincide con expected_check_digit recalculado, e incluye siempre payload (los ocho primeros dígitos), check_digit, expected_check_digit, length nueve, algorithm aba-3-7-1 y weights 3-7-1. Se aceptan alias como digits, routing, rtn y code para el mismo campo de carga útil, de modo que integraciones que ya hablan de «routing» no necesitan renombrar. Como la ruta es parse puro sin reloj, azar ni red, el mismo cuerpo JSON produce siempre el mismo resultado JSON en la herramienta gratuita del navegador y en la API a $0.002 por solicitud correcta.
Dónde encajan los dígitos de control ABA en flujos reales
Los formularios de alta fintech recalculan expected_check_digit y muestran una corrección amable cuando un cliente pega un RTN de nueve dígitos con una sola transposición.
Casos de integración
Completar un cuerpo de 8 dígitos a un RTN de nueve
Llame al modo compute con la carga de ocho dígitos, guarde with_check y use el número de routing ABA de nueve dígitos en formularios ACH, fixtures de prueba o plantillas de etiqueta.
Validar routing tecleados o pegados en la entrada
Cuando un formulario o archivo de socio envíe nueve dígitos, llame al modo validate y bloquee el guardado si valid es false, mostrando expected_check_digit para corregir un solo error de tipeo.
Preguntas técnicas
¿Cómo calculo un dígito de control de routing ABA con esta API?
Haga POST con number de exactamente ocho dígitos y mode compute (u omita mode). La respuesta incluye check_digit y with_check (el routing completo de nueve dígitos).
¿Cómo valido un número de routing ABA completo de nueve dígitos?
Haga POST con la cadena de nueve dígitos y mode validate. La respuesta incluye valid, check_digit, expected_check_digit y payload (dígitos sin el último).