Compatibility of bibtex and biblatex bibliography files?

To parse BibTeX format files, Biber uses a C library called "btparse" which is, for all intents and purposes, 99.9% compatible with BibTeX. So, You should rarely have problem using Biber as a drop-in replacement for BibTeX. As mentioned by others, the issue is rather the slightly different data model which biblatex has compared with the data model in BibTeX.

So, your question really relates to the difference in data models between plain BibTeX and BibLaTeX, regardless of whether you are using Biber as the biblatex backend. Be aware that in the future, around BibLaTeX 2.x, BibTeX will no longer be supported as a biblatex backend as it has too many limitations. Of course BibTeX format data files will always be supported.

The more important question is, as you mention, what the advantages of Biber might be even if you are not using any of the biblatex data model specifics. Here are some advantages of Biber in this respect (you can get an idea by searching for the string "Biber only" in the biblatex manual), omitting the features which require data source changes:

  • Support of data sources other than .bib (currently RIS, Zotero RDF/XML, Endnote XML)
  • Support for remote data sources (.bib files available via ftp or http)
  • Support of other output formats (in 0.9.8 it will support GraphViz .dot output for data visualisation and conversion to the planned biblateXML format)
  • Full Unicode 6.0 support (including file names and citation keys)
  • A sorting mechanism which I think is probably as good or better than any commercial product - full Unicode, multi-field, per-field case and direction, CLDR aware and completely user configurable. BibTeX doesn't come close in this regard.
  • Automatic name and name list disambiguation. I think this is quite an impressive feature. See section 4.11.4 of the biblatex manual for a very good explanation of this with examples.
  • Completely customisable crossref inheritance rules. BibTeX has a very basic static rule only.
  • Automatic encoding and decoding, including UTF-8 <-> LaTeX macros
  • Very flexible configuration file "sourcemap" option which can be used to change the
    .bib data as it is read by Biber, without changing the actual data source itself. You
    can use this to do all sorts of things like drop certain fields, add fields, conditionally drop/add fields, change fields using full Perl 5.14 regular expressions (see Biber manual section 3.1.2).

This last feature is particularly interesting for you as you can potentially map your pure BibTeX .bib files into the biblatex model on the fly as Biber reads them but without altering the files. It's also very useful for dropping fields like abstract which often cause trouble due to LaTeX reserved characters.

There are also some other features implemented in Biber which are available in BibLaTeX 2.x:

  • Customisable labels
  • Multiple bibliographies in the same refsection with their own sorting/filtering
  • "Related" entries - a general solution to the issue of all these "reprinted as", "translated as" etc. requirements.

I forgot to mention that Biber automatically applies the BibLaTeX field and entrytype mappings (address -> location etc.) mentioned in the documentation. It does this by implementing some driver-level source mappings (see \DeclareSourcemap and its variants in the biblatex documentation).


As a principle: the more you make use of biblatex/Biber's strengths, the harder it gets to go back to a traditional BibTeX workflow.

If you come with your BibTeX database and want to use it with biblatex/Biber there are only few areas you have to tweak: chapter 2.3 of the biblatex manual lists the following points:

  • The entry type @inbook. See §§ 2.1.1 and 2.3.1 for details.
  • The fields institution, organization, and publisher as well as the aliases address and school. See §§ 2.2.2, 2.2.5, 2.3.4 for details.
  • The handling of certain types of titles. See § 2.3.5 for details.
  • The field series. See §§ 2.2.2 and 2.3.7 for details.
  • The fields year and month. See §§ 2.2.2, 2.3.8, 2.3.9 for details.
  • The field edition. See § 2.2.2 for details.
  • The field key. See § 2.3.2 for details.

Not all of the changes will probably concern you and not all really result in incompatibilities.

The more you delve into biblatex and the more you make use of its unique types, fields and features, the more difficult it gets to go back, of course. The whole question of conversion between between the two actually becomes moot, since it's not really a question of different formats but of biblatex simply offering many things BibTeX has no equivalent for.

Just one example which was important for me: Traditional BibTeX doesn't have a bookauthor field which is a kind of deal breaker in certain areas of humanities. The fact that biblatex has this field was one of the main reasons I originally switched to biblatex. Now since BibTeX doesn't know about this field there's no sensible way to have a useful conversion between the two. The same is true for many other fields. So going to biblatex is a kind of a one way street after you crossed a certain point.


As you are asking about Biber vs. BibTeX (that is, binary drivers for processing the .bcf respectively .aux file generated by LaTeX with respect to citations) I assume you are using biblatex as bibliography package, as Biber does not support any other bibliography package (old-style BibTeX, natbib).

With respect to the bibliography databases: AFAIK Biber is mostly compatible to BibTeX. It is, however, more picky wrt having well-formed entries, so chances are high that something "does not work" out of the box. If you do not want to fix all this immediately, using biblatex together with bibtex8 -W is generally a good workaround. You do not have to switch immediately to Biber just for using biblatex.

A more serious problem is that old-style BibTeX and biblatex are not to a hundred percent compatible wrt the database entries. Actually, biblatex cleans up with many idiosyncrasies of the old-style BibTeX database format:

For instance, in old-style BibTeX there are two fields to indicate an address: address for the address of the publisher, which is used in all entry types, but @inproceedings. For @inproceedings entries one has to give the location of the venue instead; the address of the publisher must not be given (BibTeX warns about this and ignores it).
With biblatex, both are synonyms for "where it has been published", which is makes more sense, as you never use both within the same entry – theoretically. However, many @inproceedings entries one finds on the web (ACM, IEEE, ...) contain both, even though this is technically not correct. When you have imported these entries to your personal .bib files and use them with biblatex, the address (of the publisher) sometimes overwrites the location of the venue, resulting in wrong information.