vCardSplit takes a standard vCard file and exports all valid vCards from it into individual vCard files. This can be useful it you are trying to export contacts into another system. vCardSplit also takes great care to avoid overwriting data at any point - it will never erase or overwrite a file, only create new ones.

vCardSplit is a very small program, hence this short list:

  • vCardSplit is a small, fast command line program. But it's not a DOS program - it's pure Win32 code, and as such will handle long filenames without problems.
  • vCardSplit will never overwrite data. Ever. The file to be split is opened for reading only, and any files that exist already result in the appropriate vCard being skipped (not exported).
  • vCardSplit can handle truncated vCard files with aplomb - it simply skips any truncated (incomplete) entries within the file
  • All of vCardSplit's output goes to STDOUT - so you can redirect it with ease using pipes on the command line.
  • Despite being a command line program, vCardSplit has simplicity as its philosophy. It takes one argument, and one argument only - the name of the file to split.
  • Running vCardSplit without any options will present you with a screen full of help.
  • vCardSplit is absolutely free - released under the GPL, so you can even see my source code for it!

System Requirements

  • Any 32-bit Windows Platform (Windows 9x, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7)
  • About 50Kb (yes, KILObytes!) of free disk space (For installation)
  • A user unafraid of the command prompt
  • Support
    No support guaranteed is given with vCardSplit - the program is provided freely, and development and support will be fitted into my own schedule. However, you can comment here with bug reports or with feature requests if you wish.

    Known Faults
    No software is perfect. Especially if written by me. Here are the current known faults with vCardSplit.

    ISSUE:Some international encodings, especially those which use double-bytes to express accents and non-English characters, do not work well. FIX:None at present. I believe the simplest fix is for me to buy the next version of the compiler, which supports non-western string encodings better.
    ISSUE:vCard files with entries that have only N: fields, and no FN: fields. FIX:You can use a text editor to search and replace N: with FN:. vCardSplit itself will look for FN: and N: in the next version.

    Otherwise, I've tested vCardSplit three times and nothing went wrong. I can't think what would go wrong, either.

    Downloads are just at the bottom here.

      If you don't know what source code is, just go for

    If you want the source code, go for - but note that it doesn't have anything you can run in it!

vCardSplit_1-0-2.zip28.25 KB
vCardSplit-source_1-0-2.zip25.81 KB


Thank you for vCardSplit

There are all these companies trying to charge $20 - $50 for apps that split multi .vcf into singles.

God bless you for this FREE tool that works awesome!


Thanks Deavid!

I must admit that when I wrote this tool, way back in 2004, I did notice the huge amount of tools that did something similar for large amounts of money.

I was somewhat amazed at how much people felt they could charge for what appeared to be simple VB programs. As I didn't create a GUI interface, I never felt I could charge that kind of money - some computer knowledge is implied when using vCardSplit!
I released the code under the GPL as a kindness, so that others could learn from it and see how easy it is to do.

I have considered creating a GUI version of vCardSplit - which would still be free. That, I hope, would shake up the market for those (overpriced, in my opinion) pay-for programs that I've seen. It's all a matter of time for me, but it becomes more pressing with each year. Unfortunately, I think a GUI version would require at least 10 times the effort, maybe 20 - making it almost a full month of development for an employed developer. Which I'm not - I do this in my spare time, which means it's more like half a year of solid weekends for me.
If I still want this to be GPL'd and free, I can't afford that GUI version we'd all like. :-(

But my real issue is that other people are charging for this kind of thing just because idiots are still writing software which assumes one vCard per file! That gets my goat more than anything else - it's just sloppy programming, often from some VERY big companies! ;-)

I'm glad this helped you out in this case. It's always good to hear from people that this saved time & money for.


Hi Brother I need your help.

Firstly i would like to thank you for your kindness help! really appreciated.. but it seems not working for me.. can i have a set of it..? i downloaded from the source you stated but i clicked and its no response.. im using win xp 32bit.. pls help me bro.. thanks!!!

You must run vCardSplit from the command line


You must run vCardSplit from the command line. If you don't, then nothing will happen.

vCardSplit isn't a tool that's suitable for anyone unfamiliar with the command line - it's designed to be used by computer professionals.

