Why is my loyalty card barcode not scanning from my phone?
When a card in StoreCard won't scan, it's nearly always a dim screen, the wrong barcode format, or one digit typed wrong. Open the card from the list so Auto Brightness (100%) takes the screen to full, then compare the format shown next to Card Number with the number printed on the plastic.
When this fails, the cashier may try several times, shrug and type the number in. The cause is often a card saved as Code 128 when the plastic carries an EAN-13: same digits, different bars, and the scanner wants the EAN.
What to try at the till, in this order
- Close the widget and open the card from StoreCard's list. Only the card screen raises brightness to full and stops the iPhone from locking; the widget shows the barcode at whatever brightness you had.
- Check Auto Brightness (100%) is still on in Settings. It is on by default, but if you switched it off once to save battery, every card opens at your normal brightness.
- Hold the phone flat and close to the scanner window, and tilt it slightly if the glass reflects the ceiling lights back at you.
- Take off a privacy or matte screen protector if you have one. Both scatter or block light at an angle, and the scanner sees grey where it expects black and white.
- If it still fails, turn the phone round and let the cashier read the digits under Card Number, or tap the copy button next to it if you need to paste it into a shop's own app.
Is the barcode format right?
Open the card and look at the small grey label next to Card Number: that is the format StoreCard draws. Most European supermarket and pharmacy cards are EAN-13, 13 digits with the number printed under the bars. Long codes with letters are usually Code 128 or Code 39.
To change it, tap Edit, pick another Barcode Format under Card Value and save. The list only offers formats StoreCard can actually draw, so Data Matrix isn't there.
Worked example: one wrong digit
EAN-13 and EAN-8 end in a check digit that the scanner recalculates from the others. Typing the same card three ways shows the effect, worked out with the EAN-13 check-digit rule (weights 1, 3, 1, 3... from the left), the same one StoreCard uses.
| What was typed in Code | What StoreCard did | At the till |
|---|---|---|
| 4006381333913 (last two digits swapped) | drew all 13 digits as typed | rejected: the first 12 give a check digit of 7, the card ends in 3 |
| 400638133393 (only 12 digits) | added the 13th itself: 4006381333931 | scanned, matches the plastic |
| 40063813339 (11 digits) | no bars, shows the can't-be-drawn message | nothing to scan |
The first row is the sneaky one. StoreCard draws a full 13-digit number exactly as you typed it, on purpose, because it has to match what is printed on your card. So a typo produces a barcode that looks fine and never beeps. Compare the digits under Card Number with the plastic, one block of four at a time.
In the third case the card screen says "This number doesn't fit the selected barcode format, so it can't be drawn." and shows a Change Format button. That message means the length or the characters don't suit the format: EAN-13 takes 12 or 13 digits, EAN-8 takes 7 or 8, ITF-14 needs an even count (13 digits get a check digit added), and Code 39 takes capitals, numbers and a few symbols.
The camera won't read the card when I add it
Different problem: the camera reading the plastic, not the till reading your screen. If you see Camera access is off, tap Open Settings and allow the camera. If the frame sits on Position card barcode in frame, try the flashlight, flatten the card, and move it back until the whole barcode fits. A worn barcode can refuse to read at all; Enter Manually and type the number instead, since the scan is only ever a shortcut to filling in Code and Barcode Format.
What StoreCard can't fix
It cannot draw Data Matrix, the small square code on some cards. If your card only has one of those, keep the plastic for now or ask the till to type the number.
The widget can be worse in low light. At a dim self-checkout in the evening, the small widget barcode can fail, because a widget can't turn the screen up. Tapping through to the card fixes it, since the card screen raises the brightness. The widget works best as a way to find the card, with the card screen doing the scanning.
No paywall here. Pro only adds widgets, Mark as Used and Text Color, nothing that touches whether a barcode scans. A photo of the card in the camera roll can work as a fallback, though it is not reliable: it never goes to full brightness on its own and never tells you a digit is wrong.
Questions and answers
Why won't my barcode scan from my phone screen?
Why is my iPhone not scanning a barcode when I add a card?
Why is my loyalty card not working at one shop but fine at another?
Does a screen protector stop a barcode from scanning?
You might also like
- How to add loyalty cards to your iPhone · StoreCard
- Why are my loyalty cards not showing on my Apple Watch? · StoreCard
More StoreCard guides
- How to add loyalty cards to your iPhone
- A loyalty card wallet app that keeps every card in one place
- How to put a loyalty card barcode on your iPhone Home Screen
- How to show a loyalty card barcode on Apple Watch
- How to organize your loyalty cards so the right one is always on top
- How to back up your loyalty cards and move them to a new iPhone
- Why are my loyalty cards not showing on my Apple Watch?
- Is there an offline loyalty card app that needs no account?
- All questions about StoreCard
- Back to StoreCard