Convert xlsx to vcf

Free online XLSX to VCF converter

Convert Excel contact spreadsheets into importable VCF address-book files.

Convert XLSX to VCF online - free

Uploading…
Selected files exceed the 15 MB total limit. Please select fewer or smaller files.

Your file is processed instantly and never stored on our servers.

How it works

  1. 1/3

    Upload your .xlsx file

    Click to browse to select your file you want to convert or simply drag & drop your file into selected area.

  2. 2/3

    Perform .xlsx to .vcf conversion

    After successful file upload, click to convert when you are ready.

  3. 3/3

    Download converted .vcf file

    Conversion result is ready to download.

How to convert xlsx to vcf file

Phone address books, email clients, and contact-management systems commonly import contacts as VCF files. Converting an XLSX contact list avoids re-entering names, telephone numbers, email addresses, and organization details manually.

What the XLSX format is

XLSX is Microsoft Excel’s ZIP-based Open XML workbook format, supported by Excel, LibreOffice Calc, Apple Numbers, and many business systems. A workbook can contain multiple worksheets, cell values, formulas, formatting, tables, and contact data arranged in rows and columns.

XLSX does not define a standard contact schema. The conversion must therefore map headings such as First Name, Last Name, Phone, and Email to corresponding VCF properties. A workbook should normally use one contact per row with a heading row at the top.

What the VCF format is

VCF, also called vCard, is a text-based format for exchanging contact records. A file can contain one contact or multiple contacts, with properties such as FN for the display name, N for the structured name, TEL for telephone numbers, EMAIL, ORG, TITLE, and ADR for an address.

Android and iOS contact applications, Microsoft Outlook, Apple Contacts, Thunderbird, webmail systems, and business address books commonly support VCF import. Unlike a generic CSV file, VCF identifies contact fields directly, but applications differ in the fields, labels, character encodings, and VCF versions they accept.

Convert XLSX to VCF online

You can convert the file on 101convert.com for free without installing software. Upload the XLSX workbook, start the conversion, and download the generated VCF file. If the workbook contains several worksheets or unusual headings, check which sheet and columns the converter uses before importing the result.

Online conversion requires uploading the spreadsheet. Use a local method instead for confidential customer, employee, or personal contact lists when the data must remain on your computer.

Convert XLSX to VCF locally with Python

Python provides a repeatable local method using openpyxl to read XLSX and vobject to create vCard 3.0 data. Install both packages:

python -m pip install openpyxl vobject

Place contacts on the active worksheet and use headings such as First Name, Last Name, Phone, Mobile, Work Phone, Email, Organization, Title, Street, City, State, Postal Code, and Country. Save this as xlsx_to_vcf.py in the same folder as contacts.xlsx:

from openpyxl import load_workbook
import vobject

workbook = load_workbook("contacts.xlsx", data_only=True, read_only=True)
worksheet = workbook.active
rows = worksheet.iter_rows(values_only=True)
headers = [str(value or "").strip().lower() for value in next(rows)]

with open("contacts.vcf", "w", encoding="utf-8", newline="") as output:
    for values in rows:
        row = dict(zip(headers, values))

        def get(*names):
            for name in names:
                value = row.get(name.lower())
                if value not in (None, ""):
                    return str(value).strip()
            return ""

        first = get("first name", "given name")
        last = get("last name", "surname", "family name")
        display = get("full name", "name") or " ".join(
            part for part in (first, last) if part
        )
        if not display:
            continue

        card = vobject.vCard()
        card.add("fn").value = display
        card.add("n").value = vobject.vcard.Name(family=last, given=first)

        for column, label in (("phone", "VOICE"), ("mobile", "CELL"), ("work phone", "WORK")):
            number = get(column)
            if number:
                telephone = card.add("tel")
                telephone.value = number
                telephone.type_param = label

        email = get("email", "email address")
        if email:
            card.add("email").value = email

        organization = get("organization", "company")
        if organization:
            card.add("org").value = [organization]

        title = get("title", "job title")
        if title:
            card.add("title").value = title

        address = vobject.vcard.Address(
            street=get("street", "address"),
            city=get("city"),
            region=get("state", "province", "region"),
            code=get("postal code", "zip", "zip code"),
            country=get("country")
        )
        if any(address.value):
            card.add("adr").value = address

        output.write(card.serialize())

Run the script from that folder:

python xlsx_to_vcf.py

The script reads the first active worksheet and writes all converted records to contacts.vcf. Add extra heading names to the get() calls when the spreadsheet uses different labels; add another telephone mapping when the file has fields such as Home Phone or Phone 2.

Import the result through the destination application’s contact command, such as Contacts → Settings → Import or File → Import. The exact menu and whether the application accepts a multi-contact VCF depend on the software.

Quality and compatibility limits

  • Column mapping controls the result. Rename ambiguous headings before conversion. A heading such as Phone 2 is not recognized by the sample script until it is added to its mapping.
  • Keep one contact per row. Several phone numbers or email addresses in one cell may be imported as one unstructured value unless the conversion rules split them.
  • The Python example uses data_only=True, so formula cells require cached results saved by Excel or LibreOffice. Recalculate and save the workbook before running the script.
  • XLSX formatting, colors, column widths, filters, formulas, and worksheet structure have no VCF equivalent and are discarded.
  • Review names, duplicate records, country codes, extensions, blank rows, and telephone labels after import. Spreadsheet numbers can also be altered by automatic numeric formatting; store phone numbers as text when leading zeros or plus signs must be preserved.
  • VCF 3.0 is widely accepted, while some newer applications also support VCF 4.0 and older devices may expect VCF 2.1. If an importer rejects the output, export in the version it specifies or split a large file into smaller batches.
  • UTF-8 generally preserves accented characters, but older phones and contact programs may mishandle non-ASCII text, long notes, multiple telephone labels, or less common address fields.

XLSX vs VCF: format comparison

How the XLSX and VCF formats compare on the properties that matter most for this conversion.

Comparison of the XLSX and VCF file formats
Property .XLSX Microsoft Excel Open XML Spreadsheet .VCF vCard
Open standard Yes Yes
Compression Both Uncompressed
Typical file size Medium Small
Opens in a web browser Partial No
Further editing Easy Limited
Metadata support Extensive Extensive
Plain-text readable No Yes
Best used for Data exchange Sharing and distribution
Introduced 2007 1996
Developer Microsoft IETF
MIME type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet text/vcard

The database currently does not contain any direct xlsx file converter links.

Frequently asked questions

Is the XLSX to VCF converter free?

Yes, converting XLSX to VCF 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 XLSX file be?

You can upload XLSX 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 XLSX to VCF?

No. The XLSX to VCF 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 XLSX file for this XLSX to VCF 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.