Skip to content
VCard v4.0 rfc6350 compliant generator from JSON.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.babelrc
.eslintrc initial working version Apr 16, 2017
.gitignore initial working version Apr 16, 2017
.npmignore
.travis.yml
LICENSE Initial commit Apr 16, 2017
README.md
package.json

README.md

vcard-generator

Build Status Coverage Status npm version Dependency Status License

VCard v4.0 rfc6350 compliant generator from JSON.

Install

npm install --save vcard-generator

Usage

import vcard from 'vcard-generator';

const vcardContent = vcard.generate({
  name: {
    familyName: 'Doe',
    givenName: 'John',
    middleName: 'Philip',
    prefix: 'Dr.',
    suffix: 'Jr.',
  },
  formattedNames: [{
    text: 'Mr. Johny',
  }],
  nicknames: [{
    text: 'Phil',
  }],
  extraName: {
    maidenName: 'MaidenName',
    phoneticFirstName: 'PhoneticFirstName',
    phoneticMiddleName: 'PhoneticMiddleName',
    phoneticLastName: 'PhoneticLastName',

    pronunciationFirstName: 'PronunciationFirstName',
    pronunciationMiddleName: 'PronunciationMiddleName',
    pronunciationLastName: 'PronunciationLastName',
  },

  works: [{
    organization: 'My Company, Inc.',
    title: 'CEO',
    role: 'Executive',
  }],
  emails: [{
    type: 'work',
    text: 'john@mycompany.com',
  }, {
    type: 'home',
    text: 'johndoe@example.com',
  }],
  phones: [{
    type: 'work',
    text: '1 (234) 567-8901',
  }, {
    text: '(123) 123-1234',
  }, {
    uri: 'tel:1234567890',
  }],
  addresses: [{
    type: 'work',
    street: '123 Forbes Ave, Apt 1',
    locality: 'San Francisco',
    region: 'CA',
    code: '12345',
    country: 'USA',
  }, {
    type: 'home',
    street: '456 Home St',
    locality: 'Homeland',
    region: 'CA',
    code: '23456',
    country: 'USA',
  }],
  socialProfiles: [{
    type: 'facebook',
    uri: 'http://www.facebook.com/johndoe',
  }, {
    type: 'twitter',
    user: 'johnie',
  }],
  urls: [{
    type: 'internet',
    uri: 'http://www.mycompany.com',
  }, {
    type: 'personal',
    uri: 'http://www.johndoe.com',
  }],

  photos: [{
    type: 'work',
    uri: 'https://upload.wikimedia.org/wikipedia/en/8/80/Wikipedia-logo-v2.svg',
  }, {
    type: 'home',
    dataUri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC',
  }],

  birthday: {
    year: 2000,
    month: 1,
    day: 31,
  },
  gender: {
    sex: 'male',
  },
  notes: [{
    text: 'John Doe has a long and varied history, being documented on more police files that anyone else.\nReports of his death are alas numerous.',
  }, {
    text: 'Another note.',
  }],
});

// returns
BEGIN:VCARD
VERSION:4.0
N:Doe;John;Philip;Dr.;Jr.
FN:Mr. Johny
NICKNAME:Phil
X-MAIDENNAME:MaidenName
X-PHONETIC-FIRST-NAME:PhoneticFirstName
X-PHONETIC-MIDDLE-NAME:PhoneticMiddleName
X-PHONETIC-LAST-NAME:PhoneticLastName
X-PRONUNCIATION-FIRST-NAME:PronunciationFirstName
X-PRONUNCIATION-MIDDLE-NAME:PronunciationMiddleName
X-PRONUNCIATION-LAST-NAME:PronunciationLastName
ORG:My Company\, Inc.
TITLE:CEO
ROLE:Executive
EMAIL;PREF=1;TYPE=work:john@mycompany.com
EMAIL;PREF=2;TYPE=home:johndoe@example.com
TEL;PREF=1;TYPE=work:1 (234) 567-8901
TEL;PREF=2:(123) 123-1234
TEL;VALUE=uri;PREF=3:tel:1234567890
ADR;PREF=1;TYPE=work:;;123 Forbes Ave\, Apt 1;San Francisco;CA;12345;USA
ADR;PREF=2;TYPE=home:;;456 Home St;Homeland;CA;23456;USA
X-SOCIALPROFILE;PREF=1;TYPE=facebook:http://www.facebook.com/johndoe
X-SOCIALPROFILE;PREF=2;TYPE=twitter;x-user=johnie:x-apple:johnie
URL;PREF=1;TYPE=internet:http://www.mycompany.com
URL;PREF=2;TYPE=personal:http://www.johndoe.com
PHOTO;PREF=1;TYPE=work:https://upload.wikimedia.org/wikipedia/en/8/80/Wikipedia-logo-v2.svg
PHOTO;PREF=2;TYPE=home:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC
BDAY:20000131
GENDER:M
NOTE;PREF=1:John Doe has a long and varied history\, being documented on more police files that anyone else.\nReports of his death are alas numerous.
NOTE;PREF=2:Another note.
END:VCARD
You can’t perform that action at this time.