Tuesday, April 12, 2011

How to make vCard QR Codes that are compatible with iPhone, Android and Blackberry

I've been working on a web page where you can scan a company's vCard easily on your smartphone and have it saved to your contact list. It's definitely a pain in the ass. Here is a sample QR code with a vCard in it:



Here are some tips:
  • use the Image Chart Editor on Google Code - you have to look for the QR Code chart in the gallery. Basically, you send it a URL with the vCard in the querystring and it sends back a QR Code image. Don't forget to url-encode your querystring. 
  • You don't need to email a vCard to iPhone, it can read them directly from a QR Code with the right app.
  • I tried a few different QR Code readers for iPhone and most of them sucked at parsing vCards. The best that i found was Qrafter, and it's free.
  • I used Barcode Scanner on Android. 
  • Android didn't want to accept a URL, so I put it in the NOTE as well. Any tips?
  • With Blackberry 6, use AppWorld, hit the menu, then choose Scan a barcode. 
  • Blackberry can't read vCards directly from a QR Code, but you can qr-code a URL that returns a vCard. You'll want to send back this PHP header: header("Content-type:text/x-vcard");
Young, bored, and know Java? Please write a decent QR code reader for blackberry :)

Here is a vCard that I tested with Windows 7, Blackberry 6, iPhone 4 and Android 2.3.3


BEGIN:VCARD
VERSION:2.1
N:;Company Name
FN:Company Name
ORG:Company Name
TEL;WORK;VOICE;PREF:+16045551212
TEL;WORK;FAX:+16045551213
ADR;WORK;POSTAL;PARCEL;DOM;PREF:;;123 main street;vancouver;bc;v0v0v0;canada
EMAIL;INTERNET;PREF:user@example.com
URL;WORK;PREF:http://www.example.com/
NOTE:http://www.example.com/
CATEGORIES:BUSINESS,WORK
UID:A64440FC-6545-11E0-B7A1-3214E0D72085
REV:20110412165200
END:VCARD


UID should uniquely identify the contact (use a guid), and REV should identify the revision (just use the date+time)

