We use cookies for essential functionality and, with your consent, to show personalized ads. See our Privacy Policy.
By the CV-Craftor team · Updated June 21, 2026
Every application you submit through an online portal is read by software before it reaches a person. Applicant Tracking Systems — ATS for short — extract your resume into a structured profile, score it against the job description, and rank it among hundreds of others. Industry surveys put ATS usage above 90% of large employers, and mid-size companies are adopting them quickly. If your file does not parse cleanly, the strongest qualifications in the world will not matter.
The good news: beating the ATS is not about gaming a mystery algorithm. It is about predictable mechanics — how the parser extracts text, how keyword matching works, and which formats break the pipeline. Fix those mechanics and your resume survives to the human stage, the only stage that actually hires you.
This guide covers the whole pipeline: what an ATS does, how parsing works, how to find and place keywords, which formatting kills parsers, and how to verify your work with a free checker like https://cvcraftor.com/ats-resume-checker before you submit.
An ATS is a database with a resume-reading front end. Products like Workday, Greenhouse, Lever, and iCIMS store every application, extract key fields such as name, contact, work history, and skills, and let recruiters search and rank candidates. It is not an intelligent judge of your career: most systems use rule-based parsing and keyword scoring, though a growing number of employers layer AI ranking on top. The practical consequence is that your resume competes in two separate reviews — one machine, one human — and it must survive both. Most candidates lose the first review without ever knowing it.
When you upload a resume, the ATS does four things in sequence: extract raw text from the file, identify section boundaries such as experience and education, map the content into standard fields, and normalize the result (turning 'Jan. 2024' into 2024-01, for example). Every step can lose information. Text inside images, scanned pages, tables, and text boxes usually cannot be extracted at all, so those sections arrive empty. If the system cannot read your job title, it cannot score your experience — silently. That is why the most common cause of unanswered applications is a format problem, not a qualifications problem.
After parsing, the ATS compares your profile against the job description. Traditional systems count exact and near matches of terms and rank candidates by overlap; newer AI-based systems do semantic matching, understanding that 'managing vendors' and 'vendor management' are the same idea. But one thing has not changed: recruiters also search the database manually. They type 'Power BI' or 'ACLS certification' into the search bar and look at whoever surfaces. A resume can pass the initial filter and still vanish from consideration if it lacks the terms the recruiter searches for. Keyword placement is not about fooling software; it is about being findable by the person using it.
Take the job description and do three passes. Pass one: highlight every noun phrase — software, tools, certifications, named methodologies such as Salesforce, SAP, ISO 9001, or Agile. Pass two: split the list into required and preferred; required skills carry more weight in most systems, so they go on your resume first. Pass three: count the words that appear three or more times in the ad — those are almost certainly the ranking terms. Then repeat the process with two or three similar postings for the same role and keep the intersection. If all three ads say 'forecasting,' your resume should say 'forecasting,' not 'predictions.' This method works because it starts from the actual ad text, not from guesses.
Placement matters because parsers read in order and weight some sections more heavily. The summary, the skills section, and the first two bullets of each role carry the most weight in most systems. So mirror the ad's phrasing in your summary, list required tools before preferred ones in the skills block, and echo key terms inside achievement bullets — 'cut warehouse costs 15% through inventory automation,' not 'cut costs.' Repeat each critical term two to three times in natural context, and stop there. More repetition than that looks like stuffing to human readers and adds nothing to the machine score.
Ad phrase: 'managing a $2M annual budget' → Resume: 'Managed a $2M annual budget across 14 supplier contracts.'
Ad phrase: 'experience with ETL pipelines' → Resume: 'Built ETL pipelines in Airflow and dbt, cutting reporting time by 40%.'
Most parsing failures trace back to five layout choices. Tables: the parser reads cell by cell and scrambles the order, so dates land next to employers that are not theirs. Multi-column layouts: the system reads across the page, so sidebar skills get interleaved into experience lines or dropped. Text boxes, headers, and footers: many parsers skip them entirely — the exact places people hide contact details. Graphics, icons, and photos: extracted as nothing or as junk characters. And text embedded in images, such as scanned PDFs or design-tool exports, is not text at all to a parser. The fix is one simple column, no boxes, no graphics, and real selectable text.
DOCX is the safest upload for almost every ATS: it parses reliably and opens anywhere. A text-based PDF, created with 'Save as PDF' from Word or Google Docs, parses nearly as well. Avoid .pages files (the ATS cannot open them), image PDFs (a photo of your resume), design-tool exports that rasterize text, and formats like HTML or ZIP that some portals quietly reject. One 20-second test: open the PDF and select all text. If you cannot copy your own name out of it, the ATS cannot read it either.
Do: Resume_Anna_Kowalski.pdf (saved as PDF from Word)
Do: Resume_Anna_Kowalski.docx
Don't: Anna's CV (1).pages
Don't: scan-of-resume.jpg
Parsers segment your resume by recognizing standard section names: Experience, Work History, Employment, Education, Skills, Summary, Certifications. Creative alternatives — 'Career Journey,' 'My Story,' 'Where I Have Been' — are the most common cause of section-level parse errors, and everything under them lands in a catch-all bucket that scores nothing. Use the plain English names. There is no upside to cleverness here, only downside.
Job descriptions repeat the same idea in five different phrasings, and copying the ad's sentences into your resume to hit phrase matches produces text that reads like it was assembled by a lawyer. Human reviewers notice; recruiters are trained to spot resume-to-ad copy-paste. The smarter approach is to mirror terminology while writing your own sentences. Use the ad's nouns — 'inventory forecasting,' 'stakeholder management,' 'SaaS sales' — inside your own achievement bullets. AI-based ATS already handle synonyms, and the systems that do not are easily satisfied by the ad's key nouns rather than its sentences. Aim for semantic coverage of 80% or more of the ad's hard requirements, never a verbatim transcript.
Every optimization for a parser is a trade-off with the person who reads next. A resume that is forty lines of keyword bullets can score well and still lose, because the human — or the AI summarizer a recruiter uses — will find it incoherent. The balance looks like this: standard structure, real sections, short sentences, and achievement bullets that contain keywords as their natural vocabulary. If a bullet reads 'Experienced in X, Y, Z,' rewrite it as 'Reduced X cost 20% by implementing Y.' Same keywords, real information, readable by both audiences. The resume that wins reads well in both directions, not the one that optimizes hardest for either.
ATS software has no page limit — it reads whatever text it can extract — but length still matters for three reasons. First, some older systems truncate very long documents, silently dropping your earliest content. Second, recruiters skim: a two-page resume for a 20-year career reads differently from a two-page resume padded with filler. Third, and most useful: your most recent role is what gets parsed and scored first, so the newest content should be the most detailed, and everything old should compress to titles and years. The working rule in 2026: one page under five years of experience, two pages from ten years on, and never a third page — edit ruthlessly instead.
A free ATS checker simulates what real systems do: it parses your file, shows the extracted fields, and compares your keyword coverage against a job description. The output is genuinely useful if you interpret it correctly. Check three things: whether the parser extracted your name, contact, and job titles correctly; which sections came through empty or scrambled; and which required keywords from the ad are missing. Fix those three categories, then re-run. What a checker cannot tell you is the exact score a specific employer's system will produce — every vendor weights keywords differently, and some add AI ranking on top. Treat it as a smoke test, not a prophecy. A quick one, like https://cvcraftor.com/ats-resume-checker, takes about a minute per resume and catches the mistakes that cause silent rejections.
The most underused quality check in job hunting is the portal's own preview step: most career sites show you exactly what the system extracted before you confirm. If the preview shows scrambled dates or a missing skills section, fix the file and re-upload. That single habit eliminates most ATS failures permanently. Run this checklist on top of it:
Both, depending on the system. Most traditional ATS rank candidates and let recruiters set a cutoff — which functions as rejection for everyone below the line. Some newer systems auto-disqualify on knockout criteria such as location, work authorization, or required licenses. Either way, the fix is the same: parse cleanly and score well on keywords.
No. Parsers have caught this for years — some strip white text, others read the whole page including footers, and recruiters spot it the moment they open the file. If a system does score the hidden words, you still risk manual disqualification for trying to deceive the process. Put keywords in real content or not at all.
DOCX is the most universally parsed format; a text-based PDF (saved as PDF, not scanned) is nearly as safe. Avoid everything else: .pages, HTML, images, ZIPs. When the job posting specifies a format, follow it — the recruiter's instruction beats any general rule.
Most systems parse it, but it is rarely scored against the job description and rarely affects ranking. Write it for the human who might read it after you pass the filter: short, specific, addressed to the actual role.
Almost always a layout issue. Tables, multi-column layouts, text boxes, or graphics make the parser read content in the wrong order or miss it entirely. Rebuild the resume in a single column with plain section headers, then re-run the check.
For ATS purposes, only the top third needs reworking: summary, skills, and the first bullets of recent roles should mirror the ad's key terms. The rest stays stable. That takes 15 to 20 minutes per application and moves you from 'never surfaces' to 'surfaces.'