Skip to content
UseQR

Troubleshooting

vCard QR code imports with missing or wrong fields

Two causes cover almost all of these: unescaped commas and semicolons inside a value, which split the field, and a missing FN line, which leaves the display name blank. Both fail silently at generation and only appear when someone saves the contact.

1. Unescaped punctuation

Inside a vCard value, four characters must be backslash-escaped:

,   ;   \   and a newline, written \n

A job title of Director, Engineering written literally becomes two values, and most address books show only Director. An address containing semicolons is worse, because ADR is itself semicolon-structured.

2. Missing FN

N is the structured name (family;given;middle;prefix;suffix — all four semicolons required, even when empty). FN is the display name, and many address books use it exclusively.

Omit FN and the contact imports with a blank name. This is the single most common vCard QR defect.

3. Line folding

The spec folds lines longer than 75 octets by inserting CRLF followed by a single space. Strict parsers reject unfolded long lines; lenient ones accept them. A long note or a long URL is where this bites.

4. Version mismatch

vCard 4.0 writes phone types as TEL;TYPE="cell":; 3.0 writes TEL;TYPE=CELL:. A 3.0 parser reading 4.0 syntax may drop the type or the whole line. Use 3.0 for QR codes — it is universally supported and the extra 4.0 properties rarely survive import anyway.

5. Fields the phone simply ignores

Address books drop properties they do not recognise. X- extensions, KIND, GENDER, ANNIVERSARY and most 4.0 additions usually vanish. They still cost bytes, which pushes the version up and makes the code harder to scan — so removing them improves the code twice.

6. A photo

PHOTO;ENCODING=b with base64 image data cannot fit: images are kilobytes and the maximum QR payload is 2,953 bytes. If the generator allowed it, the code will be enormous and unscannable. Use PHOTO;VALUE=URI: pointing at a hosted image.

The diagnostic

Decode your own code with our scanner and read the raw vCard text. A split value or a missing FN is obvious immediately.

FAQ

Why does my contact import with no name?

The vCard is missing the FN (formatted name) line. N alone is not enough — many address books display FN exclusively.

Why is my job title cut off at the comma?

Commas inside a vCard value must be backslash-escaped. Unescaped, they split the value and most parsers keep only the first part.

Should I use vCard 3.0 or 4.0 in a QR code?

3.0. It is universally supported by phone cameras and scanner apps, and 4.0's extra properties are usually discarded on import anyway.

Can I include a photo in a vCard QR code?

No. Base64 image data runs to kilobytes against a 2,953-byte maximum. Link to a hosted image with PHOTO;VALUE=URI: instead.

Try it — free, no signup

  • QR code not scanning: the checklistWork through these in order, because they are ranked by how often they are the actual cause: quiet zone, contrast, size for distance, glare, blur from…