How to Write Dumps: Track 1 and Track 2 Fields
Writing a dump means building the stripe data correctly and encoding it to a blank with a writer. Get one character wrong and the terminal either fails to read or reads and declines. This is the most technical page on the site, so take it slowly.
Contents
The structure of Track 2
Track 2 is what terminals actually use for a normal transaction. Its layout:
| ; | Start sentinel. Always a semicolon. |
| PAN | The card number, up to 19 digits. |
| = | Field separator. A literal equals sign, not a colon. |
| YYMM | Expiry, four digits, no slash. |
| SSS | Three-digit service code. This decides PIN behaviour. |
| DD | Discretionary data as supplied. Copy it, do not invent it. |
| ? | End sentinel. |
The LRC (longitudinal redundancy check) is usually computed by the writer software. If your tool asks for it manually, most writers offer an auto-fill.
Track 1
Track 1 carries the name, and some terminals prefer it. Format: %B then PAN, then ^, then SURNAME/FIRSTNAME in capitals, then ^, then YYMM and service code, then discretionary data, then ?.
Name field is where people break things: no spaces, slash between surname and forename, and the whole field in uppercase. A malformed name on Track 1 is the single most common cause of a stripe that reads but declines.
Writing it
- Mount the writer and confirm the driver sees it. MSR605X is the usual choice and its bundled software is adequate.
- Select ISO 7811 / Hi-Co unless the software defaults are known good. Lo-Co is fine on modern terminals but Hi-Co is safer.
- Paste Track 2 only for the first card. Adding Track 1 doubles the failure surface.
- Write, then read back with the same device and compare character by character.
- Print the face only if the terminal is attended, and only after the stripe verifies.
Start with 101 dumps
Cheap no-PIN dumps cost $12–$20 and are the right thing to practise on. Breaking five of those teaches more than reading ten guides.
Read-back is not optional
Always read the card back and check the string against the source. A writer can drop a character on a dirty head, and a dropped digit in the PAN produces a card that reads and declines on every terminal, which looks exactly like a dead dump.
Clean the head with an alcohol swab every twenty cards. It is a two-second habit that saves whole packs.
What goes wrong, and why
- Stripe reads as invalid: sentinel missing, separator wrong, or expiry in MMYY order instead of YYMM.
- Reads but declines immediately: wrong service code, or a Track 1 name that does not parse.
- Reads on one terminal, fails on the next: write level too low for that reader. Rewrite louder.
- Reads, declines only at ATM: service code says no PIN, or regional mismatch.
None of those are the shop’s fault. Buying another pack before you can read back a card correctly is the most common waste of money in this niche.
Related: dumps without PIN and the main dumps guide.