29 comments:

  1. Didnt work as expected on my Android 2.2 Samsung Captivate. Tried ZXing Barcode read and QRDroid, both only show a link and when you choose "Add Contact" all your details are missing.

    ReplyDelete
  2. I would try the simplest vcard possible, just N and FN variables. does that work? add one more variable at a time. when does it stop working? please post your results.

    ReplyDelete
  3. Hey,

    your QR Code works fine with BB and Android. I tried the same with an vcf on a website, but the scanner only shows me the URL, not the contact info (as in your qr-code). Or did you paste the VCARD-content into the text-field of the QR-generator?

    ReplyDelete
  4. A qr code can contain a vcard or just a url (or any text really). There are also qrcode decoders (search google) out there to give you a definitive answer

    ReplyDelete
  5. the qr code on this page has my name and url. the qr code on my about page has a url to this site

    ReplyDelete
  6. Like this post - we researched about this topic and played with vCARD, BIZCARD and MECARD formats and as a result we created free QR Code generator (http://qrcode.good-survey.com) that allows creating these types of cards and a lot more (vCalendar i.e.)...

    ReplyDelete
  7. http://tag.microsoft.com/home.aspx - This seems to be much easier, works on every device, no need for a tracker, get a ton more information rather than name/address/phone/email etc...Embedding to much info in a QRCode makes legibility more difficult on certain print mediums...

    ReplyDelete
  8. a) dump blackberry.
    b) a good java library for reading barcodes already exists, and the zxing.org people made it. It's what runs on Android. Seems it would be a simple matter to make it available for blackberry.

    ReplyDelete
  9. Hi there,

    Is there a way to have a QR code which includes a vcard and url link so those black berry users can get the vcard also?

    Thanks!!

    ReplyDelete
  10. sorry, the VCARD Code above don't work with Android 2.3.4.

    The Tel and Fax are in "Mobile" and "Private"
    The Address ist completly inside of "Street"
    The First Name and Last Name are together inside of "First Name"

    May Android has a bug here to read the VCard Code correctly, but this Code above can't be testet with Andoid 2.3.3 and realy working.

    ReplyDelete
  11. Hi, I tried using BB Torch and it just displayed the VCARD details in text.
    I tried MECARD format and BB Torch ask me to save the details in contact... which is what I want.

    I tried two sites for MECARD generation. Both doesn't save the Mobile number.
    1. http://www.qrstuff.com/ this has more details

    ReplyDelete
  12. Why can't all QR readers read all QRs? Very frustrating. Some QR generators don't transfer all of my info. I want to include a QR code on my business cards so that my clients can save my info before they lose or toss my card. I don't want my clients to have to install a special app on their phone to do so.

    ReplyDelete
  13. Hi. It's not the QR Code that's not working.. it's your scanner. This is the best QR code generator I have found on the web (http://keremerkan.net/qr-code-and-2d-code-generator/), and it ALWAYS works for Qrafter which is the only scanner that will work with iphone for vcards. Otherwise, you will get a text scan instead of a contact page to add to contacts. USE THE RIGHT SCANNER!

    ReplyDelete
  14. QR Code is still fierce debate is short-lived or a long-lasting marketing mechanism. However, because of its low cost, easy to implement, it is a good idea, because you have the opportunity to capture a lucrative emerging market into your marketing strategy.

    qr code generator

    ReplyDelete
  15. This was an extremely helpful article. Thank you so much!

    ReplyDelete
  16. it just easier to create a Mecard, since iPhone, android, and blackberry can scan them and they automatically can detect to add to contacts. If you have to keep searching for the right scanner the whole point of using barcodes to make life easier just ended up being more of a hassle and you're better off just typing in the contact details.

    I used Mecard format for my business cards because most of my clients like he ability of scanning the contact details but aren't tech savvy or have the patience to go looking for the right scanner. they want something that just works

    ReplyDelete
  17. Tks for your sharing. QRafter work grear on iphone, Barcode scanner on Android & windows phone have it's own barcode reader.

    ReplyDelete
  18. Well it doesn’t work… it works only when i arrived an email. Then i can import the attached vcf card…

    I have found an site. you must register and put you name … in the site… u get an qrcode with the link to ure own vcard site and there it is possible to send the vcf from the site to you… i find it great! b-card.us is the url…

    greets

    ReplyDelete
  19. yeah - does anyone know of a testbed site that allows testing the response of several mobil device types?

    As everyone here seems to have seen, I've also found folks are having a lot of trouble with both vcards and calendar event qrcodes that I provide on tennispensacola.com - I provide links on the qrcode images to allow folks to click the graphic and download the file if they don't want to or can't scan (like if viewing the web page with their phone etc.) But, even then, I see folks having a devil of a time getting the downloaded files to actually work - or being able to select WHICH calendar or list they want the event or card imported into etc. etc. etc.

    ReplyDelete
  20. The content is good and very informative and I personally thank you for sharing QR codes iphone articles with us..

    ReplyDelete
  21. Please send me Java / android code to generate VCard qr code and decoding of this on my sudhir722@rediffmail.com


    Thanks

    ReplyDelete
  22. That was a helpful article,it can read them directly from a QR Code with the right app.

    ReplyDelete
  23. I have same Issue on URL field not being added to contacts in android ICS using I-nigma. I tested other apps aswell, and they all have the same issue.
    Any Idea how to fix it? Using the Note field is not just as straightforward...

    ReplyDelete
  24. Great tip about Qrafter... I generated the vcard with kaywa (http://qrcode.kaywa.com/) and it is imported/properly interpreted by Qrafter in iPhone. Contact was sent directly to my contact list. Thank you!!

    ReplyDelete
  25. Anyone cracked a solution for a Twitter field in a vCard for an iPhone? I'm then using http://invx.com/ to turn the card into a QR code for a business card because I haven't found one QR code generator that includes a field for your Twitter username in their vCard option.

    X-SOCIALPROFILE;type=twitter:http://twitter.com/joebloggs doesn't work...

    Frustrating.

    ReplyDelete
  26. I would export vcard from phone, put it on dropbox and put a link to itin QR, because every QR code reading software tries to parse vcard instead of saving damn file and importing it into address book.

    ReplyDelete
  27. Hi, I'm interessed to put a QR-Code on my business card. I want to use a URL whitch contains a VCard (then I can change Informations in this card without changing the QR-Code). So I tried to make a php-File - but in the header like above at first and then echo the Informations for the VCard - but my Android only shows the Text of the VCard and dont't open the Contacts. Do you have a tip for me?

    ReplyDelete
  28. You should have a look at http://qrname.me, they generate perfect QR code VCard compatible with iOS and Android which supports all kind of social network deep linking. It's really cool.

    ReplyDelete
  29. Just FYI... it's not usually a scanner problem, it's a print problem if the QR code is too small.. Hence printing is a lossy process and you will loose detail , and such loss can in fact greatly impact Vcards .. If you want a QR code on your business cards, I strongly recommend placing them on the back of your business cards while making them as large as possible..., this using the MeCard format vs the Vcard format. This is because the Vcard format is and was intended for the Virtual space such as E-mails and displays..., and also because the MeCard format uses larger block patterns better suited for printing business cards.. If you need further information, please see the following citation:

    http://www.devicemedia.ca/blog/whats-the-difference-between-a-vcard-and-a-mecard/

    ReplyDelete