Skip to content

Convert FRITZ!Box address book XML format to vcards. (Inofficial, not endorsed or supported by AVM)

License

Notifications You must be signed in to change notification settings

Rillke/fritzXML2vcard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fritzXML2vcard Build Status

Convert FRITZ!Box address book XML format to vCards.

Web interface/ online version

An online web-version is available. You may also download the entire website.

Screenshot Web interface/ online version

CLI user installation

Requires nodejs and npm.

Install the fritz-xml-2vcard package from npm.

npm i -g fritz-xml-2vcard
fritz-xml-2vcard /path/to/contact.xml /path/to/output/dir

Developer installation

git clone https://github.com/Rillke/fritzXML2vcard.git
cd fritzXML2vcard
npm install
npm run build
npm test
mkdir -p /path/to/output/dir
/path/to/node_or_nodejs ./convert.js /path/to/contact.xml /path/to/output/dir

Node.js API usage

var libConvert = require('fritz-xml-2vcard');
// area code and country code are optional arguments
var result = libConvert.fritzXML2vcard(xmlString, '030', '+49');
for (var vcfFile in result) {
	if (result.hasOwnProperty(vcfFile)) {
		fs.writeFileSync(outputDir + '/' + vcfFile, result[vcfFile]);
	}
}

Web Browser API usage

Get fritzXML2vcard-browser-api-min.js or fritzXML2vcard-browser-api.js. Put it side by side with the following html file:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>Cool vcf converter.</title>
	</head>
	<body>
		<!-- page content -->
		<script src="fritzXML2vcard-browser-api-min.js"></script>
		<script>
		var fritzXML = '<?xml version="1.0" encoding="utf-8"?>' +
			'<phonebooks><phonebook name="Telefonbuch">' +
			'<contact><person><realName>Test GmbH</realName></person>' +
			'<telephony nid="2"><number type="work" prio="1" id="0">(01234) 567890</number>' +
			'<number type="fax_work" prio="0" id="1">56789-2</number></telephony>' +
			'</contact></phonebook></phonebooks>';
		var vCards = window.libConvert.fritzXML2vcard(fritzXML, '030', '+49');
		console.log(vCards);
		for (var vcfFile in vCards) {
			if (vCards.hasOwnProperty(vcfFile)) {
				alert(vcfFile + ': ' + vCards[vcfFile]);
			}
		}
		</script>
	</body>
</html>

Other tools

Tool Language / Plattform Web-Version Import Export License
Contact-Conversion-Wizard C# easy to run on Windows; MacOS and Linux possible - Outlook, Fritz!Box XML, vCard, Fritz!Adr, CSV, Google Contacts Outlook, Fritz!Box XML, vCard, Fritz!Adr, Snom v7, Snom v8, Gigaset Talk&Surf CSV, Asstra, Grandstream, Auerswald, Google Contacts GPLv3
fritzXML2vcard JavaScript - Node.js Almost all operating systems available Fritz!Box XML vCard(s) MIT
vcard2fritzXML Java - Almost all operating systems - vCard Fritz!Box XML GPLv2