How to write a CV that AI parsers actually read
Practical, no-BS tips to make your CV machine-readable and get better job matches — without sacrificing readability for humans.
Most modern hiring platforms — ours included — read your CV with an AI parser before any human sees it. If the parser misreads your skills, you simply don’t show up for matches you’d be perfect for.
Here’s how to make sure your CV speaks the parser’s language.
1. Use a single-column layout
Two-column “designer” CVs look great in Figma. They confuse parsers. Stick to a clean, single-column layout with clear section headings.
2. Standard section headings
Use the words parsers expect:
- Experience (not “Where I’ve been”)
- Education (not “Schooling”)
- Skills (not “Tech I love”)
- Projects (not “Stuff I built”)
Creative is great in your portfolio. Boring is great in your CV.
3. List skills explicitly
Don’t bury skills in paragraph form. Have a dedicated Skills section with comma-separated terms. List both the specific tool and the broader concept:
Python, Django, REST APIs, PostgreSQL, AWS (S3, Lambda), Docker, CI/CD, system design
4. Quantify outcomes
“Led a team to ship a feature” is a black box. “Led a team of 4 to ship Stripe-integrated billing serving 12K MRR in 6 weeks” is a signal. Numbers convert.
5. Use a real PDF
Export from Word/Google Docs/Notion as a real text-based PDF — not a scan, not an image. If you can’t select text in your CV, neither can the parser.
6. Skip the photo
Photos add zero signal for parsers and introduce bias for humans. Optional in most regions, expected to be excluded in some.
7. Keep it under 2 pages
Recruiters and AI both lose attention after page 2. If you have 15+ years of experience, focus on the last 8 in detail and summarize the rest.
Bonus: customize per role
It feels tedious, but a 5-minute tweak to surface the right keywords for each application can be the difference between a 70% match and a 95% match in our system. Worth it.
Upload your CV to 33careers and we’ll show you exactly which skills the AI extracted — so you can tweak it in real time.