Tools Thicket Logo Tools Thicket

Business Card OCR

Extract editable contact fields from a PNG/JPG business card in your browser.

Privacy notice: processing is client-side by default.

Supported formats: PNG and JPG. Printed cards and common layouts work best.

Ready with an example contact; upload a card or edit the fields below.

+14186569254

vCard download

CSV download

Contacts JSON

Business Card OCR — Privacy-first, Client-side Business Card Scanner

One-line tool description
Performs client-side extraction of name, title, company, phone, email and address from a single PNG/JPG photo. Export formats: vCard 4.0 (RFC 6350), CSV (RFC 4180 guidance), or contacts-ready JSON.

Quick 3-step usage

  1. Upload a photo (one-shot): take or choose a PNG/JPG of the printed business card.
  2. Confirm & edit: quick field-edit UI shows parsed Name, Title, Company, Phone, Email, Address and conservative dedupe suggestions. Edit any field before export.
  3. Export: download a vCard (RFC 6350 v4.0), CSV (RFC 4180 style), or contacts-ready JSON.

How it works — key principles & formulas (concise, traceable)

  • Text normalization: OCR text is normalized using Unicode NFKC, trimmed, interior whitespace collapsed, and control/invisible characters removed before parsing (Unicode TR15). Comparisons are done in lower case while the original case is preserved for display.
  • Email rules: trim and NFKC-normalize. For storage: lowercase domain part; preserve local-part case for display. Client-side validation requires exactly one '@', domain contains at least one dot ('.'), and top-level domain label length >= 2 — otherwise mark for review (based on RFC 5322 guidance).
  • Phone rules: numbers are normalised with built-in pattern matching (this tool does not bundle an external phone library). Separators, parentheses and dashes are removed while a leading '+' is preserved. Heuristics: replace leading '00' with '+' if present; store ambiguous national numbers as "needs review". Valid numbers are formatted to E.164 ('+{countrycode}{national significant number}'), respecting E.164 maximum of 15 digits (ITU‑T E.164). Extensions are preserved in vCard per RFC 6350 examples.
  • Address (ADR) rules: keep original formatted address as label; attempt conservative component split for ADR fields: street; locality; region; postal-code; country. For low-confidence parses (single-line or international ambiguity) surface full label for user edit (vCard ADR per RFC 6350).
  • vCard & CSV output: produce vCard VERSION:4.0 with FN, N, ORG, TITLE, TEL, EMAIL, ADR where available (RFC 6350). CSV follows RFC 4180 quoting and includes header: Full Name, Given Name, Family Name, Title, Company, Email, Phone (E.164), Street, Locality, Region, PostalCode, Country.
  • Deduplication / similarity scoring (conservative defaults):
    • Exact match on E.164 phone or exact email -> definite duplicate (score = 1.0).
    • Email local-part similarity + domain exact match -> high confidence (score >= 0.95).
    • Name similarity via a character-overlap score + normalized company equality -> medium/high confidence. Threshold used by this tool: a name score of 0.88 or above together with a matching company is flagged as a possible duplicate (show for user confirmation). Names are NFKC-normalised, lower-cased and stripped of punctuation before similarity checks.
    • When confidence is below threshold, surface suggestion but do not auto-merge; require user confirmation.
  • Failure / edge handling: empty or punctuation-only fields treated as missing or suspicious and surfaced for edit. Phone digits > 15 or non-digit residues after cleaning -> mark invalid and store raw text for manual correction.

FAQ

Q: How accurate is the OCR on business cards?

A: Client-side OCR is optimized for printed cards and common layouts — especially clear, high‑resolution photos. Handwritten text or highly unusual layouts are less reliable; advanced multilingual or handwritten parsing is available later as an opt‑in server feature.

Q: Does this tool keep or upload my card images?

A: By default all parsing runs client-side in your browser; images are not uploaded. Advanced parsing (multilingual/handwritten) can be offered as an opt‑in server feature and will only run if you explicitly enable it.

Q: What fields are extracted and what export formats are available?

A: Extracted fields: Name, Title, Company, Phone, Email, Address. Exports: vCard 4.0 (RFC 6350), CSV (RFC 4180 guidance), or contacts-ready JSON.

Q: How does deduplication work and can I review matches?

A: Deduping uses conservative similarity rules: exact phone/email matches = definite duplicate; email/name similarity above a threshold = suggested duplicates. Matches are shown to you for review — nothing is merged without your confirmation.

Q: Which countries and phone formats are supported?

A: Phone numbers are formatted to E.164 with built-in pattern matching. Valid international numbers are formatted to E.164 (leading '+' and up to 15 digits). If country code is missing, the app flags the number as ambiguous for review.

Q: Can I edit parsed fields before saving or exporting?

A: Yes. A quick field-edit UI surfaces every parsed field so you can correct OCR mistakes before export.

Q: What if OCR gets the text wrong?

A: You can manually edit fields; for better OCR results, retake photos with even lighting, higher resolution, and a flat single-card background. If parsing still fails, use the manual-entry flow.

Q: Is handwritten text supported?

A: Not in the default client-side mode. Handwritten and advanced multilingual parsing are planned as opt-in server-side features for users who explicitly enable upload.