The complete guide to getting your resume past an ATS
How applicant tracking systems actually parse a resume, the specific formatting choices that break that parsing, and a full checklist to test your own resume against.
Most job applications now pass through an applicant tracking system before a human ever opens them. The ATS extracts text from your resume, sorts it into fields like name, work history, and skills, and often ranks or filters candidates before a recruiter sees anything. A resume that looks excellent on screen can perform badly here for reasons that have nothing to do with the content, and everything to do with how the file is built.
This is the full picture: how parsing actually works, what breaks it, and how to check your own resume before sending it anywhere.
How an ATS actually reads a file
An ATS does not see a resume the way a human eye does. It extracts the underlying text from the PDF or Word document, in the order that text appears in the file’s internal structure, and tries to classify it into fields. It has no understanding of visual layout: it cannot tell that a box on the left is meant to be read separately from a paragraph on the right. It only knows the order the text was written into the file.
This single fact explains almost every common ATS failure.
The formatting choices that break parsing
Multi-column and sidebar layouts are the single biggest cause of failure. A resume with a skills sidebar next to a main experience column often gets extracted with the two interleaved, line by line, producing text that reads as nonsense: a bullet from your experience section spliced between two unrelated skills.
Tables used for layout cause a related problem. Some parsers read table cells in column order rather than row order, which can scatter a neatly formatted date range or job title across the extracted text in an unpredictable way.
Text inside images or graphics is invisible to a parser entirely. A skills chart rendered as an image, or a name styled inside a logo graphic, does not exist as far as an ATS is concerned. If your name is in a graphic, some systems will fail to identify who submitted the resume at all.
Non-standard section headings cause a quieter failure. Parsers look for expected labels: “Experience,” “Education,” “Skills.” A creatively renamed section, like “My Journey” instead of “Experience,” can get dropped into an unclassified catch-all bucket instead of being read as work history.
Headers and footers are handled inconsistently across different ATS platforms. Critical information like your name or contact details placed inside a document header can be skipped entirely by some parsers, even though it displays fine visually.
Uncommon fonts and heavy styling rarely break extraction outright, but can interfere with fine details like character recognition in older or less capable parsers, particularly with unusual symbols or ligatures.
The test you can run yourself, right now
Open your resume’s exported PDF, select all the text, copy it, and paste it into a plain text editor. Read what comes out.
If the pasted text reads in a sensible order, roughly matching what you see on the page, your resume will likely parse correctly. If it comes out scrambled, with sections out of order or spliced together, missing entirely, or empty, that is exactly what an ATS will also struggle with. This one check takes under a minute and catches the large majority of real parsing problems before you ever submit an application.
A practical checklist
Single column, top to bottom, no sidebars. Standard section headings: Experience, Education, Skills, not creative alternatives. No tables used for layout, though a simple table for something like a certifications list is generally safer than one used to position content side by side. No text embedded inside images, including your name and contact details. Contact information in the main body of the document, not only in a header or footer. A standard, common font. Dates and locations written as plain inline text rather than right-aligned using columns or tables.
Jake’s Resume template follows every one of these rules by design and is worth studying even if you build your resume somewhere other than LaTeX.
Formatting is necessary, not sufficient
Passing ATS parsing gets your resume read correctly. It does not make the content itself compelling. Once the formatting is solid, the actual substance still matters: what to put on a resume, how to phrase experience bullets that carry real results, which skills are worth listing, and how long the whole thing should run. A perfectly parseable resume with vague, unquantified bullets still loses to a well-written one.
Building a resume that starts ATS-safe
Rather than starting from a visually elaborate template and stripping features out until it parses correctly, resumefromgit.com generates a single-column, ATS-safe PDF resume directly from a public GitHub profile, built to follow the rules above from the first draft. It pulls your real repositories and languages into the Projects and Skills sections automatically, so the parsing problem is solved before you start writing, and what is left is the part that actually needs your judgment: the story around the evidence.