I'm afraid that I've long meant to write a version which would be easier and friendlier to use, but haven't gotten around to it yet. Sorry I can't help in this case.


Thanks for the great tool.

Thanks for the great tool. Does exactly what I need no more, no less, with no extra crap or bloat. I was actually on the verge of writing a similar tool myself when I came across your site.

Thanks for saving me the work. :-)


Happy it helped

No problems, Vincent. I'm happy it helped.

Thanks a lot

It works! I mean, thanks to your vcard splitter I was able to import all my contacts from a google account to my old Nokia 6021. I was desperate, as Nokia PC suite is a crapy piece of software... using CSV's is a nightmare, but vcards work fine, but it only reads from one to one. So I had to split googles vcf into single files, with your wonderful software. Lucky am I, cause then Nokia PC suite allows multiple selection when importing the vcf's.
Thanks again and keep the good work!


I'm always as surprised as anyone else when it works! ;-)

I'm glad it worked for you - thanks for sharing that the Nokia software allows multiple selections. Not all software does, so hopefully that will help others in future.


Thank you David,
Your wonderfully simple and easy to use tool worked perfectly when needing to transfer contacts from Google contacts.vcf to a Nokia 6700 Classic via their PC Sync program - it's a pity you didn't write that! ;)

It was necessary to adapt some of the formatting of the Google .vcf file, but very easy.
Find and Replace [strong]VERSION:3.0[/strong] with [strong]VERSION:2.1[/strong] and [strong]TYPE=[/strong] with 'nothing'
As per this page -

Thanks once again and Merry Christmas mate!

I'm glad it helped!.

I'm glad it helped.

The version change you had to do is an oddity - thanks for letting people know here, so that they don't get stuck. :-)


Thank you so much! Very handy - was dreading having to import them all into my phone manually!

Just to say, my vcf file had "FN;" instead of "FN:" so it didn't work initially - I'd advise people to compare the test.vcf with their own in notepad to doublecheck! Just did a simple find-replace.

Thank you!


Thanks for that information.

vCardSplit doesn't do anything to the contents of the vCards at the moment, but perhaps there was a specification change that I need to look into - perhaps in the future, I can fix this automatically!

Thank you very much

finally i found a good tool to help me...

thanks a lot...

No problems - glad it helped.

No problems - glad it helped. :-)

Great -- dankeschön!

Thanks! Worked _great!
One (minor!) remark: I can confirm that german Umlaute in Names ar not supported correctly (OK, can do a simple find/replace after running vCardSplit)


I'm hoping to fix that...

As documented here:

I hope to make some changes which will fix the issues with non-English characters. I'm happy that you found a workaround though. :-)

And it also works perfect

And it also works perfect with wine :-)

Good to know it works with

Good to know it works with WINE.

I've not tested it under that environment, so you've saved me some work there. Thanks!

great work - thanks!

was just starting to write the tool myself when google showed me yours. great job, thanks a lot! br, -frank


I'm glad I saved you some time.

Thanxxxxx a ton

Thanxxxxxxx a lotttttttttt bro ....... easiest way i find this one only .. so quick and simple .

THANX A TON ... god bless you .

No problems - glad it worked

No problems - glad it worked for you. :-)

Thanks for this application

Thanks for this application really!
Saves my last 2 days because of accumulated VCFs info.

Sounds like it saved you some

Sounds like it saved you some real hassle - glad I could do that. :-)

Very Useful Tool

Thanx a lot buddy for this very useful tool. I had been searching a lot but found nothing except this tool.

Glad it helped.

Glad it helped.

It does what you expect.

This tool works!! It even found a duplicate entry that I missed.
Saved me lots of work getting my contacts into an old Nokia 3109 (still the perfect phone for calling).

Thank mate.

No problems - very happy it

No problems - very happy it helped you.

Thanks for the work!

I was moving contacts over to my new (to me) Samsung Rogue and your program saved me a couple hours of work.

As a suggestion, you might want to set up a PayPal "Tip Jar" or provide a link to donate some small amount to a charity you favor. It seems a shame that there's no way to compensate you other than words of thanks.

I've considered it

I'm glad it helped you save some time.

