How each template reads
Hiring software reads the text in your PDF, not how it looks. Each time resumezip’s code changes, a test prints every template’s sample resume and reads it back as plain text, the way that software does. Here’s what it checks, and what it finds.
What’s checked
- Letters read as letters
- No “fi” or “fl” joined into one sign, and no blanks for letters, so a search for “certified” finds it.
- Dates stay together
- Each job’s and school’s start and end dates are read on one line.
- Sections in order
- Sections are read in the order they’re printed.
- Contact details first
- Your name, email and phone are read before the first heading.
- Headings on their own line
- Each heading is read on a line of its own, not run into the text beside it.
What it finds
- Jake's5 of 5 checks
- Modern Jake's5 of 5 checks
- Blueprint5 of 5 checks
- Compact5 of 5 checks
- Ian's5 of 5 checks
- Harvard5 of 5 checks
- Margin4 of 5: not Headings
- Swiss5 of 5 checks
- Mono5 of 5 checks
- Accent5 of 5 checks
- Deedy5 of 5 checks
- zero2sudo5 of 5 checks
| Template | Letters | Dates | Order | Contact | Headings |
|---|---|---|---|---|---|
| Jake's | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Modern Jake's | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Blueprint | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Compact | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Ian's | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Harvard | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Margin | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Doesn’t read as typed: see why below |
| Swiss | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Mono | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Accent | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| Deedy | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
| zero2sudo | Reads as typed | Reads as typed | Reads as typed | Reads as typed | Reads as typed |
Where it doesn’t
Margin
Margin puts its headings in the left margin, beside each section’s first line, so plain text reads a heading and that line together. resumezip’s own reader keeps them apart when it opens a PDF, but other software may not.
What the test read
- heading "Summary" shares a line: "Summary Product manager with seven years in travel marketplaces and sales software. I like hard ranking and"
- heading "Experience" shares a line: "Experience Airbnb Mar 2022 - Present"
- heading "Education" shares a line: "Education Northwestern University Sep 2014 - Jun 2018"
- heading "Projects" shares a line: "Projects Tabsplit · React, Firebase · priyaraman.com/tables 2023"
- heading "Skills" shares a line: "Skills Product: Roadmaps, A/B testing, user research, pricing, product specs"
- heading "Leadership" shares a line: "Leadership Women in Product, Bay Area Jan 2021 - Present"
- heading "Volunteer" shares a line: "Volunteer Code Tenderloin Sep 2019 - Mar 2021"
- heading "Awards & Certifications" isn't on a line of its own
What it can’t tell you
These checks show that a template’s words come out of its PDF as they were typed. Every hiring system reads a little differently, so no one can promise how one will read a resume, and we don’t.
The test is open for anyone to read and run: readsCleanly.test.ts on GitHub.