Finding Styles

The CSL project maintains the CSL style repository, which contains over 7000 styles, all freely available under a Creative Commons Attribution-ShareAlike (BY-SA) license.

Note that you often don’t need to visit our style repository if you wish to install additional CSL styles. Many products that use CSL offer their own way to find and install CSL styles, so start by reading your product’s documentation. For example, Zotero has the Zotero Style Repository, styles can be installed directly from within the Mendeley desktop client, and Papers comes with all our styles pre-installed.

If you do wish to access our style repository, it is often more conveniently to use the Zotero Style Repository instead. This repository is kept up to date hourly with the styles from our GitHub repository, and has a dedicated interface for browsing styles. You can search by style title or file name, filter by citation format and field of study, preview styles by hovering over their title, and easily download styles by clicking their title.

Tips on using the Zotero Style Repository

Looking for styles in a particular language? All non-English CSL styles have their language appended to the title (e.g., “Soziale Welt (German)” and “InVisu (French)”), so you can easily search by language.

Only interested in styles with distinct citation formats? Check the “Show only unique styles” box, which hides all dependent CSL styles.

Our style repository has a slightly more complicated interface. Styles can only be searched by file name (press “t” to activate GitHub’s File Finder and start typing). To download styles in bulk, click the “Download ZIP” button to download a ZIP file with the contents of the entire repository.

Finally, if you don’t know the name of the citation style you are looking for, or can’t find a style by name, you can search our styles by format, by using our CSL style editor (documentation). Click the “Search by Example” tab, and change one of the example references into the desired format. Clicking “Search” will show the CSL styles that most closely match your desired format. Be aware that the styles on this webpage are not regularly updated.

Using Styles

Once you have found a CSL style, here are some tips to get the best results.

Rich Text

In fields like biology, it is common to have rich text formatting within titles, e.g. “Metabolic engineering of Saccharomyces cerevisiae for C4-dicarboxylic acid production”. While not (yet) officially part of the CSL specification, most CSL-based software products support the following rich text formatting tags:

  • <i> and </i> for italics
  • <b> and </b> for bold
  • <sub> and </sub> for subscript
  • <sup> and </sup> for superscript
  • <span style=”font-variant:small-caps;”> and </span> for smallcaps

So, to obtain the formatted example above, you would store the title above as “Metabolic engineering of <i>Saccharomyces cerevisiae</i> for C<sub>4</sub>-dicarboxylic acid production” in your reference manager.

Sentence and Title Case

While CSL has an option to automatically convert titles to sentence case, we rarely use this rather error-prone feature in our repository styles. For example, most software won’t recognize that the word “Beagle” in the title “The Voyage of the Beagle” is a proper noun, and will incorrectly produce “The voyage of the beagle” when asked to convert the title to sentence case.

Converting sentence case to title case, on the other hand, is much more reliable, so our CSL styles do convert titles to title case if the citation format calls for it. For this reason we recommend that you consistently store titles in sentence case in your reference database.

Preventing Title Casing for Non-English Items

Title casing only happens in English. CSL styles therefore automatically exclude non-English items from title casing. The language of an item is defined by the value of its “language” metadata field. For more details, see Non-English Items in the CSL specification.

Name Disambiguation

CSL styles sometimes generate citations that include authors’ given names or initials, even though the citation format doesn’t seem to call for them, e.g. “(J.T. Kirk, 2002)” instead of just “(Kirk, 2002)”. This is typically the result of name disambiguation: the CSL style is adding the extra name information to distinguish people with the same last name (e.g., James T. Kirk and Tiberius Kirk) .

Name disambiguation can also occur inadvertently when a person’s name is stored multiple times with different spellings in your reference manager. E.g., the software might assume that James T. Kirk, James Kirk, and J. T. Kirk are different persons. To avoid name disambiguation in this case, make sure that each person’s name is spelled consistently throughout your reference library (it is also possible to disable name disambiguation in the CSL style altogether, but then you’ll miss it when you do need it).

Suppress Author

With “author” and “author-date” styles, sometimes you’ll want to use constructions like “as discussed by Doe (2002), … ” instead of “as previously discussed (Doe, 2002)”.

