Free online XML to VCARD converter
Convert structured XML contact exports into importable UTF-8 vCard files.
Convert XML to VCARD online - free
Your file is processed instantly and deleted as soon as you download it.
Import a file from a URL
Paste a direct link to the file. We download it to our server and it is converted exactly like an upload.
How it works
-
1/3
Upload your .xml file
Click to browse to select your file you want to convert or simply drag & drop your file into selected area.
-
2/3
Perform .xml to .vcard conversion
After successful file upload, click to convert when you are ready.
-
3/3
Download converted .vcard file
Conversion result is ready to download.
How to convert xml to vcard file
- Contacts and address books
- No ratings yet.
A phone, email client, or address-book application may require contacts in vCard (.vcf) format instead of an application-specific XML export. Converting the file makes contacts easier to import, share, edit, and transfer between supported devices and programs.
What XML is
XML is a tag-based text format for storing and exchanging hierarchical data. Contact XML files can be produced by CRM systems, email clients, address books, web services, device backups, and custom databases.
XML has no universal contact schema. One file may use <contact>, <firstName>, and <phone>; another may use <person>, <given>, and <telephoneNumber>. Before conversion, identify the repeating contact element and the fields containing names, email addresses, phone numbers, organizations, postal addresses, notes, and identifiers. Namespaces and nested elements can also affect field detection.
What the vCard format is
vCard is a standardized plain-text format for contact records, normally saved with the .vcf extension. A file may contain one contact or multiple contacts and can be imported by phones, email clients, address books, CRM systems, and desktop contact managers.
Each record starts with BEGIN:VCARD and ends with END:VCARD. Common properties include FN for the display name, N for structured name components, TEL, EMAIL, ORG, ADR, NOTE, and UID. vCard 3.0 is usually the safest compatibility choice; vCard 4.0 supports newer features but may not import correctly in older phones and applications.
How to convert XML to vCard
For a conventional contact export, use the converter on 101convert.com: upload the XML file, choose VCARD as the output format, start the conversion, and download the resulting .vcf file. No software installation is required. Inspect the output before importing it when the XML came from a proprietary application.
If automatic field detection fails, use an XML editor, a data-transformation program, or a custom script:
- Open the XML and locate the element repeated once for each contact.
- Map the source fields to vCard properties: the display name to
FN, given and family names toN, telephone numbers toTEL, email addresses toEMAIL, the company toORG, and postal components toADR. - Choose vCard 3.0 unless the receiving application explicitly supports vCard 4.0.
- Generate one complete vCard block per contact and save all blocks as a UTF-8 file such as
contacts.vcf. - Import the file through the destination application's contact menu, commonly Contacts → Import or File → Import.
A minimal vCard 3.0 record is:
BEGIN:VCARD
VERSION:3.0
N:Doe;Jane;;;
FN:Jane Doe
TEL;TYPE=CELL:+1-202-555-0147
EMAIL:jane.doe@example.com
ORG:Example Ltd
END:VCARD
For repeatable conversions, Python's standard library can parse a simple XML structure and generate vCards. Change the element names and paths to match the source:
import xml.etree.ElementTree as ET
def esc(value):
return (value or "").replace("\\", "\\\\").replace(";", "\\;") \
.replace(",", "\\,").replace("\r", "").replace("\n", "\\n")
root = ET.parse("contacts.xml").getroot()
blocks = []
for contact in root.findall(".//contact"):
first = contact.findtext("firstName", "")
last = contact.findtext("lastName", "")
full = (first + " " + last).strip()
name = ";".join((esc(last), esc(first), "", "", ""))
lines = [
"BEGIN:VCARD", "VERSION:3.0", f"N:{name}",
f"FN:{esc(full)}"
]
phone = contact.findtext("phone", "")
email = contact.findtext("email", "")
if phone:
lines.append(f"TEL:{esc(phone)}")
if email:
lines.append(f"EMAIL:{esc(email)}")
lines.append("END:VCARD")
blocks.append("\r\n".join(lines))
with open("contacts.vcf", "w", encoding="utf-8", newline="") as output:
output.write("\r\n".join(blocks) + "\r\n")
Run it with python convert_contacts.py. A production script must handle XML namespaces, missing values, multiple telephone and email elements, vCard line folding for long lines, and property-specific escaping. It should also assign suitable TYPE parameters only when the XML identifies a number as mobile, work, home, or fax.
Quality and compatibility limits
Conversion quality depends on the XML schema, not its file extension. A converter cannot reliably infer the meaning of an unlabeled number, and proprietary fields may have no vCard equivalent. Photos, groups, custom fields, permissions, linked records, multiple addresses, and relationship data may be discarded or transformed.
Keep the original XML as a backup. Test a small sample before converting a large address book, then check names, character encoding, phone labels, duplicate records, non-Latin text, and line breaks after import. Reimporting the same .vcf file can create duplicates, and some applications support only a subset of vCard 3.0 or 4.0 properties.
XML vs VCARD: format comparison
How the XML and VCARD formats compare on the properties that matter most for this conversion.
| Property | .XML Extensible Markup Language | .VCARD vCard |
|---|---|---|
| Plain-text readable | Yes | Yes |
| Data types | Typed | Partial |
| Nested structures | Yes | Yes |
| Formulas | No | No |
| Multiple tables or sheets | — | No |
| Typical file size | Small | Very small |
| Open standard | Yes | Yes |
| Best used for | Data exchange | Sharing and distribution |
| Introduced | 1998 | 1996 |
| Developer | W3C | IETF |
| MIME type | application/xml | text/vcard |
The database currently does not contain any direct xml file converter links.
Frequently asked questions
Is the XML to VCARD converter free?
Yes, converting XML to VCARD on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.
How large can my XML file be?
You can upload XML files up to 15 MB and convert up to 100 files at once in a single batch.
What happens to my uploaded files?
Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.
Do I need to install any software to convert XML to VCARD?
No. The XML to VCARD conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.
Did the conversion fail?
In most cases, the cause is an incorrect file format. Please upload a valid XML file for this XML to VCARD conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.