웹 개발

Credit Card Validator

Luhn 알고리즘으로 카드 번호를 검증하고 결제 네트워크와 자릿수를 확인합니다. 모든 계산은 브라우저에서 이루어지며, 번호는 어디로도 전송되지 않습니다.

The Luhn algorithm is a checksum most payment networks append to a card number to catch accidental typing errors (one transposed or mistyped digit). This tool checks a number against Luhn and identifies the payment network from its prefix (BIN).

How to use it

Common uses

Things to keep in mind

A card passing the Luhn check doesn't mean it's active, unblocked, or even real — the check only catches obvious typing mistakes.

Card data is processed entirely in your browser and never sent anywhere, but for actual payments, always use a certified payment form (PCI DSS) rather than pasting a real card number into a third-party tool.

이 도구에 대한 아티클: Luhn 알고리즘: 카드 번호의 정확성을 확인하는 방법

자주 묻는 질문

검사를 통과하면 카드가 실제이고 잔액이 있다는 뜻인가요?

아니요 — 이 도구는 감지된 네트워크에 대한 Luhn 체크섬과 예상 자릿수만 확인합니다. 카드가 실제로 존재하는지, 활성 상태인지, 잔액이 있는지는 카드 발급사에 문의해야 하므로 알 수 없습니다.

Luhn 알고리즘은 어떻게 작동하나요?

오른쪽부터 매 두 번째 자릿수를 두 배로 하고, 결과의 자릿수를 변경되지 않은 자릿수와 함께 합산한 후, 합계가 10의 배수인지 확인합니다 — 대부분의 오타와 자릿수 전치를 잡아내지만 사기 검사는 아닙니다.

제 카드 번호가 어딘가로 전송되나요?

아니요, 검증은 전적으로 브라우저 내에서 이루어지며 번호는 절대 전송되거나 저장되지 않습니다.

카드 번호로 결제 네트워크(Visa, Mastercard 등)를 어떻게 판별하나요?

BIN(Bank Identification Number)이라 불리는 번호 앞 몇 자리로 판별합니다 — 예를 들어 Visa 번호는 항상 4로 시작하고, Mastercard는 51~55 또는 2221~2720 범위로 시작합니다. 결제 폼은 이 접두어를 이용해 번호 입력을 마치기도 전에 네트워크 아이콘을 결정합니다.

BIN으로 어떤 은행이 카드를 발급했는지 알 수 있나요?

부분적으로 가능합니다 — 앞 6자리(확장 BIN)로 결제 네트워크뿐 아니라 구체적인 발급 은행과 카드 종류(체크카드 또는 신용카드)까지 대체로 파악할 수 있지만, 은행을 정확히 특정하려면 Luhn 알고리즘 자체가 아니라 전문 BIN 조회 데이터베이스가 필요합니다.

아티클: 웹 개발

HEX, RGB, HSL: 색을 표현하는 방법이 이렇게 많은 이유

디자이너가 손으로 색조를 고를 때 HEX 대신 HSL을 자주 선택하는 이유.

CSS 압축: 파일에서 실제로 제거되는 것은 무엇이고 왜인가

압축된 CSS가 사람에게는 읽을 수 없게 되어도 브라우저에서 정확히 똑같이 작동하는 이유.

JavaScript 압축: 압축과 난독화의 차이

원하면 압축된 코드는 여전히 읽을 수 있지만, 난독화된 코드는 그럴 수 없는 이유.

HTML 압축: 마크업 안의 공백이 애초에 왜 중요한가

<pre>나 textarea 안의 공백을 제거하면, 다른 거의 모든 곳과 달리 페이지의 모양이 깨지는 이유.

CSS 그라디언트: linear가 radial, conic과 다른 점

conic-gradient는 파이 차트에 적합하고, radial-gradient는 빛 웅덩이 효과를 만드는 이유.

IBAN: 국제 은행 계좌 번호가 구성되는 방식

IBAN의 첫 두 글자가 계좌 번호 자체의 일부가 아니라 국가 코드인 이유.

QR 코드: 픽셀로 된 정사각형 안에 링크가 들어가는 방식

가운데에 로고가 있는 QR 코드가 패턴 일부가 가려져도 여전히 스캔되는 이유.

바코드: Code 128이 EAN-13과 다른 점

매장 진열대 위 제품이 거의 항상 Code 128 대신 EAN-13을 사용하는 이유.

플레이스홀더 이미지: 개발 중 가짜 이미지가 중요한 이유

레이아웃이 아직 만들어지는 중일 때 개발자가 실제 사진 대신 일부러 회색 상자를 넣는 이유.