Convert, review and merge vCard and CSV contacts locally
Move contact files with their names, labels and extra numbers intact. Inspect the data, decide what to merge, and keep an original-source archive alongside your new export.
Contact Workbench
Run either example to try real decoding, mapping, merging and exports. Changing the top-level input starts a new review; download your archive before resetting.
Supported scope: Up to 20 vCard files, 8 MiB combined, 5,000 contacts, 100,000 total properties, 256 properties/contact and 1 MiB/embedded attachment. One UTF-8 CSV: 100 columns, 300,000 cells. Supported vCard 2.1 quoted-printable/declared character sets, UTF-8 vCard 3/4 and base64 media. Output archive up to 32 MiB. This is a bounded file reader/converter, not complete validation of every vCard extension or destination importer.
Your contact source
Required fields are marked with an asterisk.
Contact review and export
Review your output, then save it to your device.
Make the next step clear.
Your findings, assumptions and next steps will appear here after you run the check.
Contact Workbench · https://contacts.kitforma.com/ · KitForma
Review every merge
Keep repeated contact fields
See export changes before import
Understand the evidence.
Focused guides explain the rules, the edge cases and the checks worth doing before you act.
Move contact files without losing extra numbers or labels
Choose a contact format, inspect repeating fields and keep an auditable original-source archive.
Read the guide ↗Field guide / 02Review duplicate contacts before combining records
Separate matching clues from identity, choose a primary record and inspect conflicting fields.
Read the guide ↗Field guide / 03Map CSV contacts and check the first import
Handle headers, repeated columns, encoding and spreadsheet safety without silently changing contact data.
Read the guide ↗Before you start
Are my contacts uploaded or connected to Google, Outlook or iCloud?
No. The tool reads local files, keeps the working data only in this page’s memory, and creates downloads on your device. It does not sign into providers, update an address book or fetch linked photos. You import the reviewed file yourself.
Can it read old vCard 2.1 files with broken-looking accents?
It decodes supported 2.1 quoted-printable values and explicit UTF-8, ISO-8859-1, Windows-1252, Windows-1254, ASCII or Shift-JIS character sets. Unsupported or invalid encodings are refused instead of guessed. Paste mode is UTF-8; use the original file for legacy byte encodings.
Will two people with the same name be merged?
No. Names alone do not generate suggestions. Shared email or phone keys produce review pairs, and you must select records and a primary contact before merging. Shared family phones or team inboxes can still refer to different people. Nothing merges automatically.
What happens to conflicting names, birthdays and custom fields?
The selected primary record supplies single-value fields. Conflicting alternatives remain in review JSON and original source files inside the ZIP. Repeated phones, emails, addresses and notes remain separate. Unsupported export fields or parameter changes appear in the loss ledger.
Why does the spreadsheet-safe CSV add apostrophes to phone numbers?
A spreadsheet may treat a leading plus, minus, equals sign or @ as an executable formula. Protection prefixes such cells with an apostrophe, including international phones. For direct contact import choose vCard or explicitly disable CSV protection. Disabling it retains exact text but is unsuitable for opening untrusted CSV cells in a spreadsheet.
Are contact photos and labels preserved?
Supported base64 photos remain embedded in vCard exports and are extracted as files in the ZIP. Remote photo URLs remain text and are never downloaded. Grouped vCard labels and repeated values remain in the canonical JSON. Provider CSV profiles can omit photos or flatten labels; the export ledger identifies those changes.
Sources & assumptions
Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.
- IETF: vCard 4 specification ↗
UTF-8 folding, property values, structured fields and vCard 4 representation.
- IETF: vCard 3 profile ↗
Version 3 fields, binary data and differences from legacy 2.1 encoding.
- IETF: parameter encoding ↗
Caret encoding for quotes, newlines and carets in vCard 4 parameters.
- Google Contacts: import contacts and template fields ↗
Current template-style CSV headers, repeated fields and small import checks.
- Microsoft: contact CSV import templates ↗
Outlook header language, template and sample-import guidance.
- Apple: import and export iCloud contacts ↗
Manual vCard import/export workflow; no iCloud connection is made by this tool.
- OWASP: CSV injection ↗
Spreadsheet interpretation differs from direct contact import; protection changes the text.
Reviewed 2026-10-18. Read our methodology or report an issue.