Skip to main content
Community Expert
June 20, 2022
Answered

vcard QR code not working with some Android devices

  • June 20, 2022
  • 36 replies
  • 13939 views

There are 2 ways to generate a vcard/QR code in Indesign,

1. Method 1 Type: Business Card

2. Method 2 Type: Plain Text with code:

BEGIN:VCARD
VERSION:3.0
FN:First Last
N:Last;First;
END:VCARD

 

Here's what I have observed:

  • Androids can read Method 1 QR code without issue
  • Most Androids cannot read Method 2 QR code
  • If text code from Indesign's Method 2 is used in other QR code utility, then Androids can read QR code.

It seems as though something is happening in the QR code generation process. You can use Method 2 in a data merge workflow, and is the reason that I would like to continue using this method. I have tried various versions of Indesign. I have tried versions 2.1, 3.0, 4.0 of vcard.

 

Is there anything else to try in using Method 2 and have QR code read by Android?

Correct answer Jeffrey_Smith

Keep in mind, this issue is not with QR codes in general, but specifically with vcard code placed in the text type of ID to generate QR code.

I have tested with an Android 11 (using just camera) and can read all QR codes generated from ID, including plain text in text type, except I cannot read a QR code of vcard code in text type.

The customer has reported mixed results of Android users able or unable to read QR code, but not giving specific device info.

What I am hoping for is that there might be different syntax within the vcard code that someone has come across and can suggest.

36 replies

Participating Frequently
July 23, 2024

Method 3 Type Plain Text using a third party plugin
Install QRCode Maker Pro and use plain text to generate the VCards in there. It takes ages to finish generating, you will not be able to just right-click to edit the QR code, but you will have no problems with Android and iPhones.

James Gifford—NitroPress
Legend
July 23, 2024

Nor will you have the slightest problem with any compatible reader using ID's generator by formatting your own data, which any pro should do for many reasons.

 

Anyone using a plugin should thoroughly verify that the data is not being sent outside the local system; perhaps the strongest reason to work around the ID feature's minor limitations is 100% data security, both from scraping and things like added redirection and tracking.

James Gifford—NitroPress
Legend
July 24, 2024

The specific problem is: when an ID's QR generated from a plain text is read by an Android, the contact comes empty.

 

Appearently, you did not try to specify v3 or v4 yourself, or you would know that the problem persists.

 

Unless, of course, we use a third party plugin to insert the content. Then magically the plain text works on Android.


The following test data:

 

 

 

 

BEGIN:VCARD
VERSION:3.0
N:<lastname>;<firstname>;<middlename>;<prefix[,prefix]>;<suffix[,suffix]>
FN:<firstname> <lastname>
NICKNAME:<nickname[,nickname]>
TITLE:<title>
ORG:<company name>
EMAIL;TYPE="work":<email address>
EMAIL;TYPE="home":<email address>
TEL;TYPE="work":<work phone number>
TEL;TYPE="home":<home phone number>
TEL;TYPE="cell,text":<mobile phone number>
URL;TYPE="work":<web address>
END:VCARD

 

 

 

 

 

Created the following QR code:

Which reads in fine on my Samsung S9. (Just to confirm, I have tested this right off the post screen, as well.)

 

I suggest that any failure of a vCard code to load is due either to a fault in its encoding, or a fault of the device/app being used to read it. QR codes, after all, have four stages of function—

  • Correct data encoding.
  • A QR reader that can successfully read the encoded data.
  • A device/app that can successfully parse the data and pass it to the correct destination app.
  • A destination app that can successfully parse and store the data.

 

In vCard codes, for example, it's easy to include fields that a particular Contacts app may not recognize or store correctly. (Proper app behavior is to ignore any unrecognized field.) There are often complaints that a device did not store all four email addresses, or a photo, or a title — not because there was anything wrong with the first three steps, but because the app did not have four email slots, or a title slot, or store photos.

 

There is no fundamental fault in ID's creation of any QR code if a correctly formatted plain text string is used. Whether any given device can properly decode and use that data is up to the device, and its settings. As for variant results, some devices/readers/apps might tolerate certain flaws in the data formatting while others do not; I recall a specific case where an extra (faulty) semicolon did not affect code reading on one platform but caused a read failure on the other.

 

You might want to review the primer on QR codes from InDesign I wrote; link is above, or here:
http://www.nitrosyncretic.com/DPR/dpr_qrcodes.php

 

Happy to hear any corrections or questions.

Community Expert
June 22, 2022

What version of Android? What handset? What make? 

Are they all the same barcode reading software on all Android devices?

I'd imagine it's more to do with the QR scanner than the QR code itself.

 

Have you tried any other QR scanner apps on Android?

Jeffrey_SmithCommunity ExpertAuthorCorrect answer
Community Expert
June 22, 2022

Keep in mind, this issue is not with QR codes in general, but specifically with vcard code placed in the text type of ID to generate QR code.

I have tested with an Android 11 (using just camera) and can read all QR codes generated from ID, including plain text in text type, except I cannot read a QR code of vcard code in text type.

The customer has reported mixed results of Android users able or unable to read QR code, but not giving specific device info.

What I am hoping for is that there might be different syntax within the vcard code that someone has come across and can suggest.

Participant
April 11, 2023

I have the same issue—and blame it on me not to have the qr-code checked on an android device, but now I have to reprint a whole bunch of supposedly fine business cards. I certainly blame it on you, Adobe.