
NLP Compromise
compromise provides natural language processing tools for JavaScript applications.

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
- 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
- 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
- Category
- Development › Developer Tools
- 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
Guides for Developer Tools
NLP Compromise alternatives
Tools and sites you could use instead, ranked by how closely they match.
The Potato project provides a portable tool for annotating data and research materials.
Segment Chinese text with jieba, a Python package for natural language processing.
TextCL provides preprocessing tools for cleaning text data used in natural language processing tasks.
spaCy provides Python natural language processing tools for entity recognition, tagging, parsing, and word vectors.
Python developers can use gensim for topic modeling and related natural language processing tasks.
Python developers can use Dash to build data apps and dashboards without requiring JavaScript.
Popular in Developer Tools
Well-known listings from the same topic.
NLP Compromise FAQ
How do I install compromise?
How large is the library?
Can it output Penn tags?
Tell us and an editor will check it.
Claim the listing and suggest updates yourself. An editor checks every claim first.













