Free Gift Card Barcode Checker

The till reads the bars; you read the printed digits. Nothing forces those two to agree, and a swapped barcode sticker is exactly that gap being exploited. Paste both numbers and this page compares them — in your browser, with nothing sent anywhere.

The text a scanner app read out of the bars themselves — not the digits printed beneath them.

As written on the card or its packaging. Spaces and dashes are ignored.

Never enter the PIN from under the scratch-off panel. It is not needed here.
Enter both numbers

The comparison runs on your device as you type. Nothing is uploaded.

What This Checks, and What It Cannot

A gift card carries its number twice: once as a barcode, and once as printed digits a human can read. The till reads the barcode. You read the digits. Nothing in any barcode standard forces those two to agree — the printed line is ordinary ink, applied by whoever printed the label. That gap is the whole of the swapped-sticker scam, and closing it is the only thing this page does.

It can tell you

  • Whether the barcode encodes the same number the card claims.
  • Where the two first diverge, and whether they share a long enough opening to be cards from the same programme.
  • Whether extra characters in the barcode are a prefix or a suffix, which is usually routine rather than sinister.
  • Whether a card-style number satisfies the Luhn check digit defined in ISO/IEC 7812-1.

It cannot tell you

  • The balance. Nothing that runs offline could — a balance lives in the issuer's systems. Treat any site that asks for your card number and the PIN to "check the balance" as the scam itself.
  • Whether the PIN has been exposed. Peeling and re-covering the scratch-off panel is a separate attack, and the barcode is untouched by it. Inspect the panel by eye as well.
  • Whether the card is funded. A matching barcode on an unactivated card still buys nothing.

Formats vary by issuer. Some barcodes carry the card number alone, some prepend a programme prefix, and some append the PIN or a check character. A match with extra leading or trailing characters is therefore normal. A barcode encoding a different number is not.

How to Read the Barcode Itself

Gift card barcodes are almost always Code 128 (ISO/IEC 15417), the same linear symbology used on shipping labels. This matters practically: the built-in camera apps on iPhone and Android act on QR codes and little else, so pointing the stock camera at a gift card usually does nothing at all. You need a scanner that reads linear symbologies and shows you the decoded text rather than acting on it.

  1. Scan the barcode on the back of the card, through the packaging window if it is still sealed.
  2. Copy the decoded text — the raw characters, not a tidied-up version.
  3. Type the number printed on the card into the second box above and compare.

If the card is sealed in a blister pack and the barcode is not visible through the window, you cannot run this check before buying. That is itself a reason to pick a different card: a pack that hides the barcode hides the swap too. What barcodes your phone can scan covers which symbologies each platform handles natively.

A Worked Example

A card is printed 6006 4912 3456 7890. The sticker on the back decodes to 6006491000000111. Paste both above and the page reports a mismatch at position 8, with the first seven characters shared.

That shared opening is the informative part. Both numbers begin 6006491, so both are plausibly cards from the same programme — which is exactly what you would expect if someone lifted a barcode from another card on the same rack. A sticker from an unrelated programme would diverge in the first character or two instead. Either way the till will load the money onto the card the bars name, not the one the printed digits name.

The Luhn column is deliberately unhelpful here, and that is the point worth internalising. A swapped barcode is a real, correctly-printed barcode for a real card, so it passes every checksum there is — the Code 128 symbol's own mod-103 check character, and the card number's Luhn digit if the programme uses one. Checksums detect damage and typos. They cannot detect substitution. Only the comparison can.

Related Tools & Guides

Frequently Asked Questions

How can a gift card barcode not match the number printed on the card?

Because the printed digits are just ink. The human-readable line under a barcode is typed into the artwork by whoever produced the label; no scanner verifies it against the bars, and no barcode standard requires the two to agree. Someone who prints a sticker can put any digits they like underneath a barcode that encodes a different card. The till reads only the bars, so that is the number the money goes to.

Does a matching barcode mean the gift card is safe?

It rules out one specific attack — a barcode sticker swapped for another card’s. It does not rule out the others. If someone peeled back the scratch-off panel, copied the PIN and resealed it, the barcode is untouched and will match perfectly, and they can drain the card the moment you load it. Check the panel by eye as well, and prefer a card whose packaging is intact.

Why does my barcode have more digits than the printed number?

That is usually routine rather than a problem. Issuers often wrap the card number in extra characters — a fixed programme prefix at the front, or the PIN, a sequence number or a check character at the end. This page reports whether the extra characters sit before or after the printed number, and still treats the comparison as a pass, because the card number itself agrees. What matters is a barcode encoding a different number, not a longer one.

Can a checksum detect a swapped barcode sticker?

No, and this is the point most guidance misses. A swapped sticker is a genuine, correctly-printed barcode for a genuine card, so it satisfies every checksum in the chain: the Code 128 symbol’s own mod-103 check character, and the card number’s Luhn digit where the programme uses one. Checksums are built to catch damage and transcription errors, not substitution. Only comparing the decoded value against the printed value catches a swap.

What is the Luhn check and why is it sometimes shown as "n/a"?

Luhn is the check-digit formula defined in ISO/IEC 7812-1 and used on payment card numbers, including Visa- and Mastercard-branded prepaid gift cards. Closed-loop retailer cards follow no public numbering standard, so many of them simply do not use it, and a failure there means nothing. This page only evaluates it on all-digit numbers of 12 to 19 characters, because below that length roughly one string in ten passes by chance and the result would be noise.

Is my gift card number sent anywhere?

No. The normalisation, the comparison and the Luhn arithmetic are plain JavaScript running inside the page. No request leaves your device, nothing is logged, and you can load the page, go offline and it will still work. That is deliberate: a gift card number is a bearer credential, and any site that asks for it together with the PIN in order to "check your balance" is itself a common scam.

Can this check my gift card balance?

No, and nothing that works offline could — a balance only exists in the issuer’s records. If you want the balance, type the issuer’s own address into your browser yourself, or ring the number on the back of the card. Do not follow a link from a search advert or a message, which is how balance-check phishing pages get their traffic.

What should I do if the numbers do not match?

Do not buy the card. Take it to the store’s customer service desk and tell them the barcode does not match the printed number, so the card can be pulled from the rack rather than sold to the next person. Then choose another card, ideally one whose barcode you can scan through the packaging window, and whose packaging shows no sign of having been opened.

What does it mean when the two numbers share their opening digits?

That both are plausibly cards from the same programme, which is what you would expect if a barcode was lifted from another card on the same rack. The page flags a shared opening of six or more characters for that reason. A sticker from an unrelated programme diverges in the first character or two instead. Either way the conclusion is the same, but a long shared prefix is the stronger sign of a deliberate local swap rather than a printing error.

Read the Bars, Not the Ink

Gift card barcodes are Code 128, which the built-in camera apps on iPhone and Android generally will not touch. Scan & Generate reads it and shows you the decoded text, so you can compare it against the card before you reach the till.