Stanford NLP Group's Python library for tokenization, sentence segmentation, NER, and dependency parsing across 60+ human languages.
explosion/spaCy
Industrial-strength NLP library for Python and Cython, offering tokenization, pretrained pipelines and trained models for tagging, parsing and entity recognition.
- Stars
- 34,033
- Forks
- 4,741
- Open issues
- 254
- Last commit
- 11 days ago
What is it?
spaCy is a library for advanced natural language processing in Python and Cython. It provides tokenization and training support for 70+ languages, along with pretrained pipelines for tasks such as part-of-speech tagging, dependency parsing, named entity recognition, and text classification.
It supports multi-task learning with pretrained transformers such as BERT, and includes a training system along with tools for packaging, deploying and managing models. Custom components can be added to pipelines, and custom models can be built in PyTorch, TensorFlow and other frameworks. Built-in visualizers display syntax and named entities.
spaCy installs via pip or conda on macOS, Linux and Windows, and requires Python 3.7 to below 3.13 on 64-bit systems. It is released under the MIT license.
Key features
- 01Tokenization and training support for 70+ languages
- 02Pretrained pipelines for NER, POS tagging, parsing and text classification
- 03Multi-task learning with pretrained transformers like BERT
- 04Custom components and models in PyTorch or TensorFlow
- 05Built-in visualizers for syntax and named entities
Use cases
- Extracting named entities such as people, organizations and places from documents
- Classifying text in a production pipeline with a trained model
- Building custom NLP components on top of pretrained transformers
- Analyzing syntax and dependencies in linguistic research
In collections
Topics
FAQ
- What is spaCy?
- Industrial-strength NLP library for Python and Cython, offering tokenization, pretrained pipelines and trained models for tagging, parsing and entity recognition. spaCy is a library for advanced natural language processing in Python and Cython. It provides tokenization and training support for 70+ languages, along with pretrained pipelines for tasks such as part-of-speech tagging, dependency parsing, named entity recognition, and text classification.
- Is spaCy free to use? What license does it have?
- spaCy is open source under the MIT license. Check the license terms before using it in commercial products.
- Is spaCy still maintained?
- Actively maintained. The last commit to spaCy was on Oct 27, 2026.
- What can I use spaCy for?
- Extracting named entities such as people, organizations and places from documents Classifying text in a production pipeline with a trained model Building custom NLP components on top of pretrained transformers Analyzing syntax and dependencies in linguistic research
- Where can I get spaCy?
- The source code and installation instructions are on GitHub: https://github.com/explosion/spaCy
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript natural language processing library that tags parts of speech, matches text patterns, and transforms text such as verb tenses and numbers.
A spaCy extension that plugs large language models into structured NLP pipelines for tasks like NER and text classification without training data.
Fast, state-of-the-art tokenization library in Rust with Python and Node.js bindings for NLP and language model pipelines.
Python library for text classification that learns new examples and new classes at runtime, with calibrated confidence and out-of-distribution detection.
A lightweight, type-checked functional deep learning library for composing models and wrapping PyTorch, TensorFlow and MXNet layers.