# citation-style-language/styles: the curated CSL style repository for reference managers

> This repository holds the official collection of CSL citation styles used by reference managers and CSL processors. It is a data repository with a Ruby test suite, not a formatting engine, and its version branches exist so downstream tools can pin a stable set of styles.

**citation-style-language/styles** — Official repository for Citation Style Language (CSL) citation styles.

- Repository: https://github.com/citation-style-language/styles
- Website: https://citationstyles.org/
- Stars: 3,900 · Forks: 4,157
- Language: Ruby
- License: not declared
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/citation-style-language-styles

## What citation-style-language/styles actually is

This repository is the official curated collection of Citation Style Language styles. Each style is a separate .csl file at the top level, named after the journal, publisher or style guide it implements: acm-sig-proceedings.csl, administrative-science-quarterly.csl, acta-paediatrica.csl, and so on. The README describes the wider CSL project as having three parts: the schema and specification, curated repositories of styles and locale files, and third-party CSL processors that render formatted citations and bibliographies from those inputs.

That split matters when you evaluate the repository. It contains no rendering code. It does not parse your bibliography, resolve author names, or produce a formatted reference list. A CSL processor does that, consuming a .csl style plus locale data plus item metadata. What this repository supplies is the style half of that equation, at a scale that would be impractical to assemble yourself.

The intended audience is downstream software: the README states the repository is used by dozens of third-party software products. If you maintain a reference manager, a citation picker, a publishing pipeline or a CSL processor, this is the upstream you pull styles from. If you are an individual researcher who just wants one journal's format, you are downstream of a tool that already bundles these styles, and you probably do not need to touch the repository directly.

## How the repository is laid out and how styles move between branches

Everything lives in one flat namespace of .csl files plus a handful of governance and tooling files: CONTRIBUTING.md, STYLE_REQUIREMENTS.md, STYLE_DEVELOPMENT.md, REQUESTING.md, QUALITY_CONTROL.md, REVIEW_GUIDELINES.md, a Gemfile, a Rakefile and an .rspec file. The Ruby tooling is for validating and testing styles, not for rendering them.

The branch model is the part integrators need to understand. The README states that only styles in master are actively maintained, and that master tracks the latest released version of CSL. Styles in master are automatically copied to a branch named after that CSL version, for example v1.0.2 when CSL 1.0.2 is current. When a new CSL version ships, master upgrades and a new version branch is created. Old version branches are kept but typically go dormant: maintenance stops, pull requests are not accepted, and changes to master are not backported.

The version branches are not byte-identical copies. The README lists three differences: the latest version branch only receives updates from master when all tests in master pass; the updated timestamps inside styles are rewritten to match the git modification date of each style in master; and superfluous files present in master, such as style testing files, are removed. The README recommends that downstream integrators obtain styles from the appropriate version branch rather than master. That is a deliberate stability guarantee, and ignoring it means you inherit test failures and test scaffolding you did not ask for.

## Getting the repository and validating a style with the Ruby tooling

There is no package to install in the usual sense. You obtain styles by cloning the repository or fetching the files you need, and the README points to the version branch that matches your CSL version. The repository does ship Ruby tooling for style checks, with dependencies declared in the Gemfile.

The README gives no clone command, so the invocation is yours to choose. The repository URL it names is https://github.com/citation-style-language/styles/, and the version branch it names for CSL 1.0.2 styles is v1.0.2. After a clone you should see the flat list of .csl files at the top level alongside Gemfile, Rakefile, .rspec and the markdown governance documents. The README does not document individual Rake tasks or a bundle command, so treat the Gemfile and Rakefile as the description of what the tooling expects rather than assuming a task name.

If you only need styles and not the test harness, fetch the version branch instead, since the README states that superfluous files such as style testing files are removed there. The README also states that the version branch only receives updates from master when all tests in master pass, and that style timestamps there are rewritten to match the git modification date of each style in master.

For an actual first use, pick a style file and hand it to a CSL processor along with your item metadata. The repository does not document a processor invocation, so that step belongs to whichever third-party processor you already use. What you verify here is narrower: that the .csl file you selected exists in the branch you fetched and that the style ID in its metadata matches what your processor expects.

## Inclusion criteria and the styles you cannot get merged

The README is unusually direct about what the maintainers will and will not accept. Styles should be based on an official style guide, with a link to that guide in online or printed form. They should be of interest to a wider audience, and the stated rule of thumb is that a submitter should not personally know all the individuals who would be interested in the style.

Accepted categories include styles for journals with open, unsolicited submissions and for their publishers, plus styles for published style guides from professional organizations, universities and university departments. Rejected categories include styles for personal use, styles for internal use within small organizations, and styles written solely for use with an internal API. If a submission is declined, the README's advice is to distribute the style yourself.

