Business Card: vCard (.vcf)
The vCard (.vcf) ground truth for the business-card image: the same name, title, company, email, phone, and address in structured form. The positive reference for testing OCR-to-contact extraction.
BEGIN:VCARD
VERSION:3.0
FN:Jordan Rivera
N:Rivera;Jordan;;;
ORG:Meridian Supply Co.
TITLE:Account Manager
EMAIL;TYPE=work:jordan@meridiansupply.example
TEL;TYPE=work,voice:+1-555-010-0142
ADR;TYPE=work:;;18 Market Street;Portland;OR;97201;USA
URL:https://meridiansupply.example
END:VCARD
Specifications
- Format
- vCard 3.0
- Fields
- FN, N, ORG, TITLE, EMAIL, TEL, ADR, URL
- Note
- ground truth for the card image
- Alt Text
- The vCard (.vcf) ground truth for the business-card image: the same name, title, company, email, phone, and address in structured form
- Alt Text Source
- description
Testing contract
Expected to pass- Scenario
- Exercise Business Card: vCard (.vcf) in its ocr workflow. The vCard (.vcf) ground truth for the business-card image: the same name, title, company, email, phone, and address in structured form.
- Expected result
- 22 text lines, decoded as UTF-8; first nonempty line is 'BEGIN:VCARD'. Declared feature checks: fields=FN, N, ORG, TITLE, EMAIL, TEL, ADR, URL. The declared comparison counterpart is img-ocr-card; preserve the stated difference instead of expecting the container bytes to match.
What is a .vcf file?
VCF (vCard) is a plain-text format for electronic business cards, storing contact details like names, phone numbers, emails, and addresses as property lines within BEGIN and END VCARD blocks. Multiple vCards can be concatenated in one file. It is the standard for contact exchange across devices.
How to use this file
Use an example VCF to test contact import, multi-card parsing, property and encoding handling, and interoperability between address-book applications.
How to use this file for testing
“Business Card: vCard (.vcf)” is a deterministic Testaroo fixture for Contact parsing, OCR testing. vCard (.vcf) contact files with names, emails, phones, and addresses, for testing contact importers.
Documented properties for this file: vCard 3.0. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
For image AI or enhancement tools, run the model or filter on this file and diff against the clean or ground-truth companion in the same group when available. Keep seeds and documented damage parameters in your evaluation notes so regressions are attributable.
Code examples
import vobject # pip install vobject
for card in vobject.readComponents(open("business-card.vcf").read()):
print(card.fn.value)Generated by generation/images_realworld.py. Free for any use, no attribution required, license.
Related files
- pngdelivery (gaussian blur)A delivery typeset over a synthetic photographic background, gaussian blur. Softened by a recorded Gaussian radius, which is what an out-of-focus capture looks like. 29 words, each with an exact bounding box in the companion JSON.

- pngdelivery (low contrast)A delivery typeset over a synthetic photographic background, low contrast. Gain and offset applied so the text sits close to the ground, which is where thresholding fails. 29 words, each with an exact bounding box in the companion JSON.

- pngdelivery (rotated -7 degrees)A delivery typeset over a synthetic photographic background, rotated -7 degrees. Rotated, with every word box rotated with it, so skew correction can be scored rather than eyeballed. 29 words, each with an exact bounding box in the companion JSON.

- pngdelivery (rotated +3 degrees)A delivery typeset over a synthetic photographic background, rotated +3 degrees. A slight skew of the kind a phone photo of a docket actually has. 29 words, each with an exact bounding box in the companion JSON.

- pngdelivery (sensor noise)A delivery typeset over a synthetic photographic background, sensor noise. Additive noise at a recorded sigma, as a dim-light capture would carry. 29 words, each with an exact bounding box in the companion JSON.

- pngdelivery (undistorted)A delivery typeset over a synthetic photographic background, undistorted. Straight-on and undamaged, the baseline every other variant in this group is measured against. 29 words, each with an exact bounding box in the companion JSON.
