A vCard file (.vcf) is a plain-text contact record defined in RFC 6350 that any modern address-book or contact application can import with a single file picker. To create a VCF file online, you fill in a short form with at least a full name, optionally add details such as organization, title, email, phone, website, and a note, preview the resulting vCard 4.0 text, and download the file as .vcf so your contacts app can read it. The vCard Generator runs this entire workflow in the current browser tab, so the typed details never travel to a remote server. Because the file is plain text wrapped between BEGIN:VCARD and END:VCARD markers, you can open it in any text editor to inspect or correct it later. The hardest part of producing a valid vCard by hand is not the typing — it is the escaping rules and the line-length rule that importers quietly enforce. Letting a focused generator apply those rules for you is the simplest path to a portable contact file.

create vcf file online
Create a VCF File Online (Standards-Aligned vCard 4.0)

What Goes Inside a vCard .vcf File

A .vcf file is a list of property lines wrapped between two markers. The file begins with the line BEGIN:VCARD and ends with END:VCARD. Between those markers sit property lines, each on its own physical line, in the form NAME:value or NAME;parameters:value. The VERSION property identifies which vCard specification the file follows; the vCard Generator writes VERSION:4.0 on every output, matching the format described in RFC 6350 and the canonical property list in the IANA vCard Elements Registry.

Why does the format matter when you only want one contact? Because the import side is not optional. Most address-book and contact applications on phones and desktops parse .vcf files themselves, and each importer can apply its own tolerance for malformed input. If a file violates a structural rule, an importer can silently drop a property, render the wrong name, or refuse the file outright. A generator that follows the core RFC 6350 rules produces a file that those apps can all read without custom workarounds, which is the practical reason the standard exists.

How to Create Your .vcf File in the Browser

The creation flow has three steps. The only required input is a full name, and every other field is optional. Empty optional fields are omitted from the output rather than being written as blank properties, which keeps the file compact and avoids ambiguous entries that an importer might still try to parse.

  1. Enter the required full name, then add any organization, title, email, phone, website, or note you want included.
  2. Select Create vCard and review the exact vCard 4.0 text in the preview for spelling and formatting.
  3. Download the .vcf file and test-import it in your target contact application before distributing it.

Before downloading, read the preview the way you would proofread an email. Confirm the spelling of the name, the country code on the phone number, the domain on the email, and the path on the website. The preview reflects the exact bytes that the .vcf file will contain, including any escape sequences and folded lines, so a careful read at this step prevents avoidable round-trips through your contacts app later. If you spot a problem, edit the form value, regenerate, and re-check the preview rather than editing the file by hand.

Properties the Generator Emits

The generator keeps the property set small on purpose. The table below lists each property it can emit, where the value comes from in the form, and what that property stores according to RFC 6350.

vCard propertyForm fieldWhat it stores
VERSIONalways emittedFormat version, written as "4.0"
FNFull nameFormatted name shown in contact lists
ORGOrganizationCompany or institution name
TITLETitleJob title or role
EMAILEmailEmail address
TELPhonePhone number with any formatting or country code
URLWebsitePublic HTTP or HTTPS URL
NOTENoteFree-form text, including multi-line content

The required FN line is always written because a contact file without a formatted name is not a useful portable record. Optional fields are only written when you supply a value. The generator intentionally does not include photos, social-profile links, addresses, or vendor-specific synchronization extensions, because emitting a conservative text-based property set keeps the output predictable across importers. If you want to walk through the broader picture of building a record that survives multiple importers, the guide to creating a vCard that imports cleanly anywhere covers the wider angle.

Why Escaping and Line Folding Matter

RFC 6350 specifies two text rules that are easy to miss when a file is assembled by hand. First, commas, semicolons, backslashes, and newlines inside a value must be escaped with a backslash so that importers read them as content rather than as structural punctuation. A name like "Doe, Jane" must appear with an escaped comma inside the structured name property, and a semicolon in an organization like "Smith; Jones LLC" must be escaped to avoid being parsed as multiple organization components. Without escaping, an importer could interpret the punctuation as structure rather than as part of the contact value, and the field would render incorrectly.

Second, each physical content line is limited to 75 octets measured in UTF-8, not in JavaScript characters. Longer lines must be folded by inserting a CRLF followed by a single space at the start of the next physical line. Folding has to respect complete Unicode code points so that an emoji or a multibyte character is never split in the middle of its UTF-8 encoding. The generator folds long lines at no more than 75 octets and begins each continuation with one space. The downloaded file uses CRLF line endings throughout and ends with a final CRLF, matching what RFC 6350 specifies.

Text line breaks inside a value are encoded within the property itself using the vCard newline escape, rather than being allowed to inject an additional property. This detail matters for notes that contain multiple paragraphs: an unescaped line break could be mistaken for a new property and break the file, which is why the generator handles the encoding for you.

Local Browser Processing and Contact Privacy

All processing happens in the current browser tab. The form values, the preview, and the downloaded file are assembled locally. The download link points to a temporary browser Blob built from the preview text. Nothing is uploaded to a server, stored in an account, or sent to a remote conversion service. Closing or reloading the page discards both the entered data and the generated download link.

This local design has practical value when contact details are private. There is no account to create, no email to confirm, and no service that retains a copy of the contact record. If you need a quick file for a single contact without sending the details through a third-party form, the browser-side workflow is the relevant property of the tool.

Other input controls support the same goal. Website entries must be public HTTP or HTTPS URLs, and embedded usernames and passwords are rejected. Other contact fields reject unsupported control characters and apply practical length limits. The generator does not claim that an email address or phone number belongs to a real person; it serializes the values you provide, so the accuracy of the contact record is your responsibility.

Test-Import Before Sharing

After downloading the .vcf file, the final compatibility check is a real import. Import behavior and supported optional properties can differ between applications, so reading the preview is necessary but not sufficient. Import the file into the contact application you intend to use, confirm that the name renders as expected, the phone number keeps its country code and formatting, the email domain is correct, and the website opens. If any field looks wrong, edit the source value in the form, regenerate, and re-download.

Inspecting the file in a plain text editor is also useful because the output is plain text. This is helpful when an import behaves unexpectedly and you want to see whether the issue is in the source values or in the importer. A vCard 4.0 file is not a digital identity, a verified signature, or a substitute for consent before sharing someone else's contact information, so keep the recipient's privacy expectations in mind before sending the file.

Related reading: vCard Generator Alternative: Local .vcf, No Upload.