IBAN 구조: 나라별 형식과 MOD 97 검증 번호
IBAN(International Bank Account Number, 국제 은행 계좌번호)은 나라를 넘어 은행 계좌를 식별하는 번호입니다. 유럽, 중동 등지로 송금할 때 받는 사람의 IBAN을 묻습니다. 모든 IBAN은 같은 틀을 따르지만 길이와 구성은 나라마다 다르며, 두 자리 검증 번호가 대부분의 입력 실수를 잡아 줍니다. 이 가이드는 IBAN의 구조, SWIFT IBAN 등록부의 형식 읽는 법, 중앙은행 예시로 본 MOD 97-10 검증 방법, 올바른 IBAN이 증명하지 않는 것을 설명합니다.
IBAN의 구성
- 국가 코드: ISO 3166의 영문 두 글자(DE, FR, GB 등)
- 검증 번호: ISO 7064 MOD 97-10으로 IBAN 전체에 대해 계산한 두 자리 숫자
- BBAN(Basic Bank Account Number): 그 나라의 계좌번호. 보통 은행 코드가 들어 있고, 지점 코드나 그 나라의 검증 번호가 들어 있기도 합니다.
표준은 ISO 13616이며 SWIFT가 등록 기관입니다. 각 나라가 IBAN의 길이와 구성을 등록하면 SWIFT가 IBAN 등록부로 공개합니다. 103판(2026년 9월)에는 89개국이 실려 있고, LeedyBox 검증기의 형식도 여기서 가져왔습니다. 한국, 미국, 중국, 일본은 등록부에 없으며 IBAN을 쓰지 않습니다.
몇몇 나라의 형식
| 나라 | 길이 | 등록부 형식 | 등록부 예시 |
|---|---|---|---|
| 노르웨이(가장 짧음) | 15 | NO2!n4!n6!n1!n | NO93 8601 1117 947 |
| 독일 | 22 | DE2!n8!n10!n | DE89 3704 0044 0532 0130 00 |
| 영국 | 22 | GB2!n4!a6!n8!n | GB29 NWBK 6016 1331 9268 19 |
| 프랑스 | 27 | FR2!n5!n5!n11!c2!n | FR14 2004 1010 0505 0001 3M02 606 |
| 아랍에미리트 | 23 | AE2!n3!n16!n | AE07 0331 2345 6789 0123 456 |
| 러시아(가장 김) | 33 | RU2!n9!n5!n15!c | RU03 0445 2522 5408 1781 0538 0913 1041 9 |
형식 표기에서 n은 숫자, a는 영문 대문자, c는 영문자나 숫자이고, 길이 뒤의 !는 고정 길이라는 뜻입니다. 예를 들어 GB2!n4!a6!n8!n은 GB, 검증 번호 2자리, 영문 4자(은행), 숫자 6자리(sort code), 숫자 8자리(계좌번호)로 모두 22자입니다. 검증기의 국가 목록에서 89개국의 형식과 예시를 모두 볼 수 있습니다.
검증 번호 확인 방법
튀르키예 중앙은행의 IBAN 고시는 TR47 0000 1001 0000 0350 9300 01을 예로 MOD 97-10 검증을 설명합니다.
- 띄어쓰기를 지우고 앞 네 글자(TR47)를 맨 뒤로 옮깁니다:
TR470000100100000350930001→0000100100000350930001TR47 - 영문자를 두 자리 숫자로 바꿉니다(A = 10, B = 11 … Z = 35). T = 29, R = 27이므로
0000100100000350930001292747이 됩니다. - 이 수를 97로 나눕니다. 올바른 IBAN이면 나머지가 1입니다.
28자리 수는 일반 정수나 부동소수점으로 다루기 어렵습니다. 고시는 나눠서 계산하는 방법도 보여 줍니다. 앞 9자리 000010010을 97로 나눈 나머지는 19, 19를 다음 자리 앞에 붙인 19000035093의 나머지는 43, 마지막으로 430001292747의 나머지는 1입니다. 나머지를 다음 묶음 앞에 붙여 가기만 하면 묶음 크기는 상관없고, 프로그램에서는 한 글자씩 처리해도 됩니다.
새 검증 번호 계산
- BBAN, 국가 코드, 00을 차례로 씁니다. 독일 예시라면
370400440532013000+DE+00입니다. - 영문자를 바꾸면(D = 13, E = 14)
370400440532013000131400이 됩니다. - 97로 나눈 나머지(여기서는 9)를 98에서 뺍니다. 98 − 9 = 89이고, 10보다 작으면 앞에 0을 붙입니다.
결과는 DE89 3704 0044 0532 0130 00입니다. 실제 IBAN은 은행이 정해 주므로, 개발자에게 이 계산은 주로 테스트 데이터를 만들 때 필요합니다. 검증기의 테스트 IBAN 생성도 무작위 BBAN에 이 방법을 씁니다.
검증으로 잡히는 것과 잡히지 않는 것
- 항상 잡힘: 숫자 하나의 오타, 이웃한 숫자 두 개의 자리 바뀜. 97은 이런 실수로 생기는 어떤 차이보다 큰 소수이므로 나머지가 반드시 달라집니다.
- 형식으로 잡힘: 길이가 틀리거나 숫자 자리에 영문자가 들어간 경우. 그래서 검증기는 등록부 형식을 먼저 확인합니다.
- 확인하지 않음: 스페인의 두 자리 검증 숫자, 이탈리아의 CIN 문자처럼 BBAN 안에 있는 그 나라의 검증 번호. MOD 97을 통과해도 은행이 거절할 수 있습니다.
- 번호로 알 수 없음: 계좌가 실제로 있는지, 입금을 받을 수 있는지, 예금주가 맞는지.
IBAN 쓰는 법
종이에는 왼쪽부터 네 글자씩 띄어 쓰고, 마지막 묶음은 짧을 수 있습니다. 전자 송금에서는 띄어쓰기 없이 씁니다. 아랍에미리트 중앙은행은 인쇄 형식의 예로 AE07 0331 2345 6789 0123 456을 듭니다. 두 형식은 같은 IBAN이므로, 입력 양식은 둘 다 받고 한 가지로 저장하는 것이 좋습니다.
자주 묻는 질문
IBAN과 SWIFT(BIC) 코드는 같은 건가요?
아닙니다. IBAN은 계좌를, BIC(흔히 SWIFT 코드라고 부름)는 은행을 나타냅니다. 송금에 둘 다 필요한 경우도 있습니다.
한국 계좌에도 IBAN이 있나요?
없습니다. 한국은 SWIFT IBAN 등록부에 없습니다. 한국으로 송금받을 때는 보통 은행의 SWIFT(BIC) 코드와 계좌번호를 알려 줍니다.
은행 코드와 계좌번호로 IBAN을 직접 만들어도 되나요?
검증 번호는 계산할 수 있지만, 일부 나라는 은행별로 별도의 변환 규칙이 있습니다. 통장 사본이나 은행 앱에 나온 IBAN을 그대로 쓰는 것이 안전합니다.
검증기가 IBAN을 어딘가로 보내나요?
아닙니다. 검증은 브라우저에서 이뤄지며, LeedyBox에서는 등록부 데이터 파일만 불러옵니다.
출처
출처: SWIFT: IBAN Registry, Release 103 (September 2026) · 확인일:
출처: Central Bank of the UAE: IBAN · 확인일: