CSV to vCard Conversion Tool


Recently my company moved phones systems to a new VOIP provider. The transition was much smoother than expected on a technical level but we now have all new phone numbers. This posed a challenge to update everyone’s individual vCards. We had all this information in a spreadsheet so I figured I would just download a spreadsheet (or csv file) to vCard converter. After spending way too much time looking, I decided just to build one myself.

CSV to vCard Creator is a simple online tool that will convert a comma delimited file (comma-separated values or CSV) file and into separate vCard (.vcf) files by row.

How it works:
The process the data and converts it into a bunch of vCard files into a directory that is compressed into a zip file for your download.  You may encrypt the zip file simply by entering in a password in the web form before uploading the file.  All data will be deleted off the server after it is processed except for the zip file.  You will have 24 hours to download the zip as many times as you would like before it is deleted.

Instructions on how to use this tool

  1. Download the sample CSV file for reference: csv_schema.csv
  2. Open the CSV reference file in Numbers (Mac) or Excel (PC)
  3. Copy and paste the corresponding columns from your csv file to the sample csv file. ie: copy all the first names from your CSV file into the firstName column of the sample file, and so on. You MUST make your csv file fit the template csv file or the conversion WILL NOT WORK. Leave cells blank if you don’t have the information for the person.
  4. Export the template file (that now has all your CSV contacts) to CSV format. Numbers (mac) – Go to File in the top bar -> Export -> select CSV option -> next -> choose a name and export.
  5. Upload the file you just exported into this tool.

>> Click here to open the tool.  <<

Further Help:

Upload only a .CSV file (not .xls)

Each row will become a new vCard contact

Make sure to keep the columns the same as the template. The first column (or column A) is the “First Name” of the contact.  The second column (or column B) is the “Last Name“, etc.

You can leave any field (or cell) blank if you don’t have data to add to it

If there is a comma in any field (or cell), put quotes around it like this: “Vice President, Emerging Markets” or it will process it as two different fields

Dates are formatted in number with a 4 digit year followed by a 2 digit month and 2 digit day.
Thus January 05, 2012 would like this 20120105

For the website or image URL leave off the "http://" and just put in the address like this ""

For addresses use a semicolon to separate an address.  For example:
1 Market St.
San Francisco, CA 94105
United States of America

Should look like this:
1 Market St.;San Francisco;CA;94105;United States of America

