Best NER Models in 2026: spaCy, GLiNER, Transformers, LLMs

Named entity recognition (NER) finds and labels spans of text, such as people, companies, and product codes. This page is for engineers choosing an extraction path for a production workload. It gives you a starting point that you can test against your schema, documents, and operating constraints.

Use spaCy for stable labels and fast pipelines. Choose GLiNER when labels change often, a bi-encoder when a large label inventory can reuse cached embeddings, or a fine-tuned Transformer token classifier when you have labeled examples. Use LLM-based structured extraction when you need a complex record rather than a simple list of spans.

Last reviewed: 2026-08-17. Selection criteria: label stability, label inventory, span versus record output, language, supervised data, latency, normalization, and review cost.

Decision table

NeedBest starting pointWhy
Fast known-label NERspaCyMature pipelines, good ergonomics, fast CPU deployment, and rule integration.
New labels without full trainingGLiNERLabel-conditioned extraction works well when the label set changes. Start with clear type descriptions, not bare names.
Large, reusable label inventoryGLiNER bi-encoderIt can pre-compute and cache label embeddings instead of encoding labels with every document.
Entities plus relations in one passGLiNER-Relex candidateIt jointly extracts entity and relation types. Benchmark it against separate stages on the target relation schema.
Entities plus document fields or classificationGLiNER2Its schema interface combines entity recognition, classification, and structured extraction tasks.
Nested or overlapping entitiesNested-capable decoder, including GLiNER with flat_ner=FalseFlat decoding suppresses overlaps. Test nested spans on annotations that contain the overlap patterns you expect.
Multilingual or multi-script extractionGLiNER-X or XLM-R baselineNo model wins every language. Test each target language and the wording of its type descriptions.
Stable domain labels with representative labeled spansFine-tuned token classifier or spaCy pipelineEstablish a supervised baseline, then compare exact-span F1, latency, and cost on your domain set.
Implicit, cross-sentence, or structured fieldsLLM or hybrid candidateStructured outputs constrain response shape, not extraction correctness. Validate field accuracy on a domain test set.
High-stakes PII or regulated workflowPresidio plus GLiNER2-PII candidateCombine model output with deterministic checks, redaction controls, and review.

Tool classes

ClassStrengthWeaknessGood fit
spaCy NERFast, production-friendly, rule-awareNeeds training or rules for custom labelsKnown labels in high-throughput systems.
GLiNERFlexible labels at inference timeQuality depends on label wording and domain mismatchRapid ontology iteration and long-tail labels.
GLiNER bi-encoderCached label embeddings scale large ontologiesBenefits depend on label reuse and workload shapeReused inventories from dozens to thousands of labels.
GLiNER2Multi-task schema extractionEach task and combined schema still need evaluationEntities, classification, and structured fields.
GLiNER-RelexJoint entity and relation extractionNewer model that needs task-specific comparisonExplicit entity-relation schemas.
Transformer token classifierStrong supervised accuracyRequires labeled spans and retrainingStable domain extraction with enough data.
LLM extractionSchema flexibility and reasoningHigher latency, cost, and nondeterminismComplex records, implicit values, and low-volume workflows.
Rules and dictionariesDeterministic matching behaviorBrittle recallCompliance, IDs, product codes, and post-filters.

How to choose

Start with the entity schema, not the model.

If labels are stable and representative examples are available, fine-tune a token classifier. Compare it on a held-out domain set. It predicts token labels without autoregressive generation. Latency and cost still depend on the model, hardware, batch size, and serving stack.

If labels change weekly, use GLiNER or an LLM extractor while the ontology stabilizes. Write a short type description for each ambiguous label. Recent hard zero-shot NER research finds that descriptions improve generalization and avoid treating label leakage as zero-shot ability. The goal is to learn what the schema should be before spending annotation budget.

If you reuse a large label inventory, evaluate a bi-encoder before a joint label-text encoder. The GLiNER bi-encoder paper reports 61.5 micro-F1 on CrossNER. It also reports up to 130 times higher throughput at 1,024 labels with pre-computed embeddings under its H100 test conditions. Those results identify a scaling behavior. They do not estimate another production workload.

If documents span several languages, benchmark every target language and script. OpenNER 1.0 found no single model best across its 52-language collection. Test both English and localized type descriptions because the label text is part of the model input.

If the output is a structured record rather than spans, use an LLM with structured outputs or a hybrid pipeline. LangExtract is useful when each extraction must map back to its source location. NuExtract is a self-hosted option for multimodal document extraction. Both still need field-level evaluation on the target documents.

Many business extraction tasks are not pure NER. “Find the parties, obligations, effective date, termination clause, and governing law” is document understanding with entity fields.

For PII, use a PII framework such as Presidio as the integration and redaction layer. Treat GLiNER2-PII as a model candidate, not a compliance decision. Measure recall on the sensitive formats, languages, and documents that the system will process.

Production pipeline

A production extraction pipeline often adds stages around the model:

  1. Candidate extraction: spaCy, GLiNER, Transformer model, LLM, rules, or a combination.
  2. Optional normalization or entity linking: map spans to canonical IDs, product codes, users, companies, or ontology entries.
  3. Validation and review: reject impossible labels, enforce schema constraints, deduplicate spans, and route uncertain cases to review.

Normalization turns extracted text into useful product data. Finding the span “Apple” is only the first step. The system must still decide whether it means the company, the fruit, a product family, or a stock ticker, then map it to a stable ID.

Evaluation checklist

Measure more than entity-level F1:

  • exact span F1
  • relaxed span F1
  • label confusion matrix
  • nested entity handling
  • entity normalization accuracy
  • type-description and label-language sensitivity
  • language, script, and document-format slices
  • false positives by label
  • confidence calibration
  • latency and cost per document
  • human correction rate

Keep the test set separate from schema design and threshold tuning. Report the number of documents and entity mentions per label. Use document-level confidence intervals when repeated mentions in one document would otherwise inflate certainty.

Deeper reading

References