The right balance of performance and accuracy in Node.js — zero dependencies, full TypeScript support, runs in browsers too.
Build amazing applications
Extract named entities and build a visual timeline from any Wikipedia article using winkNLP's date and entity recognition.
View example →
Build a word cloud that understands context — not just raw frequency — using winkNLP's POS tagging and lemmatization.
View example →
Automatically identify and highlight the most important sentences in any document using winkNLP's sentence boundary detection.
View example →Get started in a wink!
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.
// 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] ]
Performance
Full NLP pipeline — tokenization, SBD, sentiment, POS tagging and more. MacBook Pro M4 · Chrome.
On a subset of the WSJ corpus, including tokenization of raw text.
When processing a 350-page book with over 125,000 tokens.
Built ground up with a lean code base that has no external dependencies.
Ranked #3 globally among JavaScript packages for Open Source Security Foundation best practices.
Automated build with comprehensive regression tests requiring >99.5% coverage.
The ecosystem
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.
Get involved
winkNLP is built by a small team and made better by the community. Every star, every issue, and every contribution matters — genuinely.
Stars help others discover the project and signal that winkNLP is worth trusting. It means a lot to a small team.
Star on GitHub →Follow the winkJS organisation on GitHub to stay updated on new releases, packages, and ecosystem developments.
Follow on GitHub →Found a bug? Have a feature request? Open an issue on GitHub — we read every one and respond thoughtfully.
Open an issue →Read our contributing guide. We hold high standards — 100% test coverage, clean code — and value contributors who share that care.
Read the guide →