Neatbo.

Move contacts with explicit column and field rules

Choose the source delimiter and explicit contact mapping, check repeated fields and components, and retain the original with editable and round-trip exports.

Select the actual source

Paste text or select one UTF-8 CSV/vCard file up to 2 MiB. A selected file takes priority. Filename: 512 UTF-8 bytes; MIME label: 256 bytes. One initial UTF-8 BOM is recorded and removed from parsed content.

Choose comma, semicolon or tab explicitly. At most 128 CSV columns and 10,000 contacts. Map zero-based physical column indices, including empty or duplicate headers. Each CSV cell and decoded component allows 65,536 UTF-8 bytes; mapping JSON allows 32 KiB.

Map names and repeated properties

Each mapping entry specifies column and property; N and ADR require a component index (family/given/additional/prefix/suffix, or pobox/extended/street/locality/region/postal/country). ORG component 0 is the organization and later components are units. Set occurrence for repeated fields, types for TYPE and group for a property group. A records cell holds an array of {type,params,values}; use one records mapping per core field.

FN is never guessed from an unrelated column. Choose given-family/family-given only deliberately; it joins mapped N components when no FN value exists.

Original semicolon CSV mapping
[{"column":0,"property":"N","component":1},{"column":1,"property":"N","component":0},{"column":2,"property":"ORG","component":0},{"column":3,"property":"TEL","types":["HOME","VOICE"]},{"column":4,"property":"TEL","occurrence":2,"types":["CELL","VOICE"]},{"column":5,"property":"ADR","component":6,"types":["HOME"]}]

Inspect every delivery

Unmapped CSV columns and unsupported vCard properties go to the complete report by default; select reject to refuse instead. NICKNAME, BDAY, ROLE, X-properties and PHOTO remain in this sidecar and original, not in the core migrated payload. No photo or URL is fetched.

contacts.csv is an editable text-column export. Repeated fields get numbered columns. Component multivalues are joined for editing; exact component arrays, all parameters and groups remain in contacts.json and roundtrip.csv. Use records mapping on roundtrip.csv for faithful reimport; ordinary CSV client templates still need their own column mapping.

Deliveries
FileUse
contacts.vcf / contacts.csvCore migrated payload
contacts.jsonAll repeated field arrays, parameters and groups
roundtrip.csvOne record-array column per core field; faithful records reimport
migration-report.jsonParameters, file identity, full unknown/unmapped sidecar
source-original.csv / source-original.vcfExact effective input bytes
  • Before importing the editable CSV, compare FN and each ordered N/ADR component with the source.
  • Check TYPE and group for every repeated TEL or EMAIL in contacts.json; numbered CSV columns alone do not carry those parameters.
  • Review migration-report.json for unmapped columns and unsupported properties, and keep source-original with roundtrip.csv for recovery.

Recover from a refusal

At most 100,000 supported properties, 250 per contact, 128 component multivalues, 128 organization components and 150,000 nonempty vCard logical lines. Editable export allows 256 columns. Complete delivered files together allow 16 MiB. Refusal returns no partial contacts.

CRLF inside mapped text normalizes to LF. vCard output uses CRLF and folds at 75 UTF-8 bytes without splitting a character. TEL containing backslashes or newlines and URL containing whitespace or backslashes reject. Empty scalar CSV cells omit that property; explicit records can preserve empty values.

The preview shows 4,000 Unicode codepoints. Copy and downloads keep complete output. A whole-run 10-second deadline starts before engine loading and covers worker readiness, file reading and processing. Cancellation destroys the worker; rerun with the same retained File and parameters. Inputs stay in this browser.

Correct mapping/encoding or reduce over-budget records, then rerun with the retained original file. No partial output survives cancellation.

References

Tools in this category

Expand a tool to see its steps, options and supported formats, then open its workspace.

CSV ↔ vCard contact migrationMap contact columns locally, preserve repeated fields and structured values, and export editable CSV or UTF-8 vCard 3.0 with a complete sidecar.

Choose the direction, delimiter and explicit name/column rules before moving contact records.

Steps

  1. Select the original file and direction.
  2. Map physical columns and choose an explicit FN rule.
  3. Convert, review sidecar warnings and all download files.
  4. Import a copy into the receiving application and inspect repeated values.

Available options

Direction
CSV → vCard · vCard → CSV
CSV delimiter
Comma · Semicolon · Tab
Column mapping JSON
[{"column":0,"property":"N","component":1},{"column":1,"property":"N","component":0},{"column":2,"property":"ORG","component":0},{"column":3,"property":"TEL","types":["HOME","VOICE"]},{"column":4,"property":"TEL","occurrence":2,"types":["CELL","VOICE"]},{"column":5,"property":"ADR","component":6,"types":["HOME"]}]

Zero-based column; FN/N/TEL/EMAIL/ORG/TITLE/ADR/URL/NOTE. Text, component list or full records.

Generate missing formatted name
Require mapped FN · Given + family · Family + given
Unsupported/unmapped fields
Preserve in report · Reject conversion

Capabilities and limits

  • Paste text or select one UTF-8 CSV/vCard file up to 2 MiB. A selected file takes priority. Filename: 512 UTF-8 bytes; MIME label: 256 bytes. One initial UTF-8 BOM is recorded and removed from parsed content.
  • vCard 3.0 only: FN, N, TEL, EMAIL, ORG, TITLE, ADR, URL and NOTE. Preserve repeated occurrences, structured component lists, TYPE, LANGUAGE and groups. Require nonempty FN and an N property; reject wrong versions, encoding/CHARSET parameters, malformed syntax or missing names.
  • Choose comma, semicolon or tab explicitly. At most 128 CSV columns and 10,000 contacts. Map zero-based physical column indices, including empty or duplicate headers. Each CSV cell and decoded component allows 65,536 UTF-8 bytes; mapping JSON allows 32 KiB.
  • At most 100,000 supported properties, 250 per contact, 128 component multivalues, 128 organization components and 150,000 nonempty vCard logical lines. Editable export allows 256 columns. Complete delivered files together allow 16 MiB. Refusal returns no partial contacts.
  • Unmapped CSV columns and unsupported vCard properties go to the complete report by default; select reject to refuse instead. NICKNAME, BDAY, ROLE, X-properties and PHOTO remain in this sidecar and original, not in the core migrated payload. No photo or URL is fetched.
  • contacts.csv is an editable text-column export. Repeated fields get numbered columns. Component multivalues are joined for editing; exact component arrays, all parameters and groups remain in contacts.json and roundtrip.csv. Use records mapping on roundtrip.csv for faithful reimport; ordinary CSV client templates still need their own column mapping.
  • CRLF inside mapped text normalizes to LF. vCard output uses CRLF and folds at 75 UTF-8 bytes without splitting a character. TEL containing backslashes or newlines and URL containing whitespace or backslashes reject. Empty scalar CSV cells omit that property; explicit records can preserve empty values.
  • The preview shows 4,000 Unicode codepoints. Copy and downloads keep complete output. A whole-run 10-second deadline starts before engine loading and covers worker readiness, file reading and processing. Cancellation destroys the worker; rerun with the same retained File and parameters. Inputs stay in this browser.
Open CSV ↔ vCard contact migration →