This is the repository's sharpest limitation and it is a policy choice, not an oversight. A lab that wants a house citation format, or a company that wants its internal report style, is explicitly outside the target. The quality bar is also the submitter's responsibility: the README says the maintainers may assist, but providing a style that meets the standards is ultimately on the person submitting it. The criteria are applied case by case, so there is no mechanical rule that guarantees a yes or a no.

## Version branches versus the deprecated distribution repository

The obvious alternative to pulling from this repository is the older styles-distribution repository, which the README states fulfilled a similar role to the version branches and was deprecated as of November 2020. It no longer receives updates from citation-style-language/styles. Anyone still pointing tooling at it is fetching a frozen set, which is the cleanest example of a wrong-tool case for this project's own history: the alternative exists, and it is stale.

A second comparison is more architectural. A CSL processor is the other half of the pipeline, and it is a different kind of dependency: it is code you install and run, versioned on its own schedule, and it consumes the .csl files this repository publishes. Choosing between the two is not really a choice, since you need both. The real decision is which branch you track. Master gives you the newest styles and the newest CSL version. A version branch gives you the stable location the README recommends for downstream integrators, at the cost of lagging behind master and, for old CSL versions, receiving no maintenance, no pull requests and no backports at all.

## Licensing, attribution and what redistribution requires

Every style in the repository is released under the Creative Commons Attribution-ShareAlike 3.0 Unported license, per the README and the license badge. Two obligations are stated plainly. Any software using these styles must include a clear mention of the CSL project and a link to https://citationstyles.org/. When redistributing styles, the listings of authors and contributors in the style metadata must be kept as is.

For a product that bundles the full style set, the attribution requirement is a visible surface in your UI or documentation, not a comment in a build script. The metadata requirement is more mechanical: if your build strips or rewrites style metadata, you are removing author and contributor listings and that conflicts with the stated terms. The share-alike element also shapes how you can redistribute modified styles. This is a description of what the README says, not legal advice, and the repository's own licence field is not something the README resolves beyond the CC BY-SA 3.0 statement.

On upgrade cost: the release cadence visible in the release list is frequent, with several releases in a single week, which means master moves constantly. That is exactly why the version branches exist. If you track master, you are signing up to absorb that churn and to deal with test failures that block promotion to the version branch.

## Conclusion

Adopt this repository if you are building or maintaining a reference manager, a CSL processor, or a bibliography pipeline that needs a broad set of journal and publisher styles, and pull from the version branch that matches your CSL version rather than master. Do not adopt it if you need a single personal or internal-only style, if you want a formatting engine rather than style data, or if you cannot satisfy the attribution and share-alike terms of CC BY-SA 3.0. Before wiring it in, verify that the version branch you plan to fetch actually contains the style IDs you need, and confirm your redistribution keeps the author and contributor listings in the style metadata intact.

## FAQ

### Is citation-style-language/styles a citation formatter?

No. The repository holds .csl style files and Ruby tooling for testing them. The README describes third-party CSL processors as the separate component that renders formatted citations and bibliographies from CSL styles, locale files and item metadata.

### Which branch should a downstream tool use for citation-style-language/styles?

The README encourages downstream integrators to obtain styles from the version branch matching their CSL version, such as v1.0.2, rather than master. Version branches only receive updates from master when all tests in master pass, and style timestamps are rewritten to match the git modification date in master.

### What licence applies to styles in citation-style-language/styles?

All styles are released under the Creative Commons Attribution-ShareAlike 3.0 Unported license. Software using them must clearly mention the CSL project and link to https://citationstyles.org/, and redistributed styles must keep the author and contributor listings in their metadata unchanged.

### Can I submit a citation style for my own lab or company to citation-style-language/styles?

The README states that styles for personal use or internal use within small organizations are typically not accepted, and neither are styles written solely for an internal API. Accepted submissions include styles for journals with open submissions and for published style guides from organizations and universities.

### What happened to the styles-distribution repository?

The README states that as of November 2020, citation-style-language/styles-distribution was deprecated and no longer receives updates from citation-style-language/styles. It had fulfilled a role similar to the version branches.

## Sources

- [citation-style-language/styles on GitHub](https://github.com/citation-style-language/styles)
- [Issues](https://github.com/citation-style-language/styles/issues)
- [Project website](https://citationstyles.org/)
- [README](https://github.com/citation-style-language/styles/blob/master/README.md)
- [Releases](https://github.com/citation-style-language/styles/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/citation-style-language-styles
