Home Search Download Documentation
Help Community SIGs   
General XML
Python Software
Sample Code
SIG page
Email Us
Python Powered
Valid HTML 4.01!

The XML Bookmark Exchange Language (XBEL)

The XML Bookmark Exchange Language, or XBEL, is an Internet "bookmarks" interchange format. It was designed by the Python XML Special Interest Group on the group's mailing list.

The original intent was to create an interesting, fun project which was both useful and would demonstrate the Python XML processing software which was being developed at the time. Mark Hammond contributed the original idea, and other members of the SIG chimed in to add support for their favorite browser features. After debate which ranged far afield from the original idea, compromises were reached which allow XBEL to be a useful language for describing bookmark data for a range of browsers, including the major browsers and a number of less widely used browsers.

At this time, the formal document type definition (DTD) was finalized and documentation was written. These are available online here.

The documentation is also available in non-HTML versions, for those who like to play with leaves:

XBEL discussion takes place on the XML SIG mailing list. Problems and proposed extensions should be reported in the XBEL tracker.

Supporting Software

Supporting software is provided as part of the Python XML "omnibus" package. This software is located in the demo/xbel/ directory of the distribution. This includes command-line processes for converting XBEL instances to other common formats, including the Navigator and Internet Explorer formats.

Ken Schenke's BookmarkBridge is an open source bookmark management tool. It is used to merge bookmarks from different browsers, and uses Python for at least a portion of it's regression testing.

The Galeon Web browser for the GNOME desktop has been using XBEL as its native bookmark format since version 1.1.

The current release of the Grail Internet browser from CNRI supports XBEL as a native bookmarks format.

David Faure ( has made XBEL the bookmarks format for Konqueror, the KDE web browser since KDE 2.1. KDE also features a separate application to edit XBEL bookmarks, keditbookmarks.

Philippe Guglielmetti ( has created an export template for the Compass bookmarks manager. Look for XBEL.TPL at Philippe's home page.

Roberto Giungato ( has created a PHP script to parse XBEL and a Compass template that maintains foldering information. See his home page for more information.

linkaGoGo is a commercial online bookmark/favorites "service" which supports import and export in several formats, including XBEL.

Alco Blom's URL Manager Pro, a Mac OS shareware application for managing bookmarks, supports reading files in the XBEL format. See the home page of URL Manager Pro for more information.

XBEL Bookmarks Editor is "a platform and browser bookmark representation that allows content-based retrieval. A platform [independent] application [for easy] bookmark [management]."

ELinks-0.4.0+, an advanced text WWW browser has built-in XBEL bookmarks support. Basic bookmarks operations (same as in the native format) and conversion from/to native ELinks' bookmarks format.

be Bookmarks Editor is a Java-based editor to manage bookmarks in XBEL format.

XML::Filter::Glossary , a Per SAX2 filter for keyword lookup and replacement, with support rimarily for XBEL files. is a Perl script Dan Loda wrote to convert Opera bookmarks to XBEL.

xbel-1.0.xsl is an XSLT script by Jürgen Hermann for converting an XBEL document into a HTML directory.

Merging XBEL Bookmark files, by Uche Ogbuji, is a Python recipe for merging 2 XBEL files. is a short python script for converting XBEL XML bookmarks into readable HTML, by Lennart Poettering. is a Python script for converting Opera bookmarks to XBEL, by Eddy L O Jansson.

XBELette, a "Client-server solution for managing your bookmarks".

Rebel: A RE(ST API for X)BEL is a convntion proposed for managing the XBEL hierarchicy, and accessing this hierarchy using URL conventions.

Apache::XBEL is an Apache mod_perl handler that uses XSLT to transform XBEL files into dynamic HTML documents.

Favorez is an AxtiveX IE 5+ plug-in program that creates web pages from the users' favorites. It uses XBEL, and includes an XSLT stylsheet for converting XBEL to a dynamic folder-based view. See this announcement for more details and examples.

Net-Delicious-Export-Post-XBEL is a Perl module to export postings as XBEL SAX events.

Waitman C. Gobble, II has posted a sample of PHP code to parse XBEL, in particular XBEL bookmarks generated by Firefox.

Rowan Rodrik has a collection of XBEL tools, including a set of XSLT sheets to transform an XBEL file to a directory of XHTML files or one, big monolithic XHTML file; and an XSLT sheet to alphabetically sort an XBEL file.