신용카드 유효성 검사기
신규Luhn 알고리즘으로 카드 번호를 확인하고 브랜드를 감지.
This verifies the Luhn checksum, the brand prefix and the length so you can build and test payment forms. A “valid” result means the number is well-formed — not that a card exists, is active, or has funds. Everything runs in your browser; numbers are never sent anywhere. Please don’t use it for fraud.
Enter a card number to validate.
| Brand | Starts with | Length | CVV |
|---|---|---|---|
| Visa | 4 | 13, 16, 19 | 3 |
| Mastercard | 51–55, 2221–2720 | 16 | 3 |
| American Express | 34, 37 | 15 | 4 |
| Discover | 6011, 644–649, 65 | 16–19 | 3 |
| Diners Club | 300–305, 36, 38, 39 | 14–19 | 3 |
| JCB | 3528–3589 | 16–19 | 3 |
| UnionPay | 62, 81 | 16–19 | 3 |
| Maestro | 50, 56–69 | 12–19 | 3 |
Runs entirely in your browser. Nothing is uploaded.
브라우저에서 모든 카드 번호를 즉시 검증
이 신용카드 검증기는 Luhn 알고리즘, 카드 브랜드, 예상 자릿수를 기준으로 카드 번호가 올바르게 구성되어 있는지 입력하는 동안 실시간으로 확인합니다. 번호를 붙여넣거나 입력하면 감지된 브랜드와 로고, Luhn 체크섬과 자릿수 합격 여부, 선택적으로 CVV 및 유효기간 형식 확인을 즉시 볼 수 있습니다.
결제 폼을 구현하는 개발자와 결제를 제출하기 전에 오타를 잡고 싶은 모든 분을 위해 만들어졌습니다. 모든 처리가 서버 없이 브라우저 내에서 로컬로 실행되므로, 엄격한 아웃바운드 트래픽 정책을 가진 기업 네트워크에서도 사용할 수 있는 개인 전용 카드 번호 검증기이자 Luhn 체크 계산기로도 활용됩니다.
Luhn 알고리즘 작동 원리
Luhn 알고리즘(mod-10 체크라고도 함)은 1954년 Hans Peter Luhn이 특허를 취득한 이후 거의 모든 카드 네트워크가 사용해 온 체크섬 공식입니다. 오른쪽부터 시작해 한 자리씩 건너뛰며 각 자릿수를 2배로 곱하고, 결과가 9를 초과하면 9를 뺀 후 모든 자릿수를 합산합니다. 합계가 10으로 나누어 떨어지면 유효한 번호입니다. 예를 들어 4242 4242 4242 4242의 합계는 80으로 10으로 나누어 떨어지므로 Luhn 유효입니다.
이 페이지의 Luhn 단계별 설명 패널은 입력한 모든 번호에 대해 해당 계산을 시각화합니다. 2배로 처리된 자릿수를 강조 표시하고, 각 자릿수의 누계 기여도를 보여주며, 최종 합계와 나머지를 출력합니다. Luhn 체크가 실제로 어떻게 작동하는지 이해하는 가장 빠른 방법입니다.
IIN/BIN으로 카드 브랜드 식별
카드의 처음 6~8자리는 발급 기관 식별 번호(IIN)——과거에는 은행 식별 번호(BIN)라고 불렸음——로 네트워크를 식별합니다. 이 카드 브랜드 감지기는 Visa(4로 시작), Mastercard(51–55 및 2221–2720), American Express(34/37), Discover(6011, 644–649, 65), Diners Club(300–305, 36, 38, 39), JCB(3528–3589), UnionPay(62, 81), Maestro를 인식하고, 카드 브랜드 규칙 표에서 각 브랜드의 허용 자릿수와 CVV 자릿수를 보여줍니다.
브랜드 감지는 입력과 동시에 실행되므로, 처음 네 자리 내에서 입력하는 번호가 Visa, Mastercard, Amex 중 어느 브랜드인지 알 수 있습니다. 이는 이커머스 사이트의 결제 폼이 입력 필드에 올바른 카드 로고를 표시하기 위해 수행하는 것과 동일한 검사입니다.
cardguru.io 및 creditcardvalidator.org와 비교
가장 많이 검색되는 무료 카드 검증기는 cardguru.io와 creditcardvalidator.org입니다. 둘 다 Luhn 알고리즘을 확인하고 브랜드를 감지합니다. Cardguru.io는 BIN 조회(발급 은행, 국가)를 추가하지만 서버 측 API 호출을 통해 처리하므로 카드 번호가 브라우저를 벗어납니다. Creditcardvalidator.org는 완전히 클라이언트 측에서 작동하지만 검증기 옆에 광고를 표시하며 테스트 카드 생성이나 일괄 확인 기능을 제공하지 않습니다.
namso-gen.com과 유사한 사이트들은 테스트 카드 생성에 초점을 맞추고 있으며 때로는 대량으로 생성하지만, 생성된 번호가 사기 테스트에 사용됩니다. 이 검증기는 기능을 명확히 구분합니다: 번호 검증, 테스트 카드 생성, 일괄 검증——모두 오프라인으로, 어떠한 악용과도 무관하게.
테스트 카드 번호, 생성기 및 일괄 모드
내장된 테스트 신용카드 번호 라이브러리에는 브랜드별 Luhn 유효 샌드박스 번호(Stripe, Adyen, PayPal 스타일)가 수록되어 있으며, 각 번호는 테스트 전용임을 명확히 표시하고 복사 및 '사용' 버튼이 제공됩니다. 새 번호가 필요하신가요? 생성기는 원하는 브랜드의 무작위 Luhn 유효 번호를 생성하므로 Stripe 문서를 찾아볼 필요 없이 몇 초 안에 결제 폼을 채울 수 있습니다.
일괄 모드를 사용하면 스프레드시트 내보내기나 테스트 픽스처 파일에서 번호 열을 붙여넣어, 각 행에 대한 브랜드, 자릿수, Luhn 결과, 유효/무효 판정이 담긴 표를 얻을 수 있습니다. 서드파티 데이터 소스에서 번호 목록을 받아 올바르게 구성된 것이 무엇인지 빠르게 확인해야 하는 QA 과정에서 유용합니다.
코드에서 카드 번호 검증하기——서버 측에서 생략하면 안 되는 것
코드에서 신용카드 번호를 검증하려면 Luhn을 직접 구현하세요: 자릿수 문자열을 뒤집고, 한 자리씩 건너뛰며 각 문자를 2배로 처리하고(9를 초과하면 9를 빼고), 모든 값을 합산하여 합계 mod 10이 0일 때 유효를 반환합니다——JavaScript 또는 Python으로 약 6줄입니다. 완전한 클라이언트 측 형식 검증을 위해 브랜드 접두사 정규식과 감지된 브랜드에 대한 자릿수 확인을 추가하세요.
클라이언트 측에서 이 검사를 사용하면 네트워크 요청이 전송되기 전에 가장 흔한 오타를 잡아낼 수 있습니다. 하지만 이것만 믿어서는 안 됩니다: 인증된 결제 처리업체(Stripe, Adyen, Braintree, Square 등)를 통해 항상 서버 측에서 실제 승인을 실행하세요. Luhn 통과는 형식 검사이지 재정적 보증이 아닙니다. 여기에는 가입, 비용, 서버가 없습니다——모든 검사는 브라우저에서 이루어지며 입력한 번호는 절대 기기를 벗어나지 않습니다.
Frequently asked questions
신용카드 검증기란 무엇인가요?
신용카드 검증기는 세 가지 테스트를 통해 카드 번호가 올바르게 구성되어 있는지 확인합니다: Luhn 체크섬, 카드 브랜드(시작 자릿수로 식별, IIN 또는 BIN이라고 함), 그리고 해당 브랜드의 예상 자릿수입니다. 브라우저에서 즉시, 완전히 결과를 보고합니다. 개발자는 결제 폼 테스트에, 구매자는 제출 전 오타 확인에 사용합니다. 은행에 연락하지 않으므로 실제 카드가 발급되었거나 잔액이 있는지는 알 수 없습니다.
Luhn 알고리즘이란 무엇이고 어떻게 작동하나요?
Luhn 알고리즘(mod-10 체크라고도 함)은 잘못 입력된 카드 번호의 대부분을 잡아내는 체크섬 공식입니다. 가장 오른쪽 자릿수부터 왼쪽으로 이동하며 한 자리씩 건너뛰어 2배를 곱합니다. 2배 결과가 두 자릿수(10 이상)이면 9를 뺍니다. 그런 다음 모든 자릿수를 합산합니다. 합계가 10으로 나누어 떨어지면 번호가 통과됩니다. 이 페이지의 단계별 설명 패널은 입력한 모든 번호에 대해 동일한 계산을 보여줍니다.
유효한 번호는 카드가 실제로 존재하거나 활성화되어 있다는 의미인가요?
아닙니다. '유효' 결과는 번호가 올바르게 구성되어 있다는 의미일 뿐입니다: Luhn 체크섬을 통과하고 알려진 브랜드의 접두사 및 자릿수 패턴에 맞습니다. 카드가 은행에서 발급되었는지, 실제 사람에게 속하는지, 현재 활성화되어 있는지, 사용 가능한 크레딧이 있는지에 대해서는 전혀 알 수 없습니다. 그러한 사실을 확인하려면 결제 처리업체를 통한 실제 거래 중에만 발생하는 발급 은행 시스템에 대한 실시간 승인이 필요합니다.
여기에 카드 번호를 입력해도 안전한가요?
네. 모든 검사는 JavaScript로 브라우저 내에서 완전히 실행됩니다——입력하는 내용은 서버로 전송되지 않고, 기록되지 않으며, 기기 외부의 누구에게도 보이지 않습니다. 검증기 자체에는 백엔드, API 호출, 서드파티 분석이 없습니다. 모범 사례로서, 결제 폼만 테스트해야 할 때는 내장된 테스트 번호를 사용하고, 특별한 이유 없이 실제 카드 정보를 공유하는 것은 피하세요.
번호로 카드 브랜드를 어떻게 알 수 있나요?
카드의 처음 6~8자리는 발급 기관 식별 번호(IIN)로 네트워크 브랜드를 인코딩합니다. Visa 번호는 4로 시작하고, Mastercard는 51–55 또는 2221–2720, American Express는 34 또는 37, Discover는 6011, 644–649 또는 65, Diners Club은 300–305, 36, 38 또는 39로 시작합니다. 이 검증기는 입력한 처음 몇 자리에서 브랜드를 감지하고 로고, 허용 자릿수, CVV 자릿수를 즉시 표시합니다.
각 카드 유형은 몇 자리인가요?
Visa와 Mastercard 번호는 16자리입니다. American Express는 15자리입니다. Diners Club은 14자리입니다(일부 코브랜드 카드는 16자리). Discover, JCB, UnionPay는 제품에 따라 16~19자리입니다. Maestro는 12~19자리일 수 있습니다. 자릿수는 검증의 일부입니다: 4로 시작하는 15자리 번호는 Luhn 체크를 통과해도 유효한 Visa가 아닙니다(Visa는 16자리를 요구하기 때문입니다).
코드에서 신용카드 번호를 어떻게 검증하나요?
Luhn을 직접 구현하세요: 자릿수 배열을 뒤집고, 한 자리씩 건너뛰며 각 요소를 2배로 처리하고(결과가 9를 초과하면 9를 빼고), 모든 요소를 합산하여 합계 mod 10이 0일 때 true를 반환합니다. JavaScript 또는 Python으로 약 6줄입니다. 그런 다음 알려진 BIN 범위에 대한 정규식을 사용하여 브랜드 접두사 확인과 감지된 브랜드에 대한 자릿수 확인을 추가하세요. 즉각적인 피드백을 위해 클라이언트 측에서 이 검사를 사용하되, 항상 서버 측에서 결제 처리업체를 통해 실제 승인을 실행하세요.
Related tools
모든 도구 보기텍스트 암호화 / 복호화
패스프레이즈로 AES-256 메시지 암호화 및 복호화 — 완전히 브라우저에서.
패스프레이즈 생성기
안전한 랜덤 생성기로 기억하기 쉬운 단어 기반 패스프레이즈 생성.
해시 생성기
MD5, SHA-1, SHA-256 해시를 로컬에서 계산.
JWT 디코더
JSON Web Token을 디코딩하고 클레임을 확인하며 HS256 서명을 로컬에서 검증.
비밀번호 강도 검사기
엔트로피, 크래킹 시간 예측, 개선 팁으로 비밀번호 강도 테스트.
UTM 빌더
utm_source, medium, campaign 등으로 추적 가능한 캠페인 URL 생성.