I've considered a tip jar etc., but the number of donations would probably be fairly low - and I doubt the amount would even cover my time filling in the extra sections on my tax form that would result! ;-)

Does not work with unicode characters

unicode characters appear distorted.
Does not work.

The current version doesn't

The current version doesn't support unicode - this is a known issue, and is listed accordingly.

I'm working on a new version that should fix this - it's just a matter of getting time to do it!

Sorry that it didn't work for you at the moment. I hope you found a solution somewhere.

Perfect Tool :-)

It worked for me as well. Thank you very much Phil. It's really an awesome tool.



Time save

Great job, what a time saver.

There was a guy up in the top of the comments who was looking for help with the command line... How about this:

1. Create a folder on the root of the C: drive called "Contacts"
2. Download the zip file and extract to the C:\Contacts folder. Copy your vcf file that you want split to this same folder and rename it to "contacts.vcf" without quotes
3. Click start, then type "cmd" without the quotes. A black screen with white writing will appear.
4. Type "cd\" without quotes
5. Type "cd contacts" without quotes
6. Type "vcardsplit.exe contacts.vcf"
7. Type "exit"

Your original contact file has now been split into individual contacts.


Thanks You SOOOOO Much for the instructions :D
It worked Awesomely :D :D

At first, I got stuck in step 6, but I copied the exe file from the extracted folder to Contacts forlder and it worked ^.^

Thank you

for writing this program Philip and also to Mikey for helping someone not familiar with command prompts execute it.

Best wishes

Thanks - especially for the instructions

Thanks Mikey - especially for taking time to run write out the instructions.

For the benefit of anyone passing by, the instructions look like they'll probably only work for Windows 7 and Windows Vista.

That's part of why I don't offer detailed instructions - the program runs on all versions from Windows 95 to Windows 7, and that's a *lot* of ground to cover.

I'm working on a GUI version, which will follow a "final" version of this command-line version. Hopefully the GUI version will allow for easier documentation too...

This program is awesome.

This program is awesome. However, there is a small bug of sorts.

The VCF field FN: stands for Formatted Name and N: for Name. The N: field is the official Name field of a VCard. Your program refuses to accept a vcf file entry that has only N: fields and no FN: fields.

This should normally not be a problem, but when you are converting (exporting) address books from format-A to format-B, there are cases where some convertors will use the N: field exclusively and not FN: (Thunderbird's Address Book) is one of them.

On my side I was able to fix it and use it. Just thought I'd put in my 2c worth as feedback. Thanks!!

I'll add that to the bug list - thanks!

I'm glad it helped.

I'll add that to the bug list, and make sure it gets fixed. Sorry you had to do a little extra work!

Android Contacts Porting over to Symbian

Hi Philip,

Thank you for the wonderful tool. I was on the lookout for something like this. However, I noticed that when trying to split a .vcf file which I created from an android phone I received an error as below:-

vCardSplit version 1.0.2 (Build 5). Written by Philip Storry.
(Written at the request of George R. Watson, who needed it.)
vCardSplit is free software. Copyright Philip Storry (C) 2004.
For details of the license this program is distributed under,
run this program with the command line option "license".

Opening "vcard0002.vcf" - opened successfully
Checking file validity... No CR/LF pair was found!
As a Windows program, vCardSplit expects text files with CR/LF
line endings - UNIX files use only a LF.
If this file came from a UNIX (or modern Apple Macintosh) system,
then please check that it was saved in a DOS or Windows text file

Could you kindly help with how to deal with this issue? Thank you for your time.


The file format is wrong

This is a known issue, which I have to write some code to work around. I just never seem to have the time to do it - sorry!

Luckily, you can fix it yourself in the meantime...

It's caused because your existing .vcf file marks the end of each line in the UNIX fashion, not the DOS/Windows fashion.
Try opening the file with .vcf file with Notepad, and you'll see it's all on one line.

Now open the file with WordPad - WordPad's smarter than Notepad, and will do the conversion for you - you should see many lines. Save the file to a new file, making very sure to pick the "Plain Text File" option as the file type.

The new file should open in Notepad and look the same as it did in WordPad.

If so, you can now run vCardSplit again using the new file. It'll work this time.


Worked like a charm

Thank you for the super quick response Phil. It was certainly unexpected and a pleasant surprise. Much appreciated. I followed the instructions and it worked like a charm. Thank you once again.


Glad to hear it

No problems Kiran - glad it worked for you.


Thank you for this nice tool. It didn't quite work for me, because apparently my vCards did not contain a name or organization.

Reading some of the comments triggered me to open the vCard file in a text editor, and after seeing how absurdly easy the file format is, I decided to write my own splitter.

It's extremely basic, does no sanity checking, doesn't try to give smart names to the files etc, but it gets the job done just perfectly. Here's the 55-line C++ source code:

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <sstream>

int main(int argc, const char* argv[])
if (argc != 2)
{ // require two args
std::cout << "Usage: " << argv[0] << " <filename>. The filename cannot contain spaces.\n";
return 1;
} // require two args

std::string filename(argv[1]);
std::ifstream fin(filename.c_str());

if (!fin)
std::cout << "Failed to open file.\n";
return 1;

// read the file
std::vector< std::string > lines;
int count = 0;
while (!fin.eof())
std::string line;
std::getline(fin, line);

// clear lines if new card
if (line == "BEGIN:VCARD")


// write file if end of card
if (line == "END:VCARD")
std::stringstream ss;
ss << count << ".vcf";
std::ofstream fout(ss.str().c_str());
for (size_t i = 0; i < lines.size(); ++i)
fout << lines[i] << std::endl;
std::cout << "Wrote file: " << ss.str() << std::endl;
return 0;

It might help someone.


Thanks for that. I think you fell foul of a bug that means vCardSplit doesn't see some kinds of name fields - I've added that to my list of issues to fix.

Too good

A job well done and a life saver for us Nokia guys. Thanks a bunch man !

No problems

Happy it helped. :-)

