I have tried to import vCard files using default Contacts app in Samsung Galaxy S6 (details here), but I am not sure about format required (vCard version supported) and Encoding to be used.

I have used Windows-1250 encoding and it worked but all the special characters were imported as ?. When using UTF-8 it failed to import completely. What is the recommended character encoding and recommended vCard format/version?

Currently my vCard file looks like this with Windows-1250 encoding:

  • Have you specified the charset with your vcard records? See here for examples.
    – Izzy
    Commented Apr 28, 2015 at 11:50
  • No I did not... Should I? What is the default charset? Commented Apr 28, 2015 at 11:51

2 Answers 2


That's not really an Android question, but assuming you were asking "how can I import this vCard file correctly into my Android address book": Some adjustments might be required to the vCard file. I found a specification summary in this Github issue comment:

  1. vCard 2.1 is US-ASCII by default. Individual properties can be overridden with the CHARSET= parameter.
  2. vCard 3.0 requires the mimetype to include a character set, e.g. Content-Type: text/vcard; charset=ISO-8859-1.
  3. vCard 4.0 is always UTF-8.

Giving an example for 1., taken from this article:

FN;CHARSET=UTF-8:Mr. Dr. John Maurice Benjamin Doe Ph.D.\, J.D.

Further readings include RFC 6350 :)

  • So when I have 3.0 version vCards with UTF-8 encoding, then I do not need to do anything, I suppose? The charset (see [RFC3536] for internationalization terminology) for vCard is UTF-8 as defined in [RFC3629]. There is no way to override this. It is invalid to specify a value other than "UTF-8" in the "charset" MIME parameter (see Section 10.1). Commented Apr 28, 2015 at 12:07
  • 2
    That's how I would read it, yes. Not that I've played with it, though :)
    – Izzy
    Commented Apr 28, 2015 at 12:08
  • Seems I had two invalid characters at the beginning of the file created by C#, will check it later. Commented Apr 28, 2015 at 12:10
  • 2
    BOM? :) Have that issue quite often with SQL scripts on Oracle. Even with charset being UTF8, SQL*Plus cannot handle the BOM at the beginning of files (they must be saved as "UTF8 without BOM"). Not sure if that's the case here, though.
    – Izzy
    Commented Apr 28, 2015 at 12:37
  • Yes BOM. Your answer was useful, thank you, will give it a try but the phone is not mine so it will take me a while. Commented Apr 28, 2015 at 19:44

As an additional information based on comments, most Android only supports vCard 2.1 as of Android 12, while vCard 3.0 might be supported by some, but no support for vCard 4.0.

Dan wrote:

As of Android N / Nougat / 7.0, the AOSP Contacts app can only import vCard 2.1 (which is also the format it exports). Any deviation from the vCard 2.1 format, including just changing the version identifier, will cause it to fail to import. - source

[...]. I'm unsure if it's device- or ROM-specific and I can't find any particular source code to demonstrate it. [...] - source

DJCrashdummy wrote:

sadly i have to confirm that shockingly still only vCard 2.1 is exported and only vCard 2.1 and 3.0 can be imported. - still no support for vCard 4.0! - source

Suncatcher wrote:

[...] the situation hasn't changed since 2018 to 2022 unfortunately. Am writing this from Android 12 and it is still vCard 2.1 :( - source

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .