{"meta":{"title":"The Resume Keyword Gap Report 2026","url":"https://www.22skills.com/research/resume-keyword-gap-2026","dataUrl":"https://www.22skills.com/research/resume-keyword-gap-2026/data.json","publisher":"22 Skills","author":"22 Skills","version":"1.1","datePublished":"2026-09-10","dateModified":"2026-09-10","computedOn":"2026-09-10","window":{"start":"2025-10-05","end":"2026-09-10"},"nextUpdate":"March 2027","license":"https://creativecommons.org/licenses/by/4.0/","citation":"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","notes":"Aggregates only; no resume or job-posting text is included. Percentages are of the stated basis. See the Methodology and Limitations sections of the report."},"sample":{"scans":4040,"scansRounded":"4,000+","withKeywordData":3853,"withTitleCheck":3182,"medianJdWords":376,"medianResumeWords":524},"score":{"median":76,"mean":67,"below50":25.7,"atLeast75":52.8,"bands":[{"label":"0–24","pct":13.3},{"label":"25–49","pct":12.4},{"label":"50–74","pct":21.5},{"label":"75–100","pct":52.8}]},"jobTitle":{"missingPct":42.5,"n":3182},"keywords":{"avgPerPosting":15.2,"avgMissing":6.2,"medianMissing":5,"overallMissRate":40.9},"missRateByPriority":[{"label":"Critical","missRate":31.1,"n":13656},{"label":"Important","missRate":46.6,"n":22989},{"label":"Nice-to-have","missRate":41.1,"n":21779}],"missRateByCategory":[{"label":"Hard skills","missRate":25.1,"n":13638},{"label":"Tools","missRate":32.6,"n":7817},{"label":"Methodologies","missRate":40.2,"n":15047},{"label":"Certifications","missRate":44.2,"n":896},{"label":"Domain language","missRate":53.2,"n":7082}],"placement":{"bySection":[{"label":"Experience","pct":36.8},{"label":"Skills","pct":26.9},{"label":"Summary","pct":11.2},{"label":"Other sections","pct":5},{"label":"Education","pct":1.2},{"label":"Projects","pct":0.6}],"unclassifiedPct":18},"atsReadiness":{"median":83,"mean":70,"below60":19.1,"atLeast80":63.3,"components":[{"label":"Formatting safety","pctOfMax":76.9},{"label":"Section structure","pctOfMax":74.8},{"label":"Contact details and dates","pctOfMax":70.4},{"label":"Content quality","pctOfMax":68.7},{"label":"Keyword placement","pctOfMax":51.2}]},"hygiene":[{"label":"Bullet points without any numbers","pct":46.4,"n":3853},{"label":"Job title of the posting not in the resume","pct":42.5,"n":3182},{"label":"No detectable email address","pct":8.6,"n":3853},{"label":"No detectable Experience section","pct":8,"n":3853},{"label":"Table or column layout detected","pct":3.3,"n":3853}],"scoreByResumeLength":[{"label":"Under 300","share":15.7,"median":71,"atLeast75":48.4},{"label":"300–499","share":31.6,"median":75,"atLeast75":50.6},{"label":"500–699","share":20,"median":74,"atLeast75":49.2},{"label":"700–999","share":15.9,"median":77,"atLeast75":54.3},{"label":"1,000+","share":16.8,"median":82,"atLeast75":65.5}],"mostDemandedSkills":[{"keyword":"Python","postings":507,"missRate":8.1},{"keyword":"SQL","postings":342,"missRate":9.1},{"keyword":"JavaScript","postings":243,"missRate":12.8},{"keyword":"Java","postings":230,"missRate":14.3},{"keyword":"AWS","postings":219,"missRate":33.8},{"keyword":"CI/CD","postings":199,"missRate":15.6},{"keyword":"Agile","postings":192,"missRate":20.8},{"keyword":"Docker","postings":183,"missRate":28.4},{"keyword":"Power BI","postings":174,"missRate":13.2},{"keyword":"Excel","postings":155,"missRate":12.9},{"keyword":"Active Directory","postings":155,"missRate":6.5},{"keyword":"TypeScript","postings":152,"missRate":42.8},{"keyword":"CSS","postings":151,"missRate":7.3},{"keyword":"HTML","postings":150,"missRate":6.7},{"keyword":"Linux","postings":138,"missRate":10.9}],"mostMissedSkills":[{"keyword":"Debugging","postings":55,"missRate":54.5},{"keyword":"Continuous improvement","postings":51,"missRate":51},{"keyword":"ITIL","postings":51,"missRate":49},{"keyword":"Next.js","postings":63,"missRate":46},{"keyword":"Kubernetes","postings":111,"missRate":45.9},{"keyword":"TypeScript","postings":152,"missRate":42.8},{"keyword":"KPI","postings":99,"missRate":37.4},{"keyword":"AWS","postings":219,"missRate":33.8},{"keyword":"Monitoring","postings":50,"missRate":32},{"keyword":"Communication","postings":71,"missRate":31},{"keyword":"Microsoft Office","postings":66,"missRate":30.3},{"keyword":"RESTful APIs","postings":78,"missRate":29.5},{"keyword":"Docker","postings":183,"missRate":28.4},{"keyword":"Tableau","postings":76,"missRate":27.6},{"keyword":"Data analysis","postings":137,"missRate":27}],"leastMissedSkills":[{"keyword":"Git","postings":103,"missRate":5.8},{"keyword":"Active Directory","postings":155,"missRate":6.5},{"keyword":"HTML","postings":150,"missRate":6.7},{"keyword":"CSS","postings":151,"missRate":7.3},{"keyword":"MySQL","postings":112,"missRate":8},{"keyword":"Python","postings":507,"missRate":8.1},{"keyword":"SQL","postings":342,"missRate":9.1},{"keyword":"Linux","postings":138,"missRate":10.9}],"scoreByJobFamily":[{"label":"Healthcare","median":83,"n":130},{"label":"Sales and business development","median":81,"n":105},{"label":"HR and recruiting","median":81,"n":63},{"label":"Design and UX","median":81,"n":47},{"label":"Data and analytics","median":79,"n":365},{"label":"Software engineering","median":75,"n":810},{"label":"Operations and logistics","median":75,"n":84},{"label":"Customer support","median":74,"n":97},{"label":"Marketing and content","median":73,"n":253},{"label":"Admin and office","median":73,"n":294},{"label":"Finance and accounting","median":70,"n":146},{"label":"Project and program management","median":62,"n":148}],"topMissingByFamily":{"Software engineering":["TypeScript","Docker","Kubernetes","AWS","GraphQL"],"Marketing and content":["FMCG","trade marketing","cross-functional collaboration","KPI"],"Project and program management":["dependencies","budgets","automation","SAP"]},"repeatedScans":{"uniqueResumesExact":3285,"uniqueResumesHeader":2601,"uniquePostingsExact":2786,"uniquePairsHeader":3128,"registeredScans":2220,"registeredUsers":673,"anonymousScans":1820,"resumesScannedOnceShare":74.5,"scansPerResume":[{"label":"1","resumes":1939},{"label":"2","resumes":407},{"label":"3–5","resumes":200},{"label":"6–10","resumes":39},{"label":"11+","resumes":16}],"maxScansOfOneResume":40,"pairsScannedMoreThanOnce":615,"robustness":{"bases":[{"key":"all","label":"All scans","n":4040},{"key":"first","label":"First scan per resume-and-posting pair","n":3128},{"key":"last","label":"Last scan per resume-and-posting pair","n":3128}],"rows":[{"metric":"Median keyword match score","unit":"points of 100","all":76,"first":76,"last":79},{"metric":"Resumes scoring below 50","unit":"percent","all":25.7,"first":26.9,"last":25.3},{"metric":"Resumes scoring 75 or higher","unit":"percent","all":52.8,"first":52.6,"last":55.2},{"metric":"Resumes missing the posting’s job title","unit":"percent","all":43.1,"first":45.1,"last":45.4,"nAll":3236,"nFirst":2551,"nLast":2509},{"metric":"Keywords asked for per posting (mean)","unit":"keywords","all":15.2,"first":15.2,"last":15.1},{"metric":"Keywords missing per resume (mean)","unit":"keywords","all":6.2,"first":6.2,"last":6},{"metric":"Critical keywords missing","unit":"percent","all":31.1,"first":30.8,"last":29.6},{"metric":"Hard-skill keywords missing","unit":"percent","all":25.1,"first":24.3,"last":23.8},{"metric":"Domain-language keywords missing","unit":"percent","all":53.2,"first":53.7,"last":52}]}},"changelog":[{"version":"1.1","date":"2026-09-10","changes":["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","date":"2026-09-10","changes":["First publication."]}]}