Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

CLABE Validator


JavaScript library to analyze or create a CLABE number for a Mexican bank account

License:MIT npm Dependencies Vulnerabilities Hits Build

CLABE (Clave Bancaria Estandarizada — Spanish for "standardized banking code") is a banking standard from the Mexican Bank Association (Asociación de Bancos de México — ABM) for uniform numbering of bank accounts.  CLABE numbers are 18 digits long.  See:

A) Online form

Try it out:

B) Setup


Include in a web page:

<script src=clabe.min.js></script>

or from the CDN:

<script src=></script>


Install package:

$ npm install clabe-validator

Import package:

const clabe = require('clabe-validator');

C) Validator usage

Pass the CLABE number as an 18-character string into clabe.validate(clabeNum).

1. Example JavaScript code

const clabeNum = '002010077777777771';
const clabeCheck = clabe.validate(clabeNum);
console.log(clabeCheck.ok ? '¡Que bueno!' : '¡Muy mal!');
console.log('Your bank: ' +;

2. Example JSON result for a valid CLABE number

   ok:       true,
   error:    null,
   formatOk: true,
   tag:      'BANAMEX',
   bank:     'Banco Nacional de México, S.A.',
   city:     'Aguascalientes',
   account:  '07777777777'

3. Example JSON result for an invalid CLABE number

   ok:       false,
   formatOk: true,
   error:    'invalid-city',
   message:  'Invalid city code: 000'

The formatOk field indicates if the CLABE's length and checksum are both valid (even if the bank code or city code are invalid).

4. Possible errors

Error code Error message Format Ok
invalid-length Must be exactly 18 digits long false
invalid-characters Must be only numeric digits (no letters) false
invalid-checksum Invalid checksum, last digit should be: [DIGIT] false
invalid-bank Invalid bank code: [CODE] true
invalid-city Invalid city code: [CODE] true

D) Calculator usage

Pass the bank code, city code, and account number into clabe.calculate(bankCode, cityCode, accountNumber) and get the 18-character CLABE number back.

const clabeNum = clabe.calculate(2, 10, 7777777777);
console.log(clabeNum === '002010077777777771');  //true

E) Notes

  1. Feel free to submit questions at:
  2. To be a contributor, fork the project and run the commands npm install and npm test on your local clone.  Make your edits and rerun the tests.  Pull requests welcome (no need to update the version in package.json or any files in the dist folder as they are all updated as part of the release process).

CLABE Validator code is open source under the MIT License, and the documentation is published under the CC BY-SA 4.0 license.

You can’t perform that action at this time.