Entity Extractor
Use cases
Extracts named entities using spaCy NLP with selectable models (sm/md/lg for speed vs accuracy tradeoff).
Recognises 11 entity types: PERSON, ORG, GPE, LOC, PRODUCT, EVENT, WORK_OF_ART, LAW, LANGUAGE, NORP, and FAC.
Supports text input, HTML (strips scripts, styles, nav, header, footer, and list/table elements, so list and table content is excluded from analysis), and batch CSV/Excel processing.
Platform
Browser-based (no installation required)
Input
Text, HTML, or CSV/Excel for batch
Output
Entities by type with frequency counts (CSV)
Features
- spaCy NLP with 3 model sizes (en_core_web_sm/md/lg)
- 11 entity types recognised (PERSON, ORG, GPE, LOC, PRODUCT, etc.)
- HTML cleaning strips scripts, styles, nav, header, footer, lists and tables
- Batch processing via CSV/Excel upload with optional ID column
- Text truncation limit (100k chars) for memory efficiency
How to use
- 1 Select spaCy model size based on speed vs accuracy needs
- 2 Paste text/HTML or upload CSV/Excel for batch processing
- 3 Select entity types to extract (filter by PERSON, ORG, etc.)
- 4 Run extraction and review entities grouped by type
- 5 Download full results CSV or aggregated entity counts
Frequently asked questions
- Why are entities from my bullet lists and tables missing?
- When you feed it HTML, the cleaning step removes not just scripts, styles, nav, header and footer but also all ol, ul and table elements, so anything that only appears in a bulleted list or a table never reaches the extractor. If your entities live in list or table content (spec sheets, feature lists), paste the text as plain text instead of HTML.
- Do I need to install anything besides spaCy?
- Yes, the language model itself. Each of the three selectable models must be downloaded separately with python -m spacy download en_core_web_sm (or _md / _lg); the app stops with an error if the selected model is not installed. All three are English models, so non-English content will extract poorly.
- Can it extract dates, prices or quantities?
- No. DATE, TIME, PERCENT, MONEY, QUANTITY, ORDINAL and CARDINAL are deliberately excluded from the selectable entity types, leaving the 11 name-like types (PERSON, ORG, GPE, LOC, PRODUCT, EVENT, WORK_OF_ART, LAW, LANGUAGE, NORP, FAC).
- Is there a size limit per document?
- Each text is truncated to 100,000 characters before processing to keep memory in check, so entities beyond that point in very long pages are not counted. There is no limit on the number of rows in a batch file, but rows are processed one at a time.
- What do the two batch downloads contain?
- The full results file has one row per entity occurrence with its source identifier (the ID column you chose, such as the URL), useful for per-page analysis. The entity counts file aggregates across all sources. The on-screen top entities table is capped at 50 rows, but the downloads are complete.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Extract and visualise named entities using GPT with D3.js circle packing.
Extract n-grams and title keywords from SERP content for content optimisation.
Find duplicate and near-duplicate content using TF-IDF similarity matching.
Extract main text content and H1 headings from URLs.
Analyse content readability from sitemaps or URLs using Flesch scores.
Calculate Return on Ad Spend from revenue and ad costs.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need