Tool for automated subject indexing and classification

Choose a controlled subject vocabulary and train Annif on already indexed documents – it can then suggest subjects for new documents!

How to use Annif

  1. Choose subject vocabulary
  2. Prepare a corpus from training data
  3. Load the vocabulary and train a model
  4. Suggest subjects for new documents

Annif uses a combination of existing natural language processing and machine learning tools including TensorFlow, Omikuji, fastText and Gensim. It is multilingual and can support any subject vocabulary (in SKOS or a simple TSV format). It provides a command-line interface, a simple Web UI and a microservice-style REST API.

Try the demo!

Max # of suggestions

Suggested subjects

  • Ei tuloksia

Get Annif

Code and documentation for Annif is available on GitHub (Apache 2.0 license). Annif can also be installed from PyPI and as a Docker image from Annif is mainly being developed at the National Library of Finland, but others are welcome to join in!

We also provide a demo API for accessing Annif as a REST API service. If you need an API for production systems, check out Finto AI, which is based on Annif.

Learn Annif

To get a hands-on experience of Annif, study the Annif tutorial materials, which include example data sets, exercises and short video presentations:

There is also extensive usage documentation in the wiki on GitHub.

Discuss Annif

The annif-users mailing list and web forum is available on Google Groups. The forum is meant for general discussion about Annif, asking for help, and announcements of new versions. All messages are public and anyone is welcome to join!

Please use the forum instead of sending personal e-mail to the Annif developers.

Current users

Finto AI logo

Finto AI - service for automated subject indexing.

Yle logo

Yle, the Finnish Broadcasting Company, uses Annif to assign tags to online news articles.

DNB logo

The German National Library uses Annif as the core of its automated subject indexing system Erschließungsmaschine (EMa).

KB logo

National Library of Sweden uses Annif for automated classification of scholarly publications.

Kirjavälitys Oy logo

Kirjavälitys Oy generates metadata about upcoming books with Annif.

JYX logo

In Jyväskylä University Digital Repository and in repositories of other institutes (Osuva, Trepo, Theseus, Taju, Lauda) Annif assists the subject indexing of theses and dissertations.

Dissemin logo

Dissemin uses Annif to categorize academic papers uploaded to open repositories.

ZBW logo

ZBW – The Leibniz Information Centre for Economics uses Annif as a part of their automated indexing service AutoSE (read more here).

More users of Annif and/or Finto AI


An article about Annif and Finto AI has been published in 2022 in the peer-reviewed Open Access journal

Annif Analyzer Shootout paper was also published in 2022 in Code4Lib.

The first article about Annif was published in 2019 in LIBER Quarterly.

The software itself is also archived on Zenodo and has a citable DOI. See the README on the Annif GitHub project site for more details including BiBTeX snippets.

Watch the videos

Above is the presentation of Annif and Finto AI at SWIB20.

See also the SWIB18 presentation, MDN Workshop 2020 presentation, and the video of the first prototype of Annif.