Skills taxonomies compared: O*NET, ESCO, Lightcast Open Skills and the vendor stacks
Every skills-based-hiring initiative and every talent intelligence platform stands on a skills taxonomy, and the four big ones disagree about what a skill even is. O*NET, ESCO, Lightcast Open Skills and the proprietary vendor taxonomies compared on size, license, update cadence and fit - plus how raw job postings turn into taxonomy rows in the first place.
Dvir Atias
Founder, JobsPipe
A skills taxonomy is a controlled vocabulary of skills - each with an identifier, a definition and relationships to other skills and to occupations - so that “React.js”, “ReactJS” and “React” resolve to one thing instead of three. Every skills-based-hiring initiative, every talent intelligence platform and every learning-pathway product stands on one, and the major taxonomies disagree about size, scope and what a skill even is. Picking wrong means re-mapping everything later, so here is the landscape.
The four you can actually use
| Taxonomy | Maintainer | Shape | License |
|---|---|---|---|
| O*NET | US Dept. of Labor | Small skill set, deep per-occupation detail | Free, attribution |
| ESCO | European Commission | ~14,000 skills, ~3,000 occupations, 20+ languages | Free |
| Lightcast Open Skills | Lightcast | 30,000+ skills, posting-derived, updated continuously | Free with attribution |
| SFIA | SFIA Foundation | IT competencies with 7 proficiency levels | Free to view; licensed for commercial use |
O*NET treats skills the way an occupational psychologist would: a compact set of cross-cutting abilities (“critical thinking”, “programming”) rated per occupation, plus long per-occupation technology lists. Deep, stable, US-centric, slow-moving - the details are in our O*NET API guide.
ESCO is the European Commission’s multilingual classification, built for cross-border matching: the same skill resolves across EU languages, which nothing else on this list does. If your product touches European job markets or public employment services, ESCO is usually non-negotiable - it is the lingua franca EU institutions expect.
Lightcast Open Skills is the pragmatic modern default, and its origin explains its shape: it is derived from job postings, so it contains what employers actually write - specific tools, frameworks and certifications, at a granularity O*NET and ESCO never reach, added as they appear in the wild rather than at revision time. It is free with attribution, which is uncharacteristically generous and worth taking (we say more about the company in Lightcast alternatives). SFIA is the narrow specialist: IT competencies with defined proficiency levels, used in government and enterprise IT capability frameworks rather than in data pipelines.
The proprietary stacks
LinkedIn maintains its own skills graph (tens of thousands of entries, visible only through LinkedIn products), and vendors like Pearson (through the Faethm acquisition - reference here) and the people-intelligence platforms each maintain internal taxonomies tuned to their models. The pattern to notice: proprietary taxonomies are a moat, not a product. You consume them inside the vendor’s tool and cannot take the mapping with you - which is exactly the lock-in an open taxonomy avoids.
Where taxonomy rows actually come from
Whichever taxonomy you pick, the operational work is the same: raw text in, canonical IDs out. Job postings are the richest input - a posting is an employer stating its skill demand in public - and the pipeline is extraction (finding “Kubernetes” in a paragraph of prose), normalization (folding variants into one entry), and occupation mapping (attaching skills to a SOC code so they join official statistics). The taxonomy is the easy, free part; the input stream is the part that needs infrastructure. A deduplicated, liveness-tracked postings feed is what keeps a skills product reflecting this quarter’s market instead of last year’s - the evaluation criteria are in how to evaluate a job data API.
Feeding a skills pipeline? Pull live postings from 30+ sources through one API - free tier included.
Get a free API keyFrequently Asked Questions
What is a skills taxonomy?
A controlled vocabulary of skills where each skill has an identifier, a definition and relationships to other skills and occupations, so that surface variants like 'React', 'ReactJS' and 'React.js' resolve to one canonical entry. Skills-based hiring programs, talent intelligence platforms and learning-pathway products all depend on one to make skills comparable across resumes, postings and courses.
What are the main skills taxonomies?
Four are openly usable: O*NET from the US Department of Labor (compact skill set, deep per-occupation detail), ESCO from the European Commission (about 3,000 occupations and 14,000 skills, multilingual), Lightcast Open Skills (30,000+ posting-derived skills, free with attribution, updated continuously), and SFIA for IT competencies with proficiency levels. LinkedIn and vendors like Eightfold and Pearson maintain proprietary taxonomies you can only use inside their products.
Which skills taxonomy should I use?
Lightcast Open Skills is the pragmatic default for product work because it is posting-derived - it contains the specific tools and frameworks employers actually write, at a granularity O*NET and ESCO never reach - and it is free with attribution. Use ESCO if you operate in European markets or with EU institutions, O*NET when you need deep occupation-level analysis anchored to US government data, and SFIA for IT capability frameworks.
How do you extract skills from job postings?
A three-step pipeline: extraction (finding skill mentions like 'Kubernetes' in free text, now usually with language models), normalization (folding variants into one taxonomy entry), and occupation mapping (attaching the skills to a SOC or O*NET code so they can join official statistics). The taxonomy itself is free; the operational cost sits in the input stream - a deduplicated, current postings feed - and in keeping the extraction accurate as posting language changes.

