
CRF++
The CRF++ toolkit implements Conditional Random Fields for segmenting and labeling sequential data in natural language processing tasks.

About CRF++
CRF++ is a C++ toolkit for training and applying Conditional Random Fields (CRFs), a statistical method for segmenting and labeling sequential data. The homepage names named entity recognition, information extraction and text chunking as example natural language processing tasks it is designed for.
Training and test files must follow a fixed format. Each token sits on its own line with whitespace-separated columns, the last column holds the correct answer tag, and a blank line separates sentences. The homepage lists a binary package for MS-Windows and source installation through configure and make, which requires a C++ compiler (gcc 3.0 or higher). The most recent release listed on the homepage is version 0.58, released 2013-02-13.
Key features
- Lets users redefine feature sets through feature templates
- Training based on LBFGS, a quasi-Newton optimization algorithm
- Outputs n-best results and marginal probabilities for all candidates
- Supports single-best MIRA training
- Provides Perl, Ruby, Python and Java bindings
- Written in C++ with STL, with a C++ API for applications
- The homepage describes fast training and lower memory use in both training and testing.
- The homepage describes it as free software, released under the GNU LGPL or new BSD license.
- Language bindings are available for Perl, Ruby, Python and Java.
- Training and test files must use a fixed number of columns for all tokens.
- Building from source requires a C++ compiler, with gcc 3.0 or higher listed as the requirement.
- The homepage lists a prebuilt binary package only for MS-Windows.
CRF++ at a glance
- Website
- taku910.github.io/crfpp
- Category
- Development › Developer Tools
- Type
- Online tool
- Pricing
- Not confirmed. Check the site
- Platforms
- Web, Windows
- Open source
- Not stated
- Last checked
- Oct 6, 2026 · Online when checked
- Listed
- Oct 5, 2026
Guides for Developer Tools
CRF++ alternatives
Tools and sites you could use instead, ranked by how closely they match.
TextCL provides preprocessing tools for cleaning text data used in natural language processing tasks.
Segment Chinese text with jieba, a Python package for natural language processing.
Python developers can use gensim for topic modeling and related natural language processing tasks.
Handle tasks such as JSON formatting, text comparison, and regular expression testing with DevToys, a desktop toolkit.
spaCy provides Python natural language processing tools for entity recognition, tagging, parsing, and word vectors.
TextBlob offers Python natural language processing tools, including tagging, noun phrase extraction, and sentiment analysis.
Popular in Developer Tools
Well-known listings from the same topic.
CRF++ FAQ
What input format does CRF++ expect?
What license is CRF++ released under?
Does the author ask users to report their use of the software?
Tell us and an editor will check it.
Claim the listing and suggest updates yourself. An editor checks every claim first.











