ZeroTool Workbench

IBAN 검증 및 파서

mod-97 체크섬으로 IBAN을 검증하고 국가 코드, 체크 디지트, 은행 코드, 지점 코드, 계좌 번호로 분해. SWIFT IBAN Registry 기준 80+ 개국 지원. 무료, 브라우저에서 실행, 업로드 없음.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요
Load Example

사용 방법

  1. IBAN을 입력란에 붙여넣습니다. 공백, 하이픈, 대소문자는 무시되고 자동으로 정규화됩니다.
  2. 입력 도중 실시간으로 검증이 실행됩니다. 검증 결과 카드에서 유효성, 국가, 체크 디지트, 기대 길이가 표시됩니다.
  3. BBAN 필드 카드는 SWIFT IBAN Registry에 따라 은행 코드, 지점 코드, 계좌 번호, 그리고 해당 국가의 국가 체크 디지트를 분해해 보여줍니다.
  4. 형식 카드에서는 인쇄용(4자리 단위 공백), 기계 판독용(공백 없음), 또는 BBAN만 한 번의 클릭으로 복사할 수 있습니다.
  5. 예시 불러오기를 사용하면 특정 국가의 공개 테스트 IBAN을 즉시 채워 비교할 수 있습니다.

IBAN이란

IBAN(International Bank Account Number)은 ISO 13616으로 정의되고 SWIFT가 관리합니다. 하나의 문자열에 네 가지를 담습니다 — 2자리 ISO 국가 코드, 2자리 체크 디지트, 그리고 국가별로 정의된 BBAN(Basic Bank Account Number). BBAN은 고정 레이아웃으로 은행·지점·계좌 식별자를 담습니다. 길이는 국가마다 고정 — 노르웨이 15자리, 영국 22자리, 세인트루시아 34자리 — 이며 각 위치마다 숫자, 알파벳, 또는 영숫자 혼합 등의 문자 종류가 정의되어 있습니다.

mod-97 검사 방식

의도적으로 단순하게 설계된 알고리즘으로, 브라우저에서 마이크로초 단위로 실행됩니다.

  1. 공백을 제거하고 IBAN을 대문자로 만듭니다.
  2. 처음 네 글자(국가 코드 + 체크 디지트)를 끝으로 옮깁니다.
  3. 각 알파벳을 두 자리 숫자로 치환합니다: A → 10, B → 11, …, Z → 35.
  4. 결과 문자열을 하나의 큰 정수로 보고 n mod 97을 계산합니다.
  5. 나머지가 1이면 체크섬이 정확합니다.

많은 국가의 BBAN에 알파벳이 포함되므로(영국 은행 코드, 이탈리아의 첫자리 체크 등), 알파벳 → 숫자 매핑은 부수적 처리가 아닌 핵심 과정입니다. ZeroTool은 가능한 경우 네이티브 BigInt를 사용하고, 구형 브라우저에서는 청크 단위 모듈로 연산으로 대체합니다.

BBAN 분해에서 보이는 항목

  • 은행 코드 — 국가 내 발급 은행을 식별. 문자 종류는 국가별로 다름 — 알파벳(영국·네덜란드·아일랜드), 숫자(독일·프랑스·이탈리아), 영숫자 혼합(스위스·알바니아).
  • 지점 코드 — 많은 국가가 BBAN 안에 지점/sort-code를 별도 영역으로 보유 (영국 sort code, 프랑스 code guichet, 스페인 oficina).
  • 계좌 번호 — 은행 내부 계좌 식별자.
  • 국가 체크 디지트 — 프랑스, 이탈리아, 벨기에, 헝가리 등은 IBAN mod-97과 별도로 BBAN 안에 국가 체크 디지트를 내장합니다. 표시는 하지만 본 도구는 국가별 알고리즘을 별도로 검증하지 않습니다.
  • 계좌 유형 / 보유자 표시 / 통화 코드 — 일부 국가 고유 필드 (브라질은 계좌 유형 + 보유자, 모리셔스·세이셸은 통화 코드, 불가리아는 계좌 유형).

