How ATS systems actually read your résumé
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
- Headers and footers. Several parsers ignore content in the document's header/footer region. Put your name, phone, and email in the body of the page, not in a true header.
- Tables and text boxes. Content inside table cells or floating text boxes can be dropped or reordered. Use normal paragraphs and bullet lists.
- Columns. Multi-column layouts are the single most common cause of mangled parses. A single column is safest.
- Graphics and icons. A skill rendered as a progress bar, or a job title baked into an image, is invisible. The ATS reads text, not pictures.
- Unusual section names. "Where I've made an impact" is charming but unrecognized. Use standard headings: Experience, Education, Skills.
- Dates without months, or in odd formats. "Spring 2023" may not parse as a date. Use "Mar 2023 – Present" or "2021 – 2023."
What actually parses well
- A single-column layout with clear, standard section headings.
- Each job written as: Title, then Company, then a date range, then bullet points — in that consistent order.
- Real text for everything that matters, including your contact details and skills.
- A common, embeddable font (Arial, Calibri, Georgia) at a readable size.
- A .docx or a text-based PDF (one exported from a word processor, not a scan or an image). When a posting names a format, follow it.
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.