Easy and best available splitter.

Many, many thanks for vCardSplit. Very ease to use and very fast.

Good that it is for free!


I'm glad you're happy with it. Thanks for the kind words.

(And sorry your comment got sent for spam moderation - I'm still training the system.)

Thank you !!! Great Program

I wanted to thank you for writing a great program !!!

I had a friend that had all his contacts (over 300 of them) in his gmail account.

He wanted to transfer all his contacts to his Samsung Convoy U640 Rugged Flip phone.

Unfortunately this is not a Android phone. There are no contact sync programs for this phone.

It will only take one vcf card at a time (Can not take multiple vcf combined into a single contacts.vcf file)
which is the only gmail will export contacts. Other than exporting one at a time.

With your program I was able to take the combined contacts.vcf gmail created and split it into separate
vcf files which the new phone accepted in mass.

Only one critique, you should put a paypal donate link on your website for those of us who would like to send something for your efforts. Even if it not much it may add up as your word of your work spreads.

Thanks again.



Thanks Bob!

Glad it worked for you. It seems to be saving lots of people lots of time, which makes me fairly happy. :-)

I've considered a PayPal donate button, but I'm just not really comfortable with that. But I'm very touched that so many want to make a gesture, so I might instead put up a link to a charity. That seems like a good compromise for all.


great little programme that means I can now backup my contacts from my Nexus without having to go away where near Google or use a 3rd party app that I wonder what the devil it's doing with my info.

Agree with Bob, I'd certainly donate a few beer tokens for your time on this and the time it's going to save me however I will give a few quid to the local hospital or cancer charity next time they come round. Thanks again :)

Beer tokens, eh?

You know, when you describe a donation as beer tokens, it suddenly becomes much more appealing. ;-)

But for the moment I'll stay consistent and say thanks, but charity is a better destination for any money.

Thanks for your kind words. It's always great to hear from people that have found vCardSplit useful. :-)

Whether you decide to do it

Whether you decide to do it with a tour guide or without, you will be sure to experience the cities of Poland the way the natives do. 5 million people, primarily Jews, were killed at the Auschwitz camp complex alone between 1940 and 1945. In the context of the library ceremony, the symbol could have indicated a final victory over those who invited his resignation from office.

Really good!

Really great tool, simple efficient, helpful. Thanks!

No problems.

No problems - and thanks for leaving a comment, they make my day sometimes. :-)

Amazing tool

