22 Skills Research · Version 1.1 · September 2026
The Resume Keyword Gap Report 2026
What 4,040 resume-to-job scans reveal about the keywords job postings ask for and resumes leave out.
- Author and publisher
- 22 Skills
- Published
- Last updated
- (version 1.1; figures computed )
- Sample
- 4,040 resume-to-job-posting scans, to
- Licence
- CC BY 4.0
- Data
- All figures as CSV · JSON
- Canonical URL
- https://www.22skills.com/research/resume-keyword-gap-2026
Abstract
We analysed 4,040 resume scans run against real job postings on 22 Skills between October 2025 and September 2026. Each scan extracts the skill keywords a posting asks for and checks which of them appear in the candidate’s resume. Three results stand out. First, 42% of resumes do not contain the job title of the posting they target. Second, a typical posting asks for 15 keywords and the typical resume is missing 6 of them, including 31% of the keywords the posting marks as critical. Third, the gap is concentrated in vocabulary rather than hard skills: only 25% of hard-skill keywords are missing, against 53% of domain-specific terms. Resumes that pass the keyword bar tend to be longer and to place keywords inside the Experience section rather than in a skills list.
Key statistics
- 42% of resumes do not contain the job title of the posting they are applying for (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans; 3,182 scans with a title check).
- A typical job posting asks for 15 keywords and the typical resume is missing 6 of them (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- 31% of the keywords a posting marks as critical are missing from the resume (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- Only 25% of hard-skill keywords are missing from resumes, against 53% of domain-specific terms (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- The median resume matches 76 of 100 keyword points; 26% of resumes score below 50 (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- 37% of matched keywords are found in the Experience section and 27% in a skills list (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- Resumes over 1,000 words have a median keyword match of 82, against 71 for resumes under 300 words (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- 46% of resumes have bullet points without a single number (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- Python is the most demanded skill, appearing in 507 postings; Kubernetes (46%) and TypeScript (43%) are the in-demand skills resumes most often miss (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
- Project and program management resumes have the lowest median keyword match (62); healthcare resumes the highest (83) (22 Skills, Resume Keyword Gap Report 2026, 4,040 scans).
| Measure | Value | Basis |
|---|---|---|
| Resumes missing the posting’s job title | 42% | 3,182 scans with a title check |
| Keywords asked for per posting (mean) | 15.2 | 3,853 scans |
| Keywords missing per resume (mean) | 6.2 | same |
| Critical keywords missing | 31.1% | 13,656 critical keywords |
| Hard-skill keywords missing | 25.1% | 13,638 keywords |
| Domain-language keywords missing | 53.2% | 7,082 keywords |
| Median keyword match score | 76 | 4,040 scans |
| Resumes scoring below 50 | 25.7% | same |
| Resumes with no numbers in bullet points | 46.4% | 3,853 scans |
| Median resume length | 524 words | same |
Contents
1. 42% of resumes do not contain the job title they are applying for
42%
of resumes omit the posting's job title
3,182 scans with a job-title check
The job title is the one keyword every posting contains. It is also the first thing a recruiter’s search and most applicant tracking systems look for. In 42.5% of scans the exact title of the posting, or a close variant, appeared nowhere in the resume. Candidates applying for a “Programme Manager” role describe themselves as a “Delivery Lead”; candidates for “Backend Developer” write “Software Engineer”. The fix costs one line in the summary.
2. Half of resumes match at least three quarters of the keywords, and a quarter match fewer than half
Share of resumes by keyword match score (median 76)
4,040 scans, October 2025 – September 2026
View as table
| Score band | Share of resumes |
|---|---|
| 0–24 | 13.3% |
| 25–49 | 12.4% |
| 50–74 | 21.5% |
| 75–100 | 52.8% |
The median resume matches 76 of 100 keyword points. The distribution is two-humped: 53% of resumes score 75 or higher, while 26% score below 50. The scan data cannot say who is in the low group. One possible explanation, consistent with the patterns in the rest of this report but not established by it, is a single general resume sent to every posting.
3. A typical posting asks for 15 keywords. The typical resume misses 6.
Share of keywords missing from the resume, by how the posting weighs them
Critical keywords are the ones a posting repeats or lists as required
View as table
| Priority | Missing | Keywords checked |
|---|---|---|
| Critical | 31.1% | 13,656 |
| Important | 46.6% | 22,989 |
| Nice-to-have | 41.1% | 21,779 |
Across all scans, 41% of the keywords a posting asks for are absent from the resume. Candidates do prioritise: keywords the posting marks as critical are missed 31% of the time, against 47% for the important-but-not-critical tier. Still, nearly a third of the must-have terms are missing from the average application.
4. The biggest gap is vocabulary, not hard skills
Share of keywords missing from the resume, by keyword type
Hard skills are missed least; domain language is missed most
View as table
| Keyword type | Missing | Keywords checked |
|---|---|---|
| Hard skills | 25.1% | 13,638 |
| Tools | 32.6% | 7,817 |
| Methodologies | 40.2% | 15,047 |
| Certifications | 44.2% | 896 |
| Domain language | 53.2% | 7,082 |
Only 25% of hard-skill keywords such as Python, SQL or Excel are missing. Tools are missed 33% of the time, methodologies 40%, certifications 44%, and domain-specific language such as “FMCG”, “clinical trials” or “trade marketing” 53%. The pattern is consistent across job families. People list what they can do and skip the words that describe the industry they would do it in, which is precisely the language a recruiter searches for.
5. Matched keywords live in the Experience section, not the skills list
Where matched keywords were found in the resume
Share of all matched keywords, by section
A further 18% of matches could not be assigned to a named section.
View as table
| Section | Share of matched keywords |
|---|---|
| Experience | 36.8% |
| Skills | 26.9% |
| Summary | 11.2% |
| Other sections | 5.0% |
| Education | 1.2% |
| Projects | 0.6% |
| Unclassified | 18.0% |
37% of matched keywords sit in the Experience section and 27% in a Skills list. Education contributes 1%. Keyword placement is also the weakest of the five formatting components we score: resumes reach 51% of the available placement points, against 77% for formatting safety. A keyword mentioned once in a skills list is easy to add and easy for a recruiter to discount. The same keyword inside a bullet that describes what was built with it is what both software and humans reward.
6. Longer resumes score higher
Median keyword match score by resume length
Median resume is 524 words; the median posting is 376
Correlation, not causation: a longer resume has more room for the posting's terms. It also reflects more experience.
View as table
| Resume length (words) | Share of resumes | Median score | Scoring 75+ |
|---|---|---|---|
| Under 300 | 15.7% | 71 | 48.4% |
| 300–499 | 31.6% | 75 | 50.6% |
| 500–699 | 20.0% | 74 | 49.2% |
| 700–999 | 15.9% | 77 | 54.3% |
| 1,000+ | 16.8% | 82 | 65.5% |
Resumes under 300 words have a median score of 71; resumes over 1,000 words reach 82, and 66% of them score 75 or higher against 48% of the shortest group. This is not an argument for padding. Nearly half of all resumes fall between 300 and 700 words, where the score barely moves. The gain appears when a resume has enough detail to describe work in the posting’s own terms.
7. Python is the most demanded skill. Kubernetes and TypeScript are the most missed.
The 15 skills that appear in the most job postings
Number of postings asking for the skill, with the share of resumes missing it
View as table
| Skill | Postings | Resumes missing it |
|---|---|---|
| Python | 507 | 8.1% |
| SQL | 342 | 9.1% |
| JavaScript | 243 | 12.8% |
| Java | 230 | 14.3% |
| AWS | 219 | 33.8% |
| CI/CD | 199 | 15.6% |
| Agile | 192 | 20.8% |
| Docker | 183 | 28.4% |
| Power BI | 174 | 13.2% |
| Excel | 155 | 12.9% |
| Active Directory | 155 | 6.5% |
| TypeScript | 152 | 42.8% |
| CSS | 151 | 7.3% |
| HTML | 150 | 6.7% |
| Linux | 138 | 10.9% |
In-demand skills resumes most often leave out
Skills asked for in 50 or more postings, ranked by the share of resumes missing them
View as table
| Skill | Resumes missing it | Postings |
|---|---|---|
| Debugging | 54.5% | 55 |
| Continuous improvement | 51.0% | 51 |
| ITIL | 49.0% | 51 |
| Next.js | 46.0% | 63 |
| Kubernetes | 45.9% | 111 |
| TypeScript | 42.8% | 152 |
| KPI | 37.4% | 99 |
| AWS | 33.8% | 219 |
| Monitoring | 32.0% | 50 |
| Communication | 31.0% | 71 |
| Microsoft Office | 30.3% | 66 |
| RESTful APIs | 29.5% | 78 |
| Docker | 28.4% | 183 |
| Tableau | 27.6% | 76 |
| Data analysis | 27.0% | 137 |
In-demand skills resumes almost never miss
Skills asked for in 100 or more postings with the lowest miss rate
View as table
| Skill | Resumes missing it | Postings |
|---|---|---|
| Git | 5.8% | 103 |
| Active Directory | 6.5% | 155 |
| HTML | 6.7% | 150 |
| CSS | 7.3% | 151 |
| MySQL | 8.0% | 112 |
| Python | 8.1% | 507 |
| SQL | 9.1% | 342 |
| Linux | 10.9% | 138 |
Python appears in 507 postings, more than any other skill, and is missing from only 8% of the resumes that target them. The skills candidates leave out are the operational ones: Kubernetes is missing from 46% of resumes targeting postings that ask for it, TypeScript 43%, AWS 34%, Docker 28%. Foundational languages and tools such as Git, HTML, CSS and SQL are almost never missed. One possible explanation is that candidates list what they learned and leave out what they now use every day; the scan data cannot confirm it.
8. Project managers score lowest. Healthcare, sales and HR score highest.
Median keyword match score by job family
Families with at least 40 scans; job family taken from the posting's title
View as table
| Job family | Median score | Scans |
|---|---|---|
| Healthcare | 83 | 130 |
| Sales and business development | 81 | 105 |
| HR and recruiting | 81 | 63 |
| Design and UX | 81 | 47 |
| Data and analytics | 79 | 365 |
| Software engineering | 75 | 810 |
| Operations and logistics | 75 | 84 |
| Customer support | 74 | 97 |
| Marketing and content | 73 | 253 |
| Admin and office | 73 | 294 |
| Finance and accounting | 70 | 146 |
| Project and program management | 62 | 148 |
Healthcare resumes match best with a median of 83; project and program management resumes match worst at 62. Project postings are dense with role-specific nouns such as dependencies, budgets, automation, which candidates describe in their own words instead. Software engineering, the largest family with 810 scans, sits at 75; its most-missed terms are TypeScript, Docker, Kubernetes, AWS. Marketing resumes most often miss FMCG, trade marketing, cross-functional collaboration.
9. Nearly half of resumes have no numbers in their bullet points
Share of resumes with each formatting or content gap
Detected automatically during the scan
The job-title row uses the 3,182 scans where a title check ran (the same basis as finding 1); the other rows use the 3,853 scans with full keyword data.
View as table
| Gap | Share of resumes | Basis |
|---|---|---|
| Bullet points without any numbers | 46.4% | 3,853 scans |
| Job title of the posting not in the resume | 42.5% | 3,182 scans |
| No detectable email address | 8.6% | 3,853 scans |
| No detectable Experience section | 8.0% | 3,853 scans |
| Table or column layout detected | 3.3% | 3,853 scans |
46% of resumes contain bullet points with no figure in them: no team size, budget, percentage or count. 8.6% have no detectable email address and 8% no recognisable Experience section, usually because of an unconventional heading or a two-column layout. Only 3.3% use tables or columns, the layout most likely to be misread by older parsers. On formatting, then, most resumes are already safe. The remaining gap is content.
See where your own resume stands
Paste a job posting and your resume to get the same keyword gap analysis these figures are built from. Free, no account needed for the first scan.
Scan my resumeMethodology
Sample. 4,040 scans run on 22 Skills between 2025-10-05 and 2026-09-10, by both registered and anonymous users. Each scan pairs one resume with one job posting supplied by the user. 3,853 scans include full keyword data; 3,182 include a job-title check. Where a figure uses a subset, the subset size is stated.
Keyword extraction. For each posting, the scan extracts the skill, tool, methodology, certification and domain terms it asks for, and assigns each a priority of critical, important or nice-to-have based on how the posting emphasises it. A keyword counts as present when it, or a recognised synonym or spelling variant, appears in the resume. Matching is case-insensitive and tolerates minor spelling differences.
Scores. The keyword match score weighs overall keyword coverage, coverage of critical keywords, and coverage across keyword types. The ATS readiness score is a separate check of formatting safety, section structure, contact details and dates, content quality and keyword placement. Both are 22 Skills’ own models.
Cleaning. Keyword-level tables exclude extraction fragments and generic words, and only count categorised skill terms. Job families were assigned from the posting’s title with a fixed rule set; families with fewer than 40 scans are not shown.
Repeated scans. The unit of analysis is a scan, and the same resume or posting can appear more than once: a person may scan, edit and scan again. The 4,040 scans contain 3,285 distinct resume texts and 2,786 distinct postings. Because an edited resume is a new text, we also key resumes by their first 200 characters, the contact block, which survives edits: on that basis there are 2,601 distinct resumes and 3,128 distinct resume-and-posting pairs. 74.5% of resumes were scanned once, 407 twice and 255 three or more times (the most for one resume: 40). 615 pairs were scanned more than once. Registered accounts made 2,220 of the scans from 673 accounts; the other 1,820 scans were anonymous and carry no identifier, so unique people cannot be counted. The figures in this report are not deduplicated. To check whether repeats move the results, we recomputed the headline figures keeping only the first scan of each resume-and-posting pair and, separately, only the last. Every measure moves by three points or less, and the job-title gap is slightly larger after deduplication.
| Measure | All scans | First scan per resume-and-posting pair | Last scan per resume-and-posting pair |
|---|---|---|---|
| Median keyword match score | 76 | 76 | 79 |
| Resumes scoring below 50 | 25.7% | 26.9% | 25.3% |
| Resumes scoring 75 or higher | 52.8% | 52.6% | 55.2% |
| Resumes missing the posting’s job title | 43.1% | 45.1% | 45.4% |
| Keywords asked for per posting (mean) | 15.2 | 15.2 | 15.1 |
| Keywords missing per resume (mean) | 6.2 | 6.2 | 6 |
| Critical keywords missing | 31.1% | 30.8% | 29.6% |
| Hard-skill keywords missing | 25.1% | 24.3% | 23.8% |
| Domain-language keywords missing | 53.2% | 53.7% | 52.0% |
Privacy. All figures are aggregates computed by query. No resume or job-posting text was read by a person or is published here.
Limitations
- The sample is self-selected: people who chose to check a resume against a posting with a free tool. It over-represents technology roles and under-represents candidates who do not tailor at all.
- Keyword extraction and scoring are 22 Skills’ own models, not the behaviour of any named applicant tracking system. Different systems weigh keywords differently.
- The length finding is a correlation. Longer resumes have more room for a posting’s terms and usually belong to more experienced candidates.
- Job families are inferred from posting titles, so unusual titles land in an “other” group that is not shown.
- Repeat scans of the same resume or posting are included. Anonymous scans carry no identifier, so the number of unique people is unknown. Deduplicated figures move by three points or less (see Methodology, repeated scans).
Frequently asked questions
- What percentage of resumes do not include the job title?
- 42% of resumes do not contain the job title of the posting they are matched against, based on 3,182 scans analysed by 22 Skills between October 2025 and September 2026.
- How many keywords does a job posting typically ask for?
- A typical posting asks for about 15 skill keywords, and the typical resume is missing 6 of them.
- Which resume keywords are missed most often?
- Domain-specific language is missed most (53%), followed by certifications (44%) and methodologies (40%); hard skills are missed least (25%). Among in-demand technical skills, Kubernetes, TypeScript, AWS and Docker are the ones most often left out.
- Does resume length affect ATS keyword match?
- In this sample, yes: resumes over 1,000 words have a median keyword match of 82, against 71 for resumes under 300 words. The relationship is a correlation; longer resumes have more room for a posting’s terms and usually belong to more experienced candidates.
- Where in a resume should keywords go?
- 37% of matched keywords sit in the Experience section and 27% in a skills list. Keyword placement is the weakest formatting component in the sample, so a keyword inside a bullet that describes real work carries more weight than the same word in a list.
- What is the average ATS keyword match score?
- The median keyword match score across 4,040 scans is 76 of 100; 53% of resumes score 75 or higher and 26% score below 50.
How to cite
This report and its charts may be quoted and reproduced under a CC BY 4.0 licence with attribution and a link to this page.
22 Skills (2026). The Resume Keyword Gap Report 2026: What 4,040 resume-to-job scans reveal about the keywords job postings ask for and resumes leave out. Version 1.1. https://www.22skills.com/research/resume-keyword-gap-2026
BibTeX
@techreport{22skills2026keywordgap,
title = {The Resume Keyword Gap Report 2026: What 4,040 resume-to-job scans reveal about the keywords job postings ask for and resumes leave out},
author = {{22 Skills}},
institution = {22 Skills},
year = {2026},
month = {9},
version = {1.1},
url = {https://www.22skills.com/research/resume-keyword-gap-2026},
note = {4,040 scans, 2025-10-05 to 2026-09-10. CC BY 4.0.}
}Data
Every published figure is available as a downloadable table. The CSV has one row per figure with the columns table, label, metric, value, unit and n, and opens directly in Excel, Google Sheets, R or pandas: /research/resume-keyword-gap-2026/data.csv. The same figures are available as structured JSON: /research/resume-keyword-gap-2026/data.json. Both include the publication and modification dates, sample sizes and the citation string.
Charts as images
Every chart is available as a PNG with the source line embedded, for articles, slides and social posts: score distribution, miss rate by priority, miss rate by keyword type, where keywords sit, length and score, most demanded skills, most missed skills, least missed skills, score by job family, formatting gaps.
Quotable sentences
- 42% of resumes do not contain the job title of the posting they are applying for (22 Skills, 4,040 scans, 2026).
- A typical job posting asks for 15 keywords; the typical resume is missing 6 of them.
- Only 25% of hard-skill keywords are missing from resumes, against 53% of domain-specific terms.
- 46% of resumes have bullet points without a single number.
- Resumes over 1,000 words have a median keyword match of 82, against 71 for resumes under 300 words.
Changes
- Version 1.1 ·
- Formatting table: the job-title row now uses the same basis as finding 1 (42.5% of 3,182 scans with a title check). Version 1.0 showed 35.1%, the same missing count divided by all 3,853 scans with keyword data, which counted scans without a title check as having the title.
- Methodology: added a repeated-scans section with unique resume, posting and pair counts, and headline figures recomputed on first-scan and last-scan bases.
- Wording: "ATS scans" replaced with "resume-to-job scans" in the subtitle, description and citation; finding 4 retitled "The biggest gap is vocabulary, not hard skills"; two explanatory sentences in findings 2 and 7 labelled as hypotheses.
- Data: figures published as JSON and CSV; citation and Dublin Core metadata added.
- Version 1.0 ·
- First publication.
Version 1.1, published , last updated . Figures computed on . Next scheduled update: March 2027. Aggregated data tables are available on request via the press page.