winkJS winkNLP

Developer friendly
Natural Language Processing

The right balance of performance and accuracy in Node.js — zero dependencies, full TypeScript support, runs in browsers too.

~3M downloads / year
2,750+ dependent projects
#3 OpenSSF globally · JS ecosystem
~100% test coverage

See what's possible
with winkNLP

View all examples →

From install to insight
in minutes.

Install wink-nlp and a language model. The API is intuitive — familiar functions like each and filter, and a chainable document structure that gets you directly what you need.

All NLP tasks run in a single readDoc() call — tokenization, sentence boundary detection, negation handling, sentiment analysis, POS tagging, and named entity recognition.

Read the getting started guide →

Explore live recipes on Observable →

// Install
npm install wink-nlp
npm install wink-eng-lite-web-model

// Load and instantiate
const winkNLP = require('wink-nlp');
const model   = require('wink-eng-lite-web-model');
const nlp     = winkNLP( model );
const its     = nlp.its;
const as      = nlp.as;

// Process text — all NLP tasks in one call
const text = 'Hello World🌎! How are you?';
const doc  = nlp.readDoc( text );

// Extract sentences
doc.sentences().out();
// → [ 'Hello World🌎!', 'How are you?' ]

// Named entities with types
doc.entities().out( its.detail );
// → [ { value: '🌎', type: 'EMOJI' } ]

// Token frequency table
doc.tokens().out( its.type, as.freqTable );
// → [ ['word',5], ['punctuation',2], ['emoji',1] ]

All the NLP you need.
Nothing you don't.

2M+
tokens / second

Full NLP pipeline — tokenization, SBD, sentiment, POS tagging and more. MacBook Pro M4 · Chrome.

94.7%
POS tagging accuracy

On a subset of the WSJ corpus, including tokenization of raw text.

80MB
peak memory

When processing a 350-page book with over 125,000 tokens.

Zero
dependencies

Built ground up with a lean code base that has no external dependencies.

#3
OpenSSF adherence

Ranked #3 globally among JavaScript packages for Open Source Security Foundation best practices.

~100%
test coverage

Automated build with comprehensive regression tests requiring >99.5% coverage.

Part of a larger family.

winkNLP sits alongside a set of utility packages for NLP, machine learning, and statistical analysis — all MIT licensed, all on npm, all built to the same standard.

View all 20+ packages →

Also from winkJS
winkComposer
Composable Streaming Intelligence.
From IIoT streams to actionable insight — in real time. Same engineering discipline, different domain.
Explore winkComposer →

Build with us.
Star us. Follow us.

winkNLP is built by a small team and made better by the community. Every star, every issue, and every contribution matters — genuinely.