Skip to content

IFSC

Validates an Indian Financial System Code (IFSC): 11 characters — a 4-letter bank code, the digit 0, then a 6-character branch code of letters and digits. Lowercase input is accepted and normalised to uppercase.

Rule Detail
Format ^[A-Z]{4}0[A-Z0-9]{6}$
Length Exactly 11 characters
5th character Always 0 (reserved)
Checksum None — IFSC has no checksum digit
import { validateIfsc } from 'indycheck';
validateIfsc('SBIN0001234');
// { ok: true, code: 'VALID', normalized: 'SBIN0001234',
// parsed: { bank_code: 'SBIN', branch_code: '001234' } }
from indycheck import validate_ifsc
r = validate_ifsc("SBIN0001234")
print(r.parsed["bank_code"]) # SBIN
use indycheck::validate_ifsc;
let r = validate_ifsc("SBIN0001234");
assert!(r.ok);
Input Result Code
SBIN0001234 Valid VALID
HDFC0001234 Valid (format-wise) VALID
sbin0001234 Valid (normalised) VALID
SBIN1001234 Invalid — 5th char must be 0 INVALID_FORMAT
SBIN001234 Invalid — 10 characters INVALID_LENGTH
SB1N0001234 Invalid — digit in bank code INVALID_FORMAT
(empty) Invalid EMPTY
Code Means
EMPTY Nothing was passed in
INVALID_LENGTH Not exactly 11 characters
INVALID_FORMAT Doesn’t match 4 letters + 0 + 6 letters/digits

On success, parsed contains:

{ "bank_code": "SBIN", "branch_code": "001234" }