96 thoughts on “CSV to vCard Conversion Tool

  1. I tried this, but on the result page, could not download file as it says no file found when clicked on the file link.

    Hope this is not to try and take peoples contacts. tks

    • I just tried it and it had no issue. Sometimes if you upload your CSV file during the server cleanup process, data gets lost. I recommend just waiting 10 minutes and trying it again.

  2. The data is deleted once processed and zip are set to be deleted within 24 hours. I clean it up every now and again if for some reason my cron job fails (that does happen).

    Also you can also just download this tool and run it locally or someplace more secure than the internet. It is completely open source and free. All you need to do is install in on a system with PHP to run it.


  4. You are welcome!

  5. When you say “if they choose not to delete them” what exactly does that mean? Do you now have all my contacts in your possession? I assumed your app saved the vcards onto the drive the CSV was on. When I tried looking for them they were no where to be seen. Back at your page I see no “delete all” button. Are you legit? or are you out there to rip off people by using a dot org site?

  6. I am legit and have no desire to steal anyone’s contact info. If you are worried, download the source code files yourself and run PHP on your computer. Otherwise you can use a password and it will encrypt the zip file until it is deleted (normally deletion happens within 24 hours).

  7. Hi Dennis
    I’d really like to use your tool, but I the CSV schema file gives a 404 so I don’t know the expected layout of the CSV file –
    Also, I coulden’t find the the link to the source code you mentioned in your post from October 28, 2011.

    Hope you can help

  8. Great, I just posted my email as my name – I really shoulden’t stay up till 5am
    Would appreciate it if you could change the name for me Dennis, and maybe even delete this response after

    • I will fix the link for you to download the source code. It will take me about 30 minutes though.

      • Help! I am trying to download into roundcube and I followed your instructions by copying your xcel, and it brings up all of the files but when I try to import into roundcube, it says import none.

      • I am not familiar with roundcube. Are you having problems with the vcard imports? If so that is likely an issue with roundcube. If you can’t make the vcards, lets talk.

      • The vCards are individual cards, so yes, I think it made them (if they were supposed to be individual) but Roundcube will not import them. It is simply a point, click….(browse, find one vcard at a time, then enter). It won’t enter them.

      • Has it worked with other vcards?

      • Nope, not a one. That’s why I am perplexed. Your site is the only one that boasts being able to make the vcards without me having to purchase and I SO have my fingers crossed…..but it won’t even import one single card.

      • I will email you a couple of vcards over the weekend for you to try. If these don’t load then it is likely a problem with the mail client you are using. :( if they do import then I can try to troubleshoot this with you.

      • Thank you kindly!

  9. worked great after second try. on my first i was silly and didn’t read the instructions and just uploaded my own csv file.
    I looked for a donate button because this success is the result of 2 hours of trying everything else
    this is how programs should be. you get full free version and then donate how much you think is appropriate. cod you might pay $50 to find out it doesn’t work.
    Great job my friend!

  10. hi dennis, I’ve tried your tool, its great,..but can you help me for the url images, the image of contact cant appear in vcard
    thanks before

    • It does only appear as a link with my tool. There is a way to embed an image but I have not been able to get to work. you can read more about embedding images on the wiki page though I fear my tool is not capable of that at this point. Maybe in future revs. Far future revs.

      • Okay, your image of Hello Kitty, Orange Skelly imported on mine….is this what you both are talking about?

  11. Excellent tools, i m very thank full to that person who put this tools here.

  12. Hi Dennis,

    Where is the link to download the source code?

  13. thanks a lot
    u were of really great help
    God Bless You!!

  14. I have a CSV file that wont work with this for some reason. Is it possible for me to send it to you via email and have you do it for me?

  15. Mate, you are a legend, just migrated a lot of users and your tool has helped heaps man, thanks.

  16. Hello Dennis, I am still hoping you can give me a vcard to attempt to upload. Thank you kindly.

  17. Okay, I just downloaded your original Dennis card and it uploaded to roundcube successfully.Funny Guy
    VP, Innovation

    So I need you to help troubleshoot! YAY! I feel like I am one step closer! Please help!~

  18. Reading over each vcf and comparing with yours, it would appear each of mine has a space not warranted. Example:
    Yours: Dennis_Mueller.vcf
    Mine: Alaska .vcf

    • Ok so this is good progress actuallu. It probably means that the .csv file you are submitting is not formatted correctly. It may have a space after the first name and that their might be an issue. Also since there is no last name showing up in the vCard file name there could be an issue with the last name of the contact(s). The only two fields that are really required are the first name and last name with no spaces after the name. Try submitting it again with making sure that you have a first name and last name in the .csv file without any spaces after them. Also you can email me the csv file I will take a look at it to make sure there are no issues.

  19. I filled in column D to see if that would make a difference with the spacing. Nope. So maybe it is that there is a space added. Now to find where.

  20. Is there an email address you can share so I can send you the file OR can you tell me how I can eliminate or even verify there are no spaces in these fields? I have a decent set of cards here and I might go nuts before I figure this all out.

    • Ok so I found your problem. As I said earlier you need to have both a first name and a last name but more importantly, you need to only use the schema in the csv_schema.csv that you can download from above (right click, save as, then edit) You can cut and past the data in the the appropriate columns but you cannot add your own column or rearrange the columns. You can read the “further help” section to get more details.

      • I gave you the first file instead of two, three and four. Did I add columns or rearrange? Let me go check that again….

      • Check your inbox. I specifically cut/pasted into your file all of my columns. It still did not import.

  21. Ah, I see what you mean. Let me go try again. Argh!

  22. Did you check your email? I simply copy/pasted into each column of YOUR file. It still did not work. Help once again please? Thank you.

  23. Thank you helped me a lot


  25. Great Post Ever ! But these .vcf(s) are not working while i m importing them from import contacts in Nokia PC Suite -it is not giving any error as well – VCF , pc suite imports correctly the vcf files generated by it self. any idea ? thanks in Advance !

    • Sorry for the delay. I have not worked with that software to know what version(s) they accept. If you have a email client like outlook you can try importing them the exporting them again to is if that works. Unfortunately I can’t troubleshoot many of these issues but let me know if you find a solution.

  26. Hi Dennis – great tool. I prepared a csv file following your instructions and I’m pretty certain I followed the template exactly. However out of 93 records, only 15 emerged when I unzipped the file. Can you think of any explanation for this? I’m happy to send the .csv file over – the records are all public information.

    • Yes you can send me the file. I delete everything when I complete the troubleshooting. I am traveling this week so I won’t be able to look at it until this weekend.

  27. I have 32MB vcf file. This tool allowing me max 8MB. Pls help.

  28. Dennis… Ur great… Thank u so much.. just followed ur instruction on ur site n all is done in seconds.. was totally frustrated searching for a good software. U rock.. plz give me ur face book id i wanna add u as my friend…

  29. Hi Dennis, according to your comments, it looks like this is one of the few conversion programs out there that actually works — except for me! I have a csv file and I can upload it to the browser, supposedly producing a vcard directory. The link to the respective zip appears on the confirmation page, but when I click on it, I am getting a 404 “File Not Found” Error. I can’t tell what the issue is, can you help me out?

    • This tends to be a formatting issue but only one way to find out. Please send me the file and I will try it out. If there is an issue, I will resolve it as best as I can. I will email you directly today and respond to that.

  30. Hi Dennis, I am facing the same problem.I uploaded the csv file and it says the zip file is created.But click on the .zip file leads to a 404 page not found error.How will I download the zip file?

    • The last person, Michael, was able to just try again and it worked. Sometime if you do this right as my clean up job is running, it messes with with the process. Try again and if it continues let me know and I will help you. Sorry about the inconvenience.

    • The other common issue is that there is an error in formatting with the CSV file. If you are having issues with that I can also take a look but do try to follow my template.

  31. Hi Dennis. I was able to convert the cvs files into vCards but unfortunately the vCards are not supported on my LG optimus L5 any suggestions? I think there is a problem with the version

    • Sorry for the delay. I have not worked with that software to know what version(s) they accept. If you have a email client like outlook you can try importing them the exporting them again to is if that works. Unfortunately I can’t troubleshoot many of these issues but let me know if you find a solution.

  32. Hi Dennis, i try my best, I use your template, complete it, save as CSV(Macintosh) and upload it to your converter.
    if I add a password I can download the .zip file but it’s an empty zip file. And if I don’t put password I have a 404 error page when I try to download it.

  33. just uploaded a very big fiel and it just gave back like the first 10 :(
    help please

  34. dear dennis – yours is the only program that has worked for me to convert to v-cards. However, the result is always the poduction of ONE v card. How do I get it to convert the whole (893 entries) list? thanks, jeff

  35. actually it only converted the “notes” section, but at least it was importable….

  36. carrot return?

    • When i say carrot return i mean a new line in the csv file. Are you using the template for the CSV file that I put up for download? Most people’s issues are that they don’t use that file. This tool concerts about 5000 files a day so my guess is that your problem is with the formatting of the CSV file.

  37. sir i have 1369 contacts but when i convert its show only 471 pls help me sir

  38. Okay it converted perfectly and I have a long list of vcards in my “downloads”. I am not comp literate so… I am now stuck. I need to import them into Roundtree but have no idea what the next step is. I realize this is silly to all you comp folks but help would be appreciated it you can see your way to advise in between the laughter.

  39. Not Roundtree (that would be a chain of hotels that my text autocorrected to) but rather Roundcube. Sorry for the confusions. I told you I have no idea what I am doing.

    • Ok so I am not familiar with roundcube. I looked at their website and it looks like there is a contacts section on their client. My guess is that there is an import option. Otherwise if you can use another email client like outlook, apple mail, etc they all can import vCard files.

  40. There is an import option but I have to import a file and have no idea how to save the list of vcards in my “downloads” as a single file. I can’t click “save as” and am not comp literate enough to know how to do it.

    • Ok. So unzip the file you download from my site. In most computers that is done my double clicking on it. Thine you should see a bunch of vCard files. Copy those to a folder you can easily find like Downloads. Then import each one of those files into roundcube. Round cube might be able to process more than one at a time but I have my doubts.

  41. Thank you for all of your assistance. I have successfully created files that contain the vcards but you are correct – roundcube will only import one at a time although it shows that it will import an entire address book file of vcards. *sigh*

  42. Thx alot Bro.I have tried it and it’s amazing but I have an issue faced. Importing the CSV file from the motorola phone tools (my old phone is motorola L7 SLVR) and then use your guide and tool. downloading the file successfully and extract it then put the vCard files on my new phone (Motorola RAZR XT910 with Android OS) and tried to import contact from storage. so I have this message told “The file format isn’t supported” although I checked the files on my laptop and it’s the Standard vCard files. so what to do please tell me and thx again :)

    sorry for the bad English :P

    • Sorry for the late response. I am not sure what version of vcard the motorola tool uses. This tool is based on version 2.1. Maybe you can find card converter to different versions or use a mail application like outlook to import and export them again to see if that helps. :(

  43. Please, i tried to converter a csv archive at your blog, did upload the file, but when tried to download, the page was with 404 error. URL:

    • This normally means that there was an issue with the file you uploaded. I test it regularly and there are about 100 files converted daily so I suspect that your file might have an issue. Please look at the instructions to confirm that you correctly following the format.

  44. Was able to create the vcard files but gmail just wont import them !

  45. Thanks much for the software, I was able to convert all my csv to vcf’s. However, when I open the zip file i see that all the vcf files carry the contact name along with an “_” (underscore), eg – myname_.vcf. Kindly help…..

  46. Hi Dennis ! Just wondering.. can the column 1 names be changed, or are they used in the processing of the data? I assume that each column is fixed in where it goes on the VCard, but can the VCard names be altered?

    • Yes each column is fixed but it is easy to rearrange the columns in excel or some other spreadsheet application and then export it to a csv file.

  47. Hello Dennis,
    Thanks for this solution. For some reason, it fails to capture the email address.
    It only captures the First name and Mobile numbers

  48. Thank you so much, it was very usefull !!!

  49. This is a perfect tool ! CSV ro Vcard

  50. Hey Dennis, nice utility (If I can get it to work.). I’m running it on my own server, but the script is not generating the zip files.
    error_log shows: “Call to undefined function Zip() in /server/site/public_html/tools/vcard.php on line 130″
    Any ideas? I’ve tried a couple of edits to your script, but no luck yet.

    Also, I’m setting this up for some client’s e-mail migrations, and they will also be using roundcube. FYI, roundcube will import a whole addressbook in one .vcf file, so it should be pretty simple to adjust your script to concatenate the rows into one .vcf file.
    I may try that if I can get it to write the .zip files (or even just write the .vcf files without zipping them)

    Thanx for any tips

    • To start, I am not a very good PHP developer. I worked with friends to help me write this application and get it to work, especially the zip part. I run this on bruehost and maybe the zip utility is not present or you are using a different version of PHP. Since you don’t really need to zip the files in your case I would just comment out that portion of the process.

      It would also be very easy to not close out each file on line 114 in the “foreach” function and just keep adding the data to one file. and move line 114 to outside the “}”. Again, I am not a really good programmer so there could be complications. Also you don’t really need line 122 onward if you have access to the directory of your server. You will just have to close out the functions.

      I hope that helps.

      • You and me both… I also use BlueHost and it looks like on the same server as you ;), and I’m still learning PHP. I did comment out the Zip function, and got the files okay. Not sure why I’m getting that zip error.

        Today I’m working on updating the output to vCard v.3.0 – so far so good. I’ll mess around with the “foreach” stuff. Thanx for your help.

  51. That is weird. I have not seen that unless thee was an error and never processed your CSV file. Please try just using me sample file and see if that works.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 580 other followers