BibTeX, RIS and CSL explained: the reference formats that actually matter
What BibTeX, RIS and CSL are, how they differ, and which one to reach for when importing, exporting or citing — a plain-language guide for researchers.
If you manage references for long enough, you eventually run into a wall of acronyms — BibTeX, RIS, CSL, and a handful of file extensions that all seem to do the same thing. They do not, quite, and knowing the difference saves you from the two most common reference-management headaches: an import that mangles your data, and a bibliography that will not format the way a journal demands.
This is a plain-language guide to the three formats that matter most, what each is actually for, and how to choose between them.
The one distinction that clears up everything
There are two completely different jobs in the reference world, and most confusion comes from mixing them up:
- Storing and exchanging reference data — the author, title, year, journal, DOI. This is what BibTeX and RIS do. They are containers for bibliographic facts.
- Formatting those facts into a citation style — turning the facts into "Smith, J. (2024)..." in APA, or a numbered footnote in Chicago. This is what CSL does. It is a set of rules, not data.
So BibTeX/RIS answer "what are the references?" and CSL answers "how should they look?" You need both, and they are not interchangeable. Keep that split in mind and the rest falls into place.
BibTeX
BibTeX is the reference format of the LaTeX world. If you write in LaTeX — common in mathematics, physics, computer science and engineering — BibTeX (or its modern cousin BibLaTeX) is almost certainly what your bibliography is built from.
A BibTeX entry is a plain-text record that looks roughly like this: an entry type such as @article, a citation key you use in your document, and a set of fields — author, title, journal, year, and so on. Its strengths:
- Plain text and version-control friendly. A
.bibfile is just text, so it diffs cleanly and lives happily in Git alongside your paper. - Precise and widely supported. Nearly every tool can read and write it.
Its rough edges:
- Author names and special characters need care — accented characters and non-Latin scripts have historically required escaping, though modern BibLaTeX with UTF-8 has eased this.
- Field conventions vary. Different tools populate fields slightly differently, so a
.bibfile from one source may need light cleanup in another.
Reach for BibTeX when your writing lives in LaTeX, or when you want a durable, human-readable, text-based archive of your references.
RIS
RIS is a tagged format designed for interchange between reference managers and databases. If you have ever clicked "Export citation" on a journal or database website and been offered an .ris file, you have met it. Each field sits on its own line with a two-letter tag — TY for type, AU for author, TI for title, PY for year, and so on — ending with an ER marker.
Its strengths:
- Near-universal support among reference managers and databases. It is the lingua franca for moving references between tools.
- Simple, line-based structure that is easy for software to parse reliably.
Its rough edges:
- Less pleasant to read or edit by hand than BibTeX, and not designed to live in a document the way a
.bibfile does. - Tag interpretation varies slightly between vendors, so an occasional field can land in an unexpected place.
Reach for RIS when you are moving references from a database or one reference manager into another. It is the format most likely to "just work" for a cross-tool transfer.
CSL
CSL — the Citation Style Language — is the odd one out, because it does not store references at all. It describes how to format them. A CSL style file is a set of rules that says, for this journal's style: put the year in parentheses, italicise the title, use "and" not an ampersand, sort by author surname, and so on.
The reason CSL matters to you as a researcher:
- Thousands of journal and discipline styles are expressed as CSL, from APA and Chicago to the house style of a specific journal. Pick the style, and your reference data is rendered to match — without you reformatting anything by hand.
- It separates content from presentation. Your references are stored once; switching from APA to Vancouver is a matter of swapping the CSL style, not re-typing every citation.
- CSL-JSON is a related data format — a structured way of representing reference data that CSL processors consume. You will occasionally see it as an import/export option; think of it as the modern, structured sibling to BibTeX and RIS for the CSL ecosystem.
You rarely edit CSL yourself. You choose a CSL style — usually just by picking your target journal or a citation style by name — and the tooling does the formatting.
Which format for which job?
Here is the short decision guide:
- Moving references between reference managers or out of a database → RIS. It is the most broadly understood interchange format.
- Writing in LaTeX, or wanting a plain-text, version-controlled reference archive → BibTeX.
- Choosing how your bibliography looks (APA, Chicago, a specific journal) → CSL. This is a style choice, not a data format, and it sits on top of whichever data format you stored.
Crucially, these are not competitors. A realistic setup uses all three: you store your references (data), you export them in BibTeX or RIS to move them around (interchange), and you apply a CSL style to format the final bibliography (presentation).
The mistake to avoid is treating CSL as an alternative to BibTeX or RIS. It is not — it is the layer that formats whatever data those formats hold.
Working with all three in ScholarThread
ScholarThread supports Zotero, OpenAlex, BibTeX, RIS and CSL, which in practice means you can bring references in from wherever they already live — a Zotero library, a database export, a .bib file — and have your citations rendered in the style your target journal expects. The data formats get your references in; the CSL style gets your bibliography out looking right. Understanding which format does which job is most of the battle; the rest is letting the tool handle the mechanics.