Multilanguage AFINN-based sentiment analysis for Node.js


100.0.93 years ago3 years agoMinified + gzip package size for @owsas/sentiment-multilang in KB



Multilanguage AFINN-based sentiment analysis for Node.js

Sentiment is a Node.js module that uses the AFINN-111 wordlist to perform sentiment analysis on arbitrary blocks of input text.

It supports the following languages: English, French, Spanish, German, Dutch and Italian. For languages other than english, it uses a locale transposition of AFINN-111 wordlist. The wordlist can be extended adding words too.

Emojis are also supported:

describe('Emoji', function() {
  test('It should detect the usage of emojis', function () {
    expect(sentiment('Te amo! 😍', 'es').vote).toEqual('positive');


npm install @owsas/sentiment-multilang


// Require the sentiment-multilang module
const { sentiment } = require('@owsas/sentiment-multilang');
// Get the sentiment from a text in a supported language
const result = sentiment('I had the most wonderful stay', 'en');  // result.vote = 'positive'


  • All languages were moved to langs directory in separate .json files
  • Code was moved to Typescript, and users can now see hints in their code
  • Tests were moved to jest
  • Testing with travis



npm t # runs jest

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.