Check a test card number

Paste a card number to see whether its Luhn checksum is consistent, which brand the issuer range belongs to, and which payment provider publishes it as a sandbox test card. Runs in your browser.

What it checks

  • The Luhn checksum from ISO/IEC 7812-1, and the check digit that would have made a mistyped number pass.
  • The brand, from the issuer identification ranges for Visa, Mastercard, American Express, Discover, JCB, Diners Club, Maestro, UnionPay, Elo and Hipercard.
  • Whether the length is one the brand issues, which is a second, independent check on the digits.
  • Whether a provider publishes the number as a sandbox card, naming the provider, the brand label it uses and what the number does in that sandbox.
  • The cases where two providers publish the same number with opposite meanings, such as 5105105105105100, which succeeds at Stripe and Square and is a processor decline at Braintree.
  • A Luhn-consistent number that no provider publishes, which is a number to treat as possibly real and keep out of a fixture.
  • The masked form, the first six and last four digits that PCI DSS allows to be displayed.

What is not stored

Nothing is stored and nothing is sent. This checker is JavaScript that runs inside your browser tab, so the value you paste never reaches h2check.org or any other server. Close the tab and it is gone. That is still not a reason to paste a real card number into a web page.

Limits

  • Luhn proves the digits are self-consistent. It does not prove an account exists, is funded or is accepted, and a form that reports "valid card" after a Luhn check is reporting something it did not measure.
  • The sandbox list is a snapshot of what each provider published on its own testing page, read on 2026-09-12. Providers add and retire numbers, so the page named in the row is the source.
  • Adyen, Authorize.Net and Worldpay publish no decline cards at all. Their sandboxes drive the outcome from the amount or from a magic cardholder name, so no card number reproduces a decline there.
  • Brand detection is by issuer identification range. Ranges get reassigned and a co-badged card carries two of them, so a real gateway decides the brand from its own BIN table and can disagree.
  • Nothing here contacts a card network. No account, balance, expiry or security code is looked up.

Procedures that explain the result

Put it on your own page

Link to it with the value filled in, and the checker runs as soon as the page opens.

<a href="https://h2check.org/tools/test-card/">Check a test card number</a>