Card Validation Tools

Generate and validate the card security codes used by MasterCard and American Express — dynamic CVC3 for contactless taps, and the Amex CSC in its 3, 4 and 5-digit forms.

Introduction

Card security codes are short numeric values printed on a card or computed dynamically that prove the cardholder physically possesses the card or a valid token. They’re the first line of defence in card-not-present transactions and are checked on every authorisation alongside expiry date and address verification.

ISO8583Studio includes dedicated calculators per scheme so you can simulate issuer behaviour without an HSM and validate codes returned by your authorisation pipeline.

Key Concepts

CodeSchemeWhere it livesLength
CVVVisaMagstripe (track 1 / 2)3 digits
CVV2VisaCard back (signature panel)3 digits
iCVVVisaEMV chip3 digits (computed with service code 999)
CVCMasterCardMagstripe3 digits
CVC2MasterCardCard back3 digits
CVC3MasterCard PayPassComputed dynamically per tap3 digits
CSCAmerican ExpressCard front4 digits

MasterCard CVC3 Calculator

CVC3 is the dynamic card verification code a contactless (PayPass) card computes for every tap, from a master key, the terminal’s unpredictable number and the Application Transaction Counter. The calculator has a Generate tab and a Validate tab, with the activity log beside them.

MasterCard CVC3 calculator on the Generate tab with IMK, PAN, PAN Seq No, Track 1/2 Data, Unpredictable Num and ATC fields and Dynamic CVC3 selected as the CVC3 type, beside the activity log
card-validation Generate CVC3

Inputs

  • IMK — The issuer master key the card’s CVC3 key is derived from.
  • PAN and PAN Seq No — Together they identify the individual card, which is what the derivation is bound to.
  • Track 1/2 Data — The track template the CVC3 digits are placed into.
  • Unpredictable Num — The number supplied by the terminal for this tap.
  • ATC — Application Transaction Counter, which advances every tap.
  • CVC3 Type — Drop-down; Dynamic CVC3 is the default.

Button: Generate.

Validate

The Validate tab takes the same card and transaction inputs plus the Dynamic CVC3 value that arrived, recomputes it, and reports whether the two agree.

MasterCard CVC3 calculator on the Validate tab, with the same card and transaction fields plus a Dynamic CVC3 value field to check, beside the activity log
card-validation Validate CVC3
CVC3 placement

The CVC3 digits replace discretionary data positions in the magstripe-equivalent track the contactless card emits. Combined with the ATC, every tap produces a different track 2.

AMEX CSC Calculator

American Express uses a Card Security Code (CSC) printed on the card front above the embossed PAN. The calculator generates one from the card data, or checks a presented value.

Amex CSC Calculator on the Generate tab with a CSC Version drop-down set to Version 1, a hex CSC Key field, PAN, expiration date, service code and a CSC verification value type above the Generate button
card-validation Generate CSC

Inputs

  • CSC Version — Drop-down; Version 1 is the default.
  • CSC Key (Hex) — The key the code is computed under.
  • PAN — 15 digits for Amex.
  • Expiration Date (YYMM)
  • Service Code
  • Verification Value Type — Drop-down; CSC by default.

Button: Generate. Every field is validated before the button becomes active, so an empty form shows its own reasons.

Validate

The Validate tab drops the key and asks instead for the values that arrived. Under Values to Validate it takes CSC-5, CSC-4 and CSC-3 — the three code lengths Amex uses across magstripe, card-front and contactless flows — and reports each against the recomputed value in the log.

Amex CSC Calculator on the Validate tab with PAN, expiration date, service code and verification value type, then CSC-5, CSC-4 and CSC-3 fields under a Values to Validate heading, beside the activity log
card-validation Validate CSC

Service Codes

The 3-digit service code is fed into CVV/CVC algorithms. Each digit has independent meaning:

PositionCommon ValuesMeaning
1st digit1, 2, 5, 6, 7, 9Interchange and technology (international, EMV, etc.).
2nd digit0, 2, 4Authorisation processing (online, offline, by issuer).
3rd digit0–7Range of services and PIN requirement.
  • 101 — International, normal authorisation, no restrictions.
  • 201 — Same but EMV-capable.
  • 120 — Online authorisation only, PIN required.
  • 999 — Special value used by Visa for iCVV computation.
  • 000 — Special value for CVV2 / CVC2.

Tips

  • Use the same CVK / CVC key for CVV, CVV2, and iCVV — only the service code changes.
  • If your CVV2 doesn’t match across systems, check whether the integrator strips the trailing PAN check digit before computation. Different specs handle that differently.
  • For CVC3 testing, capture the UN and ATC from your terminal log alongside the track data — off-by-one ATC is a common error.