How ATS systems actually read your résumé

A practical explainer · about 7 minutes

Most résumés are read twice: first by software, then — if they survive — by a person. The software is an applicant tracking system (ATS), and it does something far less clever than people assume. It doesn't "understand" your career. It extracts text, sorts it into fields, and matches words against a job's requirements. If your résumé confuses that first step, a recruiter may never open it. Here's what's really happening.

What an ATS is for

An ATS is a database for job applications. When a company posts a role on its careers page, the listing, your application, and every other applicant's all live inside the same system — Workday, Greenhouse, Lever, iCIMS, Taleo, and so on. Its job is to store and organize applicants so recruiters can search and filter them. The myth is that it "auto-rejects" most résumés. The reality is more mundane and more fixable: it parses your file into structured data, and the quality of that parse decides whether you show up in the searches recruiters actually run.

Step one: parsing your file into fields

The moment you upload, the ATS tries to split your document into known sections — contact information, work experience, education, skills. Within work experience it looks for repeating patterns: a job title, a company, a date range, then bullet points. It is essentially reverse-engineering a form from your formatting.

This is where good-looking résumés often fail. Designs that help a human — two columns, text inside tables, skills in a sidebar, job titles rendered as graphics — frequently scramble the parse. A two-column layout can be read left-to-right across both columns, gluing your job title to an unrelated line from the other side of the page. When the parser can't find a clean date next to a title, your role may not register as a job at all.

A résumé that looks impressive to you and parses to gibberish for the ATS scores worse than a plain one that parses cleanly. The parser is your first reader. Write for it.

Step two: matching against the job

Once your résumé is text in fields, recruiters search and filter it. They might search for "registered nurse" and "telemetry," or filter to candidates whose skills include "Python" and "Airflow." Some systems also compute a match or "knockout" score against required qualifications the recruiter set up. This is the keyword layer — and it rewards using the same words the job description uses. If the posting says "accounts payable" and your résumé says "AP processing," a literal keyword filter may miss you. (See our guide on choosing keywords that match the job.)

What the parser commonly gets wrong

What actually parses well

Our formatting guide covers each of these choices in detail.

How to test what the ATS sees

There's a quick, free check anyone can do: open your résumé PDF, select all, copy, and paste it into a plain text editor. The result is roughly what a parser receives. If your job titles drift into the wrong place, your skills become a wall of run-together words, or whole sections vanish, the ATS sees the same mess. Fix the formatting until the pasted text reads top-to-bottom in the right order.

Skip the manual test. KissResume reads your résumé the way an ATS does, gives you a parse-and-match score, and points to the exact lines that hurt it — missing keywords, an unreadable layout, a section the parser couldn't find. It rewrites weak bullets using only the facts already in your résumé. Open the app to check yours.

The takeaway

The ATS isn't an adversary with taste; it's a literal-minded clerk. It can't reward a clever design, and it won't punish a plain one. Give it clean structure and the words the job is asking for, and you clear the only bar it sets: showing up, intact, in the search a recruiter runs. Everything after that is a human decision — which is exactly where you want the contest to happen.

← Back to all guides