일반적인 사용 사례

  • SEPA 송금이나 전신환 발행 전에 자리바꿈 오타 잡기.
  • 결제 폼에서 사용자가 입력한 IBAN을 정리 — 유료 IBAN API 이전 단계에서 클라이언트 측 mod-97 검사가 가장 저렴한 1차 필터.
  • 결제 게이트웨이(Stripe, Adyen, Mollie, Braintree)가 제공하는 테스트 IBAN의 국가 레이아웃 확인.
  • OCR 송장 인식 결과 디버깅 — 가장 흔한 OCR 오류(0/O, 1/I, 5/S)는 모두 mod-97을 깨므로 즉시 감지됩니다.
  • 익숙하지 않은 송장을 결제하기 전 은행 코드가 예상과 일치하는지 확인.

설계상의 경계

본 도구는 검증 및 파서이며 계좌 조회 서비스가 아닙니다. 외부 API를 호출하지 않으며 계좌의 개설 여부, 동결 상태, 소유자 식별은 알 수 없습니다. 원시 은행 코드에서 IBAN을 역생성하는 기능도 의도적으로 제외했습니다(악용 소지가 명확). BIC/SWIFT 조회는 SWIFT 공식 디렉터리나 거래 은행 사이트를 사용하세요. SEPA 입금 QR 코드가 필요하면 ZeroTool의 QR Code Generator에서 EPC069-12 형식의 페이로드를 입력하세요.

FAQ

mod-97 검사로 무엇을 알 수 있나요?

IBAN의 2자리 체크 디지트는 다음과 같이 설계됩니다. 문자를 A=10..Z=35로 변환하고 처음 네 글자를 끝으로 옮긴 뒤 전체를 97로 나누면 나머지가 1이 되어야 합니다. 한 자리 오타와 인접 자리 자리바꿈을 99.5% 이상 잡아냅니다. 실제 계좌 존재 여부는 검증하지 않습니다.

은행 이름도 알려주나요?

아니요. 본 도구는 은행 코드(예: 영국 IBAN의 WEST)만 분해하며 은행 이름으로 매핑하지 않습니다. 은행 이름이 필요하면 각국 중앙은행 디렉터리나 SWIFT 검색 서비스를 이용하세요. 온라인 BIC/SWIFT 디렉터리를 내장하지 않은 것은 의도된 설계입니다.

IBAN이 유효하다고 나오는데 결제가 실패합니다.

IBAN 검증은 형식과 체크섬만 확인합니다. 형식상 유효한 IBAN이라도 폐쇄된 계좌, 동결된 계좌, 해당 통화/결제 방식을 받지 않는 은행을 가리킬 수 있습니다. 은행은 송금 시점에 자체 백엔드 검증을 수행합니다. IBAN 유효성은 필요조건일 뿐 충분조건이 아닙니다.

어떤 국가가 지원되나요?

ZeroTool은 2024년 3월 SWIFT IBAN Registry 스냅샷을 내장하며, IBAN 표준을 발행하는 80+개 국가를 다룹니다. 이 스냅샷 이후 IBAN을 채택한 국가는 mod-97 검증은 가능하지만 BBAN 필드 분해는 표시되지 않습니다.

IBAN이 서버로 전송되나요?

전송되지 않습니다. 검증, 길이 확인, BBAN 파싱, 국가 코드 조회는 모두 브라우저에서 인라인 JavaScript로 수행됩니다. 입력은 어떤 서버에도 전송되지 않으며 로그도 남기지 않습니다. 페이지가 한 번 로드되면 오프라인에서도 완전히 동작합니다.

IBAN이나 BIC을 생성할 수 있나요?

생성하지 않습니다. 의도된 설계입니다. 임의의 은행 코드로 IBAN을 생성하면 계좌 사칭에 악용될 수 있으므로 ZeroTool은 이미 가지고 있는 IBAN의 검증·분해만 제공합니다. 실제 IBAN은 은행 정규 채널에서 발급받으세요. BIC/SWIFT 조회는 SWIFT 공식 디렉터리를 이용하세요.