To be very honest, I'm a byte-freak (if there's any word like that). The first thing that drew me to this program is the file size.

I had the initial problem with the files I had exported from Android, but after tweaking the vcf with wordpad, it was all sorted out.

It was such a relief.

Thanks Mr. Philip..... a tonne..... even more than that.

I found the command prompt style to be more efficient though, not very keen on getting a GUI for the program. A rose, by any other 'form' would smell as good. :)

Thanks a lot again.

Have no fears...

Thanks for your kind words, Kaushik. :-)

Have no fears - I should have made it clear that this CLI version of vCardSplit will remain. I know of people having used it in login scripts for migrations, and similar uses - sometimes, only the CLI will do!

My plan is to fix all the bugs in the CLI version, and then move the guts into a library that they both share. (Not a DLL - both applications will be a standalone executable!)

This way, I can rename the existing vCardSplit to vCardSplit-CLI. I can then serve both audiences with the same engine, which should minimise demands on my time AND make both audiences happy. :-)


Thank You

it has been a week I tried to import my contacts from my gmail account to my phone and at last my pursue is paid off, thanks to your vCardSplit. even though it doesn't split my contacts to their categories in group contacts as in my gmail account.. I wonder..

but this is a great help. thanks a lot.

Great help! :-)

Thank you so much pal. :-)

Thank you!

Your tool was a life saver. My wife just changed from an android phone to an old LG to save money. Not being able to transfer her contact was rather sad. I spent some time learning about Vcard files, and I found your tool!

Thanks so much for creating your program. A little cmd line should never scare anyone :)


It works!

I used it to import my actual android contacts in my previous Nokia E51 phone... The only issue I noticed is that contacts with only name, repeat it showing like this:

name, phone

name, name, phone

Aquila N.

Thanks Man

Thanks a lot - you saved me a massive headache after I dropped and smashed my shiny new Android phone and had to dig out an old Nokia 6300 with zero of my contacts on it.

I'd forgot how awful the Nokia PC Suite software was! I turns out it's really picky about what it imports! Thanks to your software I managed to get it sorted...


Good man!

Many many thanks.

Temporarily while my Android phone was getting repaired I had to move back to using an old Nokia 6500. I thought it would be easy to dump my Google contacts to .vcf file then dump on to the Nokia phone using the Nokia Suite PC software. However Nokia Suit expects a .vcf file per contact whereas Google dumps all contacts to a single .vcf file.

vCardSplit saved my life as it easily split my contacts in to separate files. Wonderful!

Thanks again.

Thank You

Thank You much!!!, Your simple to use script saved so many hours or pain for me and so many others.

Thanks man lot for the tool.

Thanks man lot for the tool. Helped a lot :)

Tip of the hat

Just wanted to chime in like the rest that this has saved me a lot of work! thanks again.

Thans a lot

Philips, your utility is so awesome. I'm bored using my Android smartphone and back to Nokia Asha 302. The problem is with 500+ contacts in my android. I managed to move my contacts by backup to Google account, export to vcf and then using your splitter before importing it to Nokia PC Suite. Thanks to your work !

I have a large (60+ mb) vcard

I have a large (60+ mb) vcard that has nearly 2k of contacts in it. This is too large to import into any email app I have found, so I looked at splitting it using your app. I am getting an error when trying top open the file with your app. The VCard was created from itunes i believe.

I need an error message!

You've not given me the error message, so it's very difficult for me to help!
Could you please post the error you're getting so that I can try to help?

Unfortunately, the error

Unfortunately, the error message is pretty cryptic, sorry. It says, "An error occurred whilst trying to open the file!"
Is there a log file that I can look through?


OK, that error message appears only once in the program - if there's an error opening the vCard file.

Firstly, and sorry if this sounds insulting, but please check the filename is correct. Also make sure that the filename has no odd extended characters in it like umlauts - consider making a copy of the file named something like "input.vcf".
(vCardSplit currently doesn't handle extended characters - if that will be an issue, say so and I'll see if I can provide a fixed version for you to test tomorrow...)

Secondly, vCardSplit opens the file and tries to lock it so that nothing else can write to it - that's to prevent nasty accidents that could happen if the file were updated whilst vCardSplit is processing it. Because of that, please make sure no other programs have the file open - if they do, you might see this error.

