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 Maui, 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 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 preinstalled Annif VM and Docker images, example data sets and exercises for learning about how Annif works.

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

Finto AI - service for automated subject indexing


Dissemin uses Annif to categorize academic papers uploaded to open repositories

More users of Annif and/or Finto AI


An article about Annif has been published in the peer-reviewed Open Access journal 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

The SWIB18 presentation explains the basics of Annif and shows examples of where it is being used.

The video above demonstrates the first prototype of Annif which is no longer being maintained.