신용카드 유효성 검사

카드 번호의 형식(Luhn)과 카드사를 확인합니다.

카드 번호를 입력하세요.

Luhn 알고리즘으로 형식상 유효성만 확인합니다. 실제 결제 가능 여부나 발급 여부는 검증하지 않으며, 입력값은 전송되지 않습니다.

주문서에 카드 번호를 넣었는데 "카드 번호를 확인해 주세요"만 반복될 때가 있습니다. 한 자리를 잘못 눌렀는지, 애초에 형식이 틀렸는지 가려내야 하는 순간입니다. 이 도구는 번호가 체크섬 규칙에 맞는지와 앞자리로 본 카드사를 알려줍니다.

어떻게 계산되나요

사용법

카드 번호를 그대로 붙여넣고 검사를 누릅니다. 하이픈이나 공백은 자동으로 걸러지고 숫자만 남겨 계산합니다. 카드 번호는 보통 13~19자리이며, 자릿수가 모자라면 계산 전에 알려줍니다.

Luhn 알고리즘이 하는 일

카드 번호 마지막 자리는 앞자리들로부터 계산되는 검사용 숫자입니다.

  1. 오른쪽 끝에서부터 한 자리 건너 한 자리씩 2를 곱한다
  2. 곱한 값이 9를 넘으면 9를 뺀다
  3. 모든 자리를 더한다
  4. 합이 10으로 나누어떨어지면 형식상 유효

이 덕분에 한 자리 오타나 이웃한 두 자리를 바꿔 친 실수를 대부분 걸러낼 수 있습니다.

카드사 추정 기준

시작 번호카드사
4Visa
51~55, 22~27Mastercard
34, 37American Express
35JCB
30(0~5), 36, 38Diners Club
6011, 65Discover
62UnionPay
9국내 전용(로컬)

확인하지 않는 것도 분명히 해두는 게 좋습니다. 실제 발급된 번호인지, 유효기간이 남았는지, 한도가 있는지, 결제가 승인될지는 알 수 없습니다. 형식이 맞아도 존재하지 않는 번호일 수 있고, 카드사 추정도 앞자리 규칙에 따른 짐작입니다. 입력값은 브라우저 안에서만 계산되며 전송되지 않지만, 타인의 카드 번호를 입력하는 용도로는 사용하지 마세요.

용어 정리

Luhn 알고리즘
카드·회원번호 등에 널리 쓰이는 체크섬 계산법. 입력 오류를 걸러내기 위한 규칙입니다.
체크 디짓
번호 맨 끝에 붙는 검사용 숫자. 앞자리로 계산되어 결정됩니다.
BIN/IIN
카드 번호 앞 6~8자리. 발급사와 카드 종류를 식별하는 구간입니다.
국내 전용(로컬)
해외 브랜드 없이 국내 결제망에서만 쓰이는 카드. 9로 시작하는 번호가 여기에 해당합니다.
형식상 유효
숫자 규칙에 맞다는 뜻일 뿐, 실제 사용 가능한 카드라는 의미는 아닙니다.

자주 묻는 질문

유효하다고 나왔는데 결제가 안 됩니다

이 검사는 번호의 계산 규칙만 확인합니다. 실제 발급 여부·유효기간·한도·해외결제 차단 등은 카드사만 알 수 있습니다. 번호가 맞다면 유효기간과 CVC를 다시 확인하고, 그래도 안 되면 카드사에 문의하세요.

입력한 카드 번호가 어디로 전송되나요?

전송되지 않습니다. 계산은 브라우저 안에서만 이뤄지고 서버로 보내거나 저장하지 않습니다. 그래도 카드 번호는 민감한 정보이니 공용 PC에서는 입력을 피하고, 본인 카드 확인 용도로만 사용하세요.

카드사가 '알 수 없음'으로 나옵니다

앞자리 규칙에 등록되지 않은 대역이거나 국내 전용·선불·기프트카드일 수 있습니다. 카드사 식별은 널리 알려진 앞자리 규칙에 따른 추정이라 모든 카드를 구분하지는 못합니다.

아무 숫자나 넣어도 '유효'가 뜰 수 있나요?

가능합니다. Luhn 조건만 만족하면 통과하기 때문에 실제로 존재하지 않는 번호도 유효한 형식으로 나올 수 있습니다. 반대로 '유효하지 않음'이 뜨면 최소한 어딘가 잘못 입력됐다는 뜻이라 오타를 찾는 데 유용합니다.

왜 카드 번호에 이런 검사 숫자가 들어 있나요?

사람이 번호를 옮겨 적거나 입력할 때 생기는 오타를 결제 요청 전에 걸러내기 위해서입니다. 한 자리 오류나 인접한 두 자리를 바꿔 친 실수를 대부분 잡아내 불필요한 통신과 오류를 줄여줍니다.