Skip to content
クレジットカード番号検証ツール
Tools

クレジットカード番号検証ツール

新着

Luhnアルゴリズムでカード番号を検証し、ブランドを判定。

Format check only — not a real-card check.

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.

Brand: — Luhn: — Length: —

Enter a card number to validate.

Luhn checksum — step by step Every second digit from the right is doubled (then reduced by 9 if it goes over 9), and all the digits are summed. A total divisible by 10 passes.
Enter digits above to see the calculation.
Card brand rules (IIN / BIN)
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
Test card numbers Public sandbox numbers for testing checkouts (Stripe / Adyen / PayPal style). Test only — fake, not real cards.
4242 4242 4242 4242 Visa · Stripe default
4000 0566 5566 5556 Visa · debit
4111 1111 1111 1111 Visa · classic test
5555 5555 5555 4444 Mastercard
5200 8282 8282 8210 Mastercard · debit
2223 0031 2200 3222 Mastercard · 2-series
3782 822463 10005 American Express
3714 496353 98431 American Express
6011 1111 1111 1117 Discover
3056 9309 0259 04 Diners Club
3566 0020 2036 0505 JCB
6200 0000 0000 0005 UnionPay
6759 6498 2643 8453 Maestro · UK
Generate a test number Build a random, Luhn-valid number for form testing. Test only — fake, not a real card.
Batch check Paste many numbers (one per line) to validate them all at once.

Runs entirely in your browser. Nothing is uploaded.

ブラウザ上でカード番号を即時検証

このクレジットカードバリデーターは、Luhnアルゴリズム・カードブランド・期待桁数の3点から、カード番号が正しい形式かどうかを入力しながらリアルタイムに判定します。番号を貼り付けるか入力すると、検出したブランドとロゴ、Luhnチェックと桁数の合否、任意のCVVと有効期限のフォーマット確認が即座に表示されます。

決済フォームを実装する開発者はもちろん、支払いを送信する前にタイプミスを発見したいユーザーにも最適です。すべてがサーバー不要でブラウザ上のみで動作するため、厳格な送信トラフィックポリシーを持つ企業ネットワーク上でも使えるプライベートなカード番号バリデーターLuhnチェック計算機として機能します。

Luhnアルゴリズムの仕組み

Luhnアルゴリズム(mod-10チェックとも呼ばれる)は、1954年にHans Peter Luhnが特許を取得して以来、ほぼすべてのカードネットワークが使用しているチェックサム式です。右端から1つ飛ばしで各桁を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桁数を表示します。

ブランド検出は入力と同時に起動するため、最初の4桁を入力した時点でVisa・Mastercard・Amexのどれかが判明します。これはECサイトの決済フォームが入力欄に正しいカードロゴを表示するために行うチェックと同じ処理です。

cardguru.ioおよびcreditcardvalidator.orgとの比較

無料カードバリデーターとして最も検索されるのはcardguru.iocreditcardvalidator.orgです。どちらもLuhnチェックとブランド識別を行います。Cardguru.ioはBIN検索(発行銀行・国)を追加していますが、サーバーサイドAPIコールで処理するためカード番号がブラウザ外に送信されます。Creditcardvalidator.orgは完全にクライアントサイドですが、バリデーターの隣に広告を表示し、テストカード生成やバッチチェックは提供していません。

namso-gen.comなどのサイトはテストカード生成——場合によっては大量生成——に特化していますが、生成された番号は不正テストにも使用されます。このバリデーターは機能を明確に分離しています:番号を検証する、テストカードを生成する、バッチ検証を実行する——すべてオフラインで、不正利用との関係は一切ありません。

テストカード番号・生成器・バッチモード

内蔵のテストクレジットカード番号ライブラリには、Luhn有効なサンドボックス番号(Stripe・Adyen・PayPal形式)をブランドごとに収録しており、各番号にテスト専用の明記とコピーボタン・「使用」ボタンが付いています。新しい番号が必要ですか?ジェネレーターは任意のブランドに対応したランダムなLuhn有効番号を作成するので、Stripeのドキュメントを参照せずに数秒で決済フォームを埋められます。

バッチモードでは、スプレッドシートのエクスポートやテストフィクスチャファイルから番号の列を貼り付けると、各行のブランド・桁数・Luhn結果・有効/無効の判定を含む表が返ってきます。サードパーティのデータソースから取得した番号リストを一括で検証するQA作業に最適です。

コードでカード番号を検証する——サーバーサイドで省略してはいけないこと

コードでクレジットカード番号を検証するには、Luhnを直接実装します:桁の文字列を逆順にして、1つ飛ばしで各文字を2倍にし(9を超えた場合は9を引く)、全値を合計して、合計mod 10が0のとき有効を返します——JavaScriptまたはPythonで約6行です。フルクライアントサイドのフォーマット検証のために、ブランドプレフィックスの正規表現と検出したブランドの桁数チェックも追加してください。

クライアントサイドではユーザーへの即時フィードバック用にこのチェックを使用してください——ネットワークリクエストが送信される前に最も多いタイプミスを検出できます。ただし、これだけに頼ってはいけません:認定された決済処理業者(Stripe・Adyen・Braintree・Squareなど)を通じてサーバーサイドで常に実際の認可を実行してください。Luhn合格はフォーマットチェックであり、財務上の保証ではありません。ここには登録不要・コスト不要・サーバーなし——すべてのチェックはブラウザ内で行われ、入力した番号はデバイス外に出ることはありません。

Frequently asked questions

クレジットカードバリデーターとは何ですか?

クレジットカードバリデーターは、カード番号が正しく形成されているかどうかを3つのテストで確認します:Luhnチェックサム、カードブランド(先頭桁で識別、IINまたはBINと呼ばれる)、そのブランドの期待桁数です。ブラウザ上で即座に結果を表示します。開発者は決済フォームのテストに使用し、ショッパーは送信前のタイプミス確認に使用します。銀行に接続しないため、実際のカードが発行済みか残高があるかは判断できません。

Luhnアルゴリズムとは何で、どのように動作しますか?

Luhnアルゴリズム(mod-10チェックとも呼ぶ)は、タイプミスされたカード番号の大部分を検出するチェックサム式です。最右桁から左に向かって1つ飛ばしで各桁を2倍にし、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を直接実装してください:桁の配列を逆順にし、1つ飛ばしで各要素を2倍にして(結果が9を超えた場合は9を引く)、全要素を合計し、合計mod 10が0のときtrueを返します。JavaScriptまたはPythonで約6行です。次に既知のBIN範囲に対する正規表現でブランドプレフィックスチェックと、検出したブランドの桁数チェックを追加します。即時フィードバックのためにクライアントサイドでこのチェックを使用しつつ、決済処理業者を通じた実際の認可は常にサーバーサイドで実行してください。