Use case · 10 minutes

How to format your resume PDF so an ATS can actually read it

Check what the parser sees, match it to the job description, and fix the formatting that gets resumes auto-rejected.

For: Job seekers applying through Workday, Greenhouse, Lever, Taleo, or any online application portal
STEP BY STEP

The workflow

1
See your resume the way the ATS sees it
ATS Resume Check extracts your resume the way an applicant-tracking system would — as plain text — and flags what breaks: multi-column layouts that scramble reading order, text trapped inside images, tables the parser can't follow, and contact details stuck in headers it ignores.
Open ATS Resume Optimizer
2
Match it against the actual job description
Paste the job posting. JD Match compares your resume to it and shows which required skills and keywords are missing, so you can add the ones you genuinely have in the wording the screener expects.
Open Resume ↔ JD Matcher
3
Confirm the final export is clean
Export your fixed resume and run PDF to Text on it. If the plain-text output reads top-to-bottom in the right order with your name, titles, and dates intact, the ATS will parse it correctly too.
Open PDF to Text
WHY IT MATTERS

The case for doing this

Most mid-to-large companies run every applied resume through an applicant-tracking system before a human sees it, and a resume that looks beautiful to you can be unreadable to the parser. The usual culprits are design choices: two-column layouts (the parser reads across columns and scrambles your history), skills shown as graphics or icons (invisible as text), important details in the header or footer (often skipped), and tables for layout (read out of order). The fix isn't to dumb your resume down — it's to keep a single-column, text-based structure with standard section headings, then verify by reading the extracted text. The second half is relevance: ATS screens rank resumes by how well they match the job description's keywords, so a resume that's readable but doesn't reflect the posting's language still ranks low. Check both — parseability and match — and you clear the gate that auto-rejects the majority of applicants before any recruiter opens the file.

COMMON MISTAKES

What to avoid

Two-column 'designer' templates
They look modern but parsers read straight across, interleaving your job titles with your skills. Use a single-column layout for anything submitted through a portal.
Skills or contact info as images/icons
A graphic skills bar or an icon-only phone number is invisible to the ATS. Everything that must be searchable has to be real text.
Keyword-stuffing to game the match
Pasting the whole job description in white text fools nothing modern and reads terribly to the human who gets you next. Add only the keywords you can honestly back up.
TIPS FOR THE BEST RESULTS

What works

Keep two versions
An ATS-clean single-column PDF for portal applications, and a designed version for when you email a human directly or hand one over in person.
Use standard section headings
'Experience', 'Education', 'Skills' — parsers map these reliably. Clever headings like 'Where I've Made Impact' confuse them.
Re-run the match per role
Each posting weights different keywords. A 60-second JD Match per application is the highest-leverage tailoring you can do.
FAQ

Questions about this workflow

It ranks and filters them. A resume the parser can't read, or that misses the role's key requirements, usually never reaches a recruiter — so a clean parse plus a strong keyword match is what gets you seen.

Try the workflow on a real PDF

Free tools run in your browser. No signup, no watermarks.

Start with step 1
Customize