NLP Compromise

compromise provides natural language processing tools for JavaScript applications.

github.com/spencermountain/compromise
NLP Compromise homepage screenshot

About NLP Compromise

NLP Compromise is a JavaScript natural language processing library that turns text into structured data. It tokenizes words, sentences and punctuation, tags parts of speech, matches grammar patterns, outputs JSON, and rewrites text for verb tense, plurals, negation, numbers and contractions, with plugins such as compromise-speech for syllables. The project describes itself as modest with limited decisions, built from a lexicon of about 14,000 words, and distributed as a ~250kb minified file with smaller one/two/three builds for tokenizing, tagging and phrase tooling.

Key features

  • Tokenize words, sentences and punctuation into JSON structure
  • Tag parts of speech with 83-tag grammar model
  • Convert verb tense, noun plural, and verb negation
  • Expand contractions and normalize implicit phrases like gonna
  • Add or subtract written-out numbers in text
  • Match patterns such as #Adjective and extract places, people
Best for: JavaScript developers who need lightweight text tokenizing, tagging and rewriting in an app.
Good for
  • Runs in browser via script tag or as npm import
  • Tokenizer processes about 1MB of text per second per project
  • Offers separate builds for tokenizing, tagging and phrase tooling
Watch out for
  • Described as modest with limited decisions
  • Uses a lexicon of about 14,000 words
  • The compromise/one build only tokenizes without further analysis

NLP Compromise at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 5, 2026 · Online when checked
Listed
Oct 5, 2026

NLP Compromise alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Developer Tools

Well-known listings from the same topic.

All 423

NLP Compromise FAQ

How do I install compromise?
Run npm install compromise, then import nlp from 'compromise'.
How large is the library?
The project states it is ~250kb minified.
Can it output Penn tags?
Yes, run doc.compute('penn') then doc.json() to derive them.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing