PHPackages                             researchgate/converter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. researchgate/converter

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

researchgate/converter
======================

A small library to convert different bibliography formats into each other. Forked from 'geissler/converter'.

1.3.2(2y ago)212.0k—0%1[1 issues](https://github.com/researchgate/converter/issues)MITPHPPHP ^7.4 | ^8.0 | ^8.1 | ^8.2CI passing

Since Feb 27Pushed 1y agoCompare

[ Source](https://github.com/researchgate/converter)[ Packagist](https://packagist.org/packages/researchgate/converter)[ Docs](https://github.com/researchgate/converter)[ RSS](/packages/researchgate-converter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (6)Versions (9)Used By (0)

Converter
---------

[](#converter)

[![ci](https://github.com/researchgate/converter/actions/workflows/ci.yaml/badge.svg)](https://github.com/researchgate/converter/actions/workflows/ci.yaml)

**Forked from [geissler/converter](https://github.com/geissler/converter).** Thank you for your amazing contributions 🙏.

A small library to convert the input data for different literature standards like BibTeX, CSL etc. into each other.

Supported formats:

- [BibTeX](http://en.wikipedia.org/wiki/BibTeX "BibTeX")
- [CSL](http://citationstyles.org/ "CSL")
- [RIS](http://en.wikipedia.org/wiki/RIS_(file_format) "RIS")
- [AMA](https://web.archive.org/web/20200207081150/https://www.bcit.ca/files/library/pdf/bcit-ama_citation_guide.pdf "AMA")
- [ACS](https://web.archive.org/web/20170527202056/https://pubs.acs.org/doi/pdf/10.1021/bk-2006-STYG.ch014 "ACS")

Installation
------------

[](#installation)

### Via [composer](http://getcomposer.org/ "composer")

[](#via-composer)

Just require the `researchgate/converter` package as below:

```
$ composer require researchgate/converter

```

### Other

[](#other)

Make sure you are using a [PSR-4](https://www.php-fig.org/psr/psr-4/) compatible autoloader.

Usage
-----

[](#usage)

To convert from one standard to an other:

```
    // include the composer autoloader
    require __DIR__ . '/vendor/autoload.php';

    use Geissler\Converter\Converter;
    use Geissler\Converter\Standard\RIS\RIS;
    use Geissler\Converter\Standard\BibTeX\BibTeX;
    use Geissler\Converter\Standard\CSL\CSL;

    $converter  =   new Converter();

    // your input RIS data
    $data = 'TY  - JOUR
             TI  - Die Grundlage der allgemeinen Relativitätstheorie
             AU  - Einstein, Albert
             PY  - 1916
             SP  - 769
             EP  - 822
             JO  - Annalen der Physik
             VL  - 49
             ER  - ';

    // convert to bibTeX
    $bibTeX =   $converter->convert(new RIS($data), new BibTeX());

    /**
     * $bibTeX has know the following value:
     *
     * @article{article,
     *      author = {Einstein, Albert},
     *      year = {1916},
     *      pages = {769-822},
     *      title = {Die Grundlage der allgemeinen Relativitätstheorie},
     *      volume = {49}
     * }
     */

     // or convert bibTeX to csl
     $csl   =   $converter->convert(new BibTeX($bibTeX), new CSL());

     /**
      * $csl has know the following value (a UTF-8 encoded json string):
      *
      * [
      *     {
      *         "type":"article",
      *         "author":[{
      *             "family":"Einstein",
      *             "given":"Albert"
      *         }],
      *         "issued":[{
      *             "year":"1916"
      *         }],
      *         "page":"769-822",
      *         "page-first":"769",
      *         "citation-label":"article",
      *         "title":"Die Grundlage der allgemeinen Relativit\u00e4tstheorie"
      *     }
      * ]
      */
```

Adding a standard
-----------------

[](#adding-a-standard)

To implement a new standard is quite simple:

1. Create a copy of the folder **src/Geissler/Converter/Standard/Template**
2. Change the name to the new standard.
3. Rename also the **Template.php** file to the name of the standard
4. Replace every occurence of **Template** in the files **Creator.php**, **Parser.php** and **Template.php** with the name of the new standard.
5. Implement the methods **create** and **retrieve** in **Creator.php**
6. Implement the methods **parse** and **retrieve** in **Parser.php**
7. Don't forget to write your PHPUnit tests and follow the [PSR-12](https://www.php-fig.org/psr/psr-12/) coding standard

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance24

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~224 days

Recently: every ~198 days

Total

7

Last Release

925d ago

PHP version history (4 changes)1.0.0PHP &gt;=5.3.0

1.1.0PHP &gt;=7.3.0

1.2.0PHP ^7.4 | ^8.0 | ^8.1

1.3.0PHP ^7.4 | ^8.0 | ^8.1 | ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/3339a5bc868a2844d31d1f9941062702bb1f6e0324964e8bc5154200bc59af3e?d=identicon)[mdio](/maintainers/mdio)

![](https://www.gravatar.com/avatar/bc721d458daef6acfa87d9a3106f9c615e2aae77348d644af4270693e8c23dad?d=identicon)[grid\_rg](/maintainers/grid_rg)

---

Top Contributors

[![nawarian](https://avatars.githubusercontent.com/u/3905582?v=4)](https://github.com/nawarian "nawarian (22 commits)")[![geissler](https://avatars.githubusercontent.com/u/535572?v=4)](https://github.com/geissler "geissler (10 commits)")[![mdio](https://avatars.githubusercontent.com/u/8616698?v=4)](https://github.com/mdio "mdio (8 commits)")[![edorian](https://avatars.githubusercontent.com/u/247397?v=4)](https://github.com/edorian "edorian (5 commits)")[![edlerd](https://avatars.githubusercontent.com/u/1155472?v=4)](https://github.com/edlerd "edlerd (3 commits)")[![olexiyk](https://avatars.githubusercontent.com/u/1378579?v=4)](https://github.com/olexiyk "olexiyk (3 commits)")[![rg-scheb](https://avatars.githubusercontent.com/u/249925692?v=4)](https://github.com/rg-scheb "rg-scheb (2 commits)")[![stefanhoth](https://avatars.githubusercontent.com/u/45467?v=4)](https://github.com/stefanhoth "stefanhoth (1 commits)")[![BlueM](https://avatars.githubusercontent.com/u/1493457?v=4)](https://github.com/BlueM "BlueM (1 commits)")

---

Tags

BibliographybibtexRIScslendnote

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/researchgate-converter/health.svg)

```
[![Health](https://phpackages.com/badges/researchgate-converter/health.svg)](https://phpackages.com/packages/researchgate-converter)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M65](/packages/sabberworm-php-css-parser)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)[jms/serializer-bundle

Allows you to easily serialize, and deserialize data of any complexity

1.8k89.3M627](/packages/jms-serializer-bundle)[meyfa/php-svg

Read, edit, write, and render SVG files with PHP

54613.9M42](/packages/meyfa-php-svg)[renanbr/bibtex-parser

BibTex Parser provides an API to read .bib files programmatically

39381.9k11](/packages/renanbr-bibtex-parser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