While CSL styles themselves only define the complete citation, i.e. “(Doe, 2002)”, the word processor plugins of Zotero, Mendeley, and Papers all allow you to suppress the author(s) in a citation. This would just leave “(2002)”. In this case you have to write the author’s name by hand.


CSL styles can localize to various languages. Localization affects the grammar, date formats, and translation of terms used in citations and bibliographies.

Most CSL styles in our repository have a fixed locale. E.g., a CSL style for a British journal will always localize to British English. If a style has a fixed non-English locale, the language is indicated in the style title, e.g. “Soziale Welt (German)”.

Styles for multilingual journals, and some of our most popular generic styles, like APA, Chicago Manual of Style, IEEE, MLA, and Vancouver, don’t have a fixed locale. Read the documentation of your software product for details on how to change the localization of these styles.

The extent to which styles can automatically localize depends on multiple factors: styles need to use localized instead of non-localized date formats, use CSL terms instead of hard-coded strings, and the CSL locale files for the desired locales need to be completely and correctly translated (note that styles can overwrite parts of the locale files, if necessary). There are still some limitations in CSL when it comes to automatic localization, the most important being the current inability to have per-item localization (for example, you might wish to cite Japanese items in Japanese, and English items in American English).

Limitations of CSL

CSL currently has a number of limitations. They include:

  • Limited support for so called “trigraph” styles. These styles use labels, like “ddb98″, that are based on the author names and date of publishing, to link the in-text citations to the bibliographic entries. CSL styles cannot customize the label format.
  • No support for so called “composite” styles. With these styles, popular in the field of chemistry, each numbered bibliographic entry can contain more than one reference.
  • Limited support for legal styles. Law professor Frank Bennett, author of the citeproc-js CSL processor, forked the Zotero and CSL projects to create Multilingual Zotero and CSL-m, with greatly improved legal support. We recommend you check it out!
  • Limited support for citing items in multiple languages. Do citations and bibliographic have formatting that depends on the language of the cited items? Again Multilingual Zotero is (for now) the answer.
  • Limited support for journal abbreviations. CSL styles cannot choose the journal abbreviation list to be used.

Editing Styles

There are several tools available for editing CSL styles. We should warn you though, that there is a bit of a learning curve involved. Requirements for citation formatting are often complex, and so is CSL. Therefore, regardless of the tools you use, we strongly recommend that you take a look at some CSL documentation. Beyond the introductory primer, CSL is extensively documented in its specification. The Zotero wiki also has some step-by-step instructions for editing CSL styles.

First, there is the CSL style editor (documentation) by Mendeley. This editor has four main functions:

  • The “Search by Name” tab allows you to search styles by their name.
  • The “Search by Example” tab allows you to search for styles that produce a particular format (or something close to it), by reformatting the citation and bibliographic entry of one of the provided items. This can be useful to find styles that already exist under another name, or to find a closely matching style that you can use as a starting point for editing.
  • The “Visual editor” tab contains the actual style editor, and shows a live preview of the style as you make your edits. Using the editor is still pretty complex, and it is recommended to read up on CSL before attempting major edits.
  • The “Code editor” tab contains a more basic editor that allows you to directly edit the XML code of the style. This tab also has a live preview.

Second, the Zotero desktop clients (Zotero for Firefox and Zotero Standalone) ship with two utilities:

  • The Reference Test pane allows you to edit the XML code of a style. Different from the “Code editor” tab of the Mendeley editor, the Reference Test pane provides a live preview using items selected in the Zotero client.
  • The Preview pane provides previews using items selected in the Zotero client for all installed CSL styles.

Finally, CSL styles can also be edited in any text or XML editor, such as jEdit or Notepad++, but here some basic knowledge of XML (or HTML) is required.

Contributing Styles

If you would like to contribute new styles, or submit changes to existing styles, please see our contribution guidelines. Keep in mind that style submissions are handled by a handful of volunteers. By closely following our guidelines, your styles will be accepted much faster.

Requesting Styles

Custom styles can be requested, but our capacity to create new styles for free is limited. To get preferential treatment (and support our work), you can contact us and offer payment. The cost of a custom-made CSL style is typically $100-300, depending on the amount of work.