ATS Resume
How to build a resume that passes the bots and convinces the recruiter.
Over 90% of large companies use ATS (Applicant Tracking System) software to filter candidates before a human ever sees a resume. A visually beautiful resume can be eliminated before the first read — if it's not formatted to be parsed by a machine. This guide shows you how to structure a resume that passes ATS and still impresses the recruiter.
ATS Rules: what the bot needs to see
Follow these rules and your resume will be parsed correctly. Break any one of them and you may be eliminated before a human ever sees you.
Single-column layout
ATS bots read top-to-bottom, left-to-right. Double columns confuse the parser and cause the system to lose information.
No tables, boxes, or graphics
HTML tables and visual elements are ignored or parsed as garbage by ATS. Skill progress bars are useless — the bot doesn't understand "80%".
Standard, readable fonts
Arial, Calibri, Times New Roman. Creative fonts may not render correctly across all systems.
Conventional section names
ATS looks for specific words to identify sections. Creative section titles may cause the system to fail to recognize the section.
Job description keywords in your text
Copy exact keywords from the job description and include them in your resume. If the posting says "React.js", write "React.js" — not just "React".
PDF or DOCX format
PDF preserves formatting. DOCX is accepted by most ATS systems. Avoid PNG, JPG, or exotic formats.
Required and optional sections
Contact Information
Name, email, phone, LinkedIn, GitHub, city. No photo, SSN, or date of birth.
Professional Summary
2-3 sentences with your role, main technology, and the type of impact you deliver. Customize for each application.
Technical Skills
List of technologies as flowing text. Group by category: Languages, Frameworks, Databases, Tools.
Professional Experience
Title, company, dates, result bullets. Reverse chronological order (most recent first).
Projects
Include if you have limited experience or high-impact projects. A GitHub link is a strong differentiator.
Education
Degree, institution, graduation year. No GPA unless you're a recent graduate.
Certifications
Certifications relevant to the role. AWS, Google Cloud, recognized industry courses.
Write bullets that prove impact
Every experience line should answer: what you did, how you did it, and what the measurable result was. Avoid vague verbs like "participated in", "helped with", or "worked on".
Worked with React to develop features.
Built a search system with React and Elasticsearch that reduced result time by 60%.
Participated in application performance improvements.
Optimized frontend bundle from 4.2 MB to 1.1 MB, improving LCP by 45%.
Was responsible for the project API.
Designed and implemented a REST API with Node.js and PostgreSQL handling 2k req/s with p99 < 80ms.
Ready-to-use template
Download the HTML template, open it in your browser and print as PDF (File → Print → Save as PDF). All sections are already structured in the correct ATS format.
resume-ats-en.html
Open in browser → File → Print → Save as PDF
Final checklist before sending
- The layout is single-column — no two columns, no sidebar
- Section names are conventional (Experience, Skills, Education)
- Every experience bullet starts with an action verb and has a number
- I included the exact keywords from the job description in my resume text
- There are no tables, images, icons, or progress bars
- The professional summary is customized for this specific role
- The file is in PDF format (or DOCX if the system requires it)
- The file name is: FirstName-LastName-Resume.pdf