Otherwise, I can't think why you're getting the error message - at this point, vCardSplit hasn't even started reading from the file. All it's done is print its initial copyright message and try to open the file...

If it still doesn't work after trying a different filename and making sure nothing else has it open, could you provide the full commandline that you're trying to run it with? e.g. "vCardSplit filename.vcf".

I am running 64 bit Win

I am running 64 bit Win that the issue?


I've been doing all my recent development on Win7 64-bit, and it runs just fine on that.

I'm thinking the problem is probably with either the filename or something else holding the file open...

I got it, and boy do I feel

I got it, and boy do I feel dimb! I was not adding the extension onto the end of the path, just using the filename without the extension in the path...very sorry for the confusion


That's good to hear - I'd rather it was a simple (and easy to make) mistake than a nasty bug I can't explain! Thanks very much for getting back to me so that I know this. :-)

I hope the split vCards are more useful to you than that giant 60Mb+ monster!

Thanks buddy

Thanks Phillip. Your a life save. This helped me sync my Nokia 808.

and again: thanks a lot!

and again: thanks a lot!


After trying for several hours I was finally able to split my contacts into the right "nokia-format". What a retard company Nokia is that makes this so difficult for their new customers.

Especially thanks to Mikey´s step by step for those who have never heard of "command" before. It worked perfectly and I could transfer all the contacts after I removed the program files from the folder so it was only vcf´s left.

Thank you!

superb work.. saved a lot of

superb work.. saved a lot of effort.. thanks

Split vcf

Many thanks,

This software is best solution for spliting vcf file.

A small lifesaver!

Hi Philip,

a great help, thanks! I used it to move my Sony Erricson contacts to Blackberry without having to install that hunking huge Blackberry Deskstop Manager.
Just one issue: Initially, vCardSplit was skipping all the contacts saying "No Name". I opened my contacts.vcf file and noticed lines like :-
I did a Search and Replace All of ";CHARSET=UTF-8" with Nothing, and got this
FN:John Smith
Saved the vcf file, and after that vcf split worked just fine.
For Newbie Blackberry Users:
In case you want to know how to copy a multipart vcf file to BB contacts, follow this procedure:-
1. Split the multi-part vcf file into individual vcf files using this lovely piece of software
2. Connect Blackberry to usb port. Ensure you have enabled 'Data Storage Mode' of Blackberry (Go to Options/Memory, and enable Media Card Support, Mass Storage Mode Support and Auto Enable Mass Storage Support' )
3. You ought to see a new disk drive representing blackberry.
4. Create a folder (e.g. OldContacts), and copy all the split vcf files there.
5. Disconnect blackberry from usb
6. Go to Media and click on the Menu Button (the funny blackberry button)
7. Select 'Explore' - you'll get a file explorer
8. Navigate to the folder where you saved the vcf files
9. Click on a vcf file. You'll get a pop-up 'Add to contacts?' say OK
10. Repeat for all vcf files that you wish to add to BB contacts

Hope this helps someone out there

Thank you .Works great

Thank you .Works great

Thank you ! UTF-8 support would be nice

I used that program to transfer contacts from my Apple Address Book to this piece of junk that Outlook is.

Only problem was UTF-8 not supported so I first opened it in Textwrangler and save it back in Windows-Latin format. Problem Solved

Thank you for sharing this !

Million Thanks

that was great of you, thanks much this program helped a lot
for that error "An error occurred whilst trying to open the file!"
i saw it when i only wrote the file name with out the extension when i added it to the command it worked fine :)
thanks again


Thanks man. its an awesome tool. I was thinking to write a program in java. but after searching on google I found it. It saved me :)
afterall i am a new coder :)

Many Thanks

it's really help me and save my contacts really really thanks for your help

russian language

Great program. But it don't understand Russian names in vcf :(


Thank you very much! Other similar programs didn't work for me!

Thank you for the program and the instruction.

The program is really great and works like a charm.

And thanks for the instructions. Though many users are not phobic to command prompt but may not be aware of the exact instructions. The instructions above by Mikey encouraged me to use the program.


You saved me hours of work. Thank you.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

To prevent automated spam submissions leave this field empty.