Resume Guide
Resume Guide
FREE TOOL
How it works What we check What it handles Questions
Your report
{{ fbLabel }}
Sign in
{{ authInitial }}
{{ authShort }}
{{ authName }}
{{ authEmail }}
My dashboard My resumes My account
Sign out
Build a resume
Free, no account, the check uploads nothing

See your resume
the way a recruiter
and their
software do.

Two separate scores. One says whether screening software can read and file your resume. The other says whether a person skimming a stack of applications finds your title, employer and dates fast enough to keep reading. Every finding names the measurement behind it, and what to change.

Check my resume
See how it reads it
{{ checkTotal }}
checks run
{{ skillRoundComma }}
skills recognised
0
files sent anywhere
Drop your resume here
PDF, Word .docx or plain text, up to 10 MB. Scans are read by recognition in this tab. Nothing is uploaded.
Choose a file
{{ errText }}
OR
Paste the text instead
Check this text
Pasted text has no layout, so the checks about type size, spacing and columns are skipped rather than guessed. Upload the PDF to get those too.
No account, no email. The check runs in this tab and your resume is not uploaded until you choose a Resume Guide feature or open it in the builder, and then only what you chose is sent. We count which features get used (a check, a job ad, a button), never what is in your resume.
The journey
Six steps, all of them
happening in your browser

The check itself never calls a server or a model. Each step is a measurement of the file you gave it, which is why the same resume always produces the same result.

01
You drop the file
The browser reads it with its own file API. There is no request, no queue and nothing to delete afterwards.
02
Glyphs become lines
Every character in a PDF carries a position, size and weight. Those get grouped into lines, lines into columns, columns into sections.
03
The machine read runs
{{ atsTotal }} checks reproduce what applicant tracking software does: extract fields, map headings, follow the reading order, and flag details that should not be on the page.
04
The human read runs
{{ eyeTotalChecks }} more rank every block for visual pull, check the spelling and wording, and walk the path a fast reader takes.
05
You see the evidence
Not just a number. The extracted fields, the plain-text read order, and the measurement behind every single finding.
06
You fix it and re-check
Each finding carries the points it is worth, so the list is already ordered by what to do first.
Inside the read
Your page comes
apart in four layers

A PDF is not a document to a machine, it is a pile of glyphs with coordinates. Each one carries a position, a size and a weight, and everything the checker knows is built back up from those numbers.

PAGE
The file as you exported it: every character with its x, y, size and weight.
LINES
Glyphs grouped by baseline, with the gaps turned back into spaces.
COLUMNS
A sidebar detected from where the lines actually sit, then read in order.
FIELDS
Name, dates, employers and skills, filled the way a parser fills them.
Zinah Zenawi
Zenawi@resumeguide.ai
Seattle, WA
Nov 2024 – Present
excel, sap, sql
GLYPHS
0
LINES
0
COLUMNS
0
FIELDS
0
NAME
Zinah Zenawi
EMAIL
Zenawi@resumeguide.ai
DATES
Nov 2024 – Present
SKILLS
excel, sap, sql
Scanning
Review
73% confident
Operations and supply chain
This is describing duties, not achievements
For that field a reader wants headcount, cost saved and throughput. The software reads it cleanly, scoring 88. A person skimming it scores 66, and that gap is the real problem.
WHAT I WOULD DO, IN THIS ORDER
1
Put a number in 2 more bullets
Aim for roughly half. Headcount and cost saved are what land here.
2
Rewrite the 3 duty-phrase bullets
Swap "responsible for" for the verb underneath it.
Example review. Yours is written from your own file.
The written review
It tells you what it
thinks, in sentences

Not a dial and a shrug. It works out your field from your own words, judges you against what that field expects, explains what the gap between your two scores means, then lists what to change in the order worth doing it.

{{ occCount }} occupation profiles
Reasons, not verdicts
Same input, same review
The machine read
What the software
actually filed about you

Your file does not go to a person first. It goes into a system that strips the design away and tries to fill in fields. We show you those fields, exactly as a parser would leave them, so you can see what a recruiter is searching against.

Fields extracted
Read order shown
Parse rate scored
Extracted fields
parse rate 100
NAME
Zinah Zenawi
EMAIL
Zenawi@resumeguide.ai
PHONE
(206) 000-9397
LOCATION
Seattle, WA
EMPLOYERS
Lighthouse · Resume Guide
DATES
Nov 2024 - Present · Jun 2018 - Oct 2024
Example report. Yours is built from your own file.
Where a first skim lands
the sort, not the read
1
Name
Zinah Zenawi
1.5s
2
Job title
Senior Operations Manager
1.2s
3
Bullet
Cut order processing time 34% across 3 warehouses
0.9s
4
Dates
Nov 2024 - Present
0.6s
Ranked from type size, position, spacing and wording.
The human read
A first skim is a sort,
not a read

A recruiter with a stack of applications looks for four things in order: current title and employer, previous title and employer, dates, education. We rank every block on your page by how much pull it has, then walk them in reading order to see whether those four are found. Every stop explains what earned it.

Read it as a question rather than a score. If the first stops land on your titles and dates, the skim succeeds and the reader stays for minutes, not seconds.

Every check
Every one of them states
the measurement behind it
Contact and reachability
{{ cnt1 }} checks
Whether your email, phone, city and profile link are readable as text rather than drawn as pixels, and whether any of them is stranded in a running header that a system will skip.
Structure
{{ cnt2 }} checks
Headings matched against a hundred known section names, core sections present, sections in a sensible order, whether every character extracts as a real letter, and whether a second column displaces the reading order.
Experience
{{ cnt3 }} checks
Titles that read as job titles, an employer on each, dates on every entry, one date format throughout, every role written to the same shape, newest first.
Keywords
{{ cnt4 }} checks
Skills matched against a {{ skillCountComma }}-term dictionary, the terms a resume in your field usually shows and yours does not, whether acronyms appear in both forms a recruiter might search, whether each skill is evidenced in your bullets, the stuffing rate, duplicated lines.
Skim and impact
{{ cnt5 }} checks
Whether your name and contact details are findable in the first second, whether the newest role sits near the top, whether claims are specific where it is true, a forty-phrase filler list, whether every bullet opens the same way, whether seniority visibly rises, and whether any gap is explained.
Layout and readability
{{ cnt6 }} checks
Bullet lengths, bullets per role, how much of the page is ink, distinct type steps, summary length, anything buried past page one, margins, page count, photos and icons, tables and text boxes, text hidden from the reader, and the fonts the file embeds.
Details to leave off
{{ cnt7 }} checks
Birth date, age, marital status or nationality; a street address; an informal email address; skill bars and percentages; a file name with your name in it; whether a link’s address is readable as text rather than hidden behind a word; the author name stored inside the file.
The words
{{ cnt8 }} checks
Common misspellings and doubled words, a buzzword list, first-person pronouns, passive voice and duty phrasing, tense that holds inside each role, and whether the page opens with your title or an objective.
What it handles
Four formats, {{ langCount }} languages, and the tricks a score would never show you.

A resume arrives as whatever the person had to hand. Each format gives up different facts, so the checker uses what each one offers rather than flattening them all to text and guessing at the rest.

PDF
Carries real geometry, so type size, spacing, margins and column order are measured rather than inferred. It also carries the drawing instructions, which is how hidden text is found.
Word .docx
States its own structure, so tables, text boxes, images, running headers, declared column count and real hyperlinks are facts in the file rather than inferences from the page.
Scans and photos
Read by text recognition running in this tab, with the confidence reported so you know how much to trust it. Worth knowing: a real system does no recognition at all. It receives an empty document.
Pasted text
Works when a file will not. Every check about the writing still applies; the ones that measure the page say they need the original rather than scoring you on nothing.
Written in another language?
Section headings, month names and dates are matched in every one of the {{ langCount }} languages below, so the structural half of the report is sound in all of them. Duty phrasing and pronouns are checked in your own language. Spelling, passive voice and tense need English grammar, so those are skipped and say so rather than guessing.
{{ l.name }}
Text you cannot see
Advice sites still suggest hiding keywords in white type. It does not work, and it is not neutral: the words are plainly visible to anyone who selects the page, and a document that hides text from its reader reads as an attempt to deceive. The checker finds all three tricks and tells you, whether you put them there or the template did.
• White type on a white page
• Type sized to nothing
• Text set to draw invisibly
White type on a dark header band is design, not concealment, and is left alone.
Where a platform changes the answer
These four cover most large-employer hiring, and they fail on different things. A two-column layout is destroyed by the strictest and survives the most capable. So where a finding matters more on one platform than another, it names which, and where the answer is the same everywhere, it does not pretend otherwise.
Oracle Taleo
Workday
iCIMS
SAP SuccessFactors
On the most widely used of them, the biggest cause of rejection is not the resume at all: it is the knockout questions in the application form. The report says so rather than letting you fix the wrong thing.
Take the whole report with you
One button copies it as plain text: every finding with the measurement behind it, the fix, the platforms it affects, and what each one rests on. The checks that were skipped are listed too, marked as left out of the score rather than quietly dropped. The full extraction comes with it, so you can paste the lot to whoever is helping you.
Findings and fixes
What was skipped
The extracted text
What it refuses to do
The refusals are the point.
No invented ATS score
No vendor publishes a score to candidates. Both numbers here are this tool’s own measures, and the report says so above them.
No guessing when it cannot know
A check that cannot measure something returns “not checked” and is left out of the score rather than counted as a failure.
No opinion dressed as fact
Every finding is labelled fact, convention or our judgment, and the report totals the split so you can see how much of it is arguable.
No telling you to lie
Missing skills are reported as an observation, never a shopping list. It asks you for a number it does not have rather than inventing one.
No claim your file is rejected
Software stores, sorts and ranks. Automatic rejection comes from the questions in the application form, not from your resume text.
No wrong field, confidently
When a job title fits two fields equally well, the field check is skipped entirely rather than picking one and advising you from it.
Questions
The ones worth asking
Does anything get uploaded?
No. The file is read by code running inside this browser tab using the standard file API, and the analysis runs in the same tab: the resume itself is never sent to a server, and there is no account. Your scores, your fix-plan ticks and a pasted job ad are kept in this browser only, so a return visit can compare. Two things are different, and both are yours to choose: the Resume Guide buttons (one free rewrite here, and the paid features in your account) send only the text you picked: for the free rewrite, that one line, your job title, any earlier wordings you asked to move on from, and a random id for this browser so the day’s free count survives a reload. “Open it in the builder” carries the file into the builder in this same browser. We count which features get used, never what is in the file.
Is anything guessed or generated?
No. Every finding comes from a fixed rule or a dictionary, so the same resume always produces the same result and every number traces back to a measurement. Skills are matched against a term list, headings against known section names, dates against date patterns, and visual pull from the type sizes and positions inside your file.
Why two scores instead of one?
Because they measure different failures. A resume can parse perfectly and still bore a person, and a beautiful resume can be unreadable to software. A single blended number would hide whichever one is broken.
What can it read?
Upload whichever you actually send employers, but if you have a choice, independent testing found .docx extracting more cleanly than PDF on most major platforms, which is the opposite of what most advice says. Each format also tells us different things. A PDF carries real geometry, so type size, spacing, margins and column order are measured rather than guessed. A .docx states its own structure outright, so tables, images, running headers and real hyperlinks are known facts instead of inferences. A scan or photograph with no text layer is read by recognition running in this tab, with the confidence reported so you know how much to trust it. Section headings, dates and skills are matched in {{ langCount }} languages; the checks that depend on English grammar are skipped rather than guessed, and say so.
What does the parse rate mean?
It is a weighted count of what a parser needs in order to file you correctly: a real text layer, a findable email and phone, your name read first, recognisable headings, an unambiguous reading order, and dates attached to roles. A failed parse usually does not reject you, but a record with blank fields is a weaker record, and a recruiter searching by title will not find a title the system never captured.
Is a good score the same as passing a real system?
It is not a guarantee. Every vendor parses slightly differently, so this models the behaviour they share. Treat a good score as unlikely to break rather than approved.
Two minutes, no account
Find out what is
holding it back.

Then fix it in the builder, where the same two checks run live as you type.

Check my resume
Open the builder
{{ previewText }}
{{ scanFile }}
Scanning
Reading your resume the way a recruiter and a robot would
{{ st.label }}
{{ scanSub }}
{{ privacyLine }}
Nothing to fix on your end yet
{{ failTitle }}
{{ failLead }}
{{ failWhy }}
What usually sorts it
{{ S.n }}
{{ S.text }}
Try another file
Paste the text instead
Pasting works on every resume, whatever the file does. Select all the text in your document, copy it, and drop it in: you keep every check except the ones that measure the page itself.
What did come out
This is the raw extraction, in the order it arrived. It is the same thing an employer’s system receives, so it is worth reading even though no score was produced.
{{ F.field }}
{{ F.text }}
{{ fileName }}
{{ fileMeta }}
MACHINE READ
{{ M1.score }}
{{ M1.grade }}
HUMAN READ
{{ M2.score }}
{{ M2.grade }}
{{ PR.rate }}
Parse rate
{{ PR.line }}
JUMP TO
{{ g.name }}
{{ g.tally }}
RESUME GUIDE CAN DO THIS FOR YOU
Enhance this resume
Every bullet rewritten, the structure fixed · {{ creditWord }}
Tailor it to a job
Rewritten for one job ad, before and after match · free preview, then 1 credit
Write the cover letter
From this resume and the job · $2.99, free with a credit
Check another file
{{ verdictTitle }}
{{ verdictBody }}
FIX THESE FIRST
{{ t.n }}
{{ t.label }}
{{ t.note }}
{{ t.fix }}
+{{ t.gain }}
Fix these with Resume Guide · 1 credit
Fix them myself in the builder, free
Not now
{{ offScoreNote }}
{{ offScoreFreeLabel }}
{{ offerErr }}
{{ langNote }}
Last time ({{ histAgo }}): machine read {{ histPrev }} → now {{ histNow }} ({{ histDelta }}){{ histNote }}
Get it over the line · 1 credit
Not now
Have a job in mind?
Paste the job ad and see how this resume matches it: the skills it asks for, which ones are missing, and whether your title lines up. Same rule as the rest of the page: matched in your browser; the ad is not sent.
{{ jdToggleLabel }}
Match it against this resume
{{ jdHint }}
{{ JD.score }}
{{ JD.title }}
{{ JD.line }}
Change the job ad
{{ pt.value }}%
weight {{ pt.weight }}%
{{ pt.label }}
ADD THESE, IF THEY ARE TRUE OF YOU
{{ ch.text }}
Every named skill in the ad is on your resume.
ALREADY THERE
{{ mt.text }}
{{ JD.titleLine }} {{ JD.eyeLine }}
Tailor it to this job · free preview, then 1 credit
{{ offJdNote }}
Not now
Write the cover letter for this job
$2.99 on its own, free with a resume credit. Your resume and the ad go with you.
Practice the interview for this job
$2.99. It is built from the tailored resume, so it starts with Optimize.
{{ t.label }}
{{ RV.occ }}
{{ RV.occConf }}
{{ RV.headline }}
{{ p.text }}
What I would do, in this order
{{ s.n }}
{{ s.do }}
{{ s.why }}
Try one free rewrite by Resume Guide
Pick one bullet and see what the same writer that powers the paid features does with it. That one line, your job title and a random id for this browser (so the day's free count survives a reload) are sent, used once, and not stored. No account needed.
Pick a bullet
{{ bulletBefore }}
A quick security check, so the free rewrite is not eaten by bots:
{{ bulletBtnLabel }}
{{ bulletHint }}
{{ bulletErr }}
REWRITTEN
{{ bulletOut }}
{{ bulletCopyLabel }}
{{ bulletRemaining }}
{{ offBulletLabel }}
{{ offBulletNote }}
Not now
Rules you can stop following
Five pieces of advice that get repeated everywhere and do not survive contact with how hiring works. None of them is scored here.
{{ m.claim }}
{{ m.verdict }} {{ m.body }}
WHAT THIS CANNOT TELL YOU
{{ l.text }}
What the score rests on
{{ weightLine }}
{{ W.pct }}
{{ W.kind }}
{{ W.pts }} pts
{{ W.note }}
{{ weightNote }}
{{ G.name }}
{{ G.tally }}
{{ G.blurb }}
{{ c.icon }}
{{ c.label }}
{{ c.pts }}
{{ c.note }}
{{ c.fix }}
Affects
{{ AF.name }}
{{ c.basis }}
{{ c.basisWhy }}
WHAT THIS CANNOT TELL YOU
{{ l.text }}
What the software filed
These are the fields a parser would put in its database for you. A recruiter searches these, not your layout. Anything marked in red was not found, which means an empty field in their system.
{{ fd.label }}
{{ fd.value }}
Parse rate, line by line
{{ p.icon }}
{{ p.label }}
weight {{ p.weight }}
{{ p.note }}
How your file lands on each platform
{{ systemsBlurb }}
{{ SY.verdict }}
{{ SY.name }}
{{ SY.note }}
{{ SY.headline }}
{{ SY.detail }}
From
{{ BS.label }}
{{ SY.always }}
Everything the software got
{{ rawBlurb }}
{{ rawCopyLabel }}
{{ copyLabel }}
{{ rs.n }} {{ rs.label }}
{{ ln.n }}
{{ ln.kind }}
{{ ln.text }}
Discarded before analysis
{{ droppedLine }}
{{ DR.why }}
{{ DR.text }}
No score is involved here. Read down the left column: if a job title landed under Bullet, or an employer under Dates, that is the mistake a recruiter's search will inherit.
Where a first skim lands
Ranked from your own layout and wording, then walked in reading order. Tap a stop to see what earned it.
{{ eyeTotal }}
spent across {{ eyeCount }} stops
{{ e.n }}
{{ e.label }}
{{ e.text }}
Why: {{ e.why }}
{{ e.secs }}
{{ B.n }}
{{ B.label }}
{{ B.note }}
What they never reach
{{ m.text }}
Your checklist
{{ CL.progress }}
Clear all
Fifteen items from the guide. Items the scan can judge are pre-marked from your file; the rest are yours to tick. Progress is saved in this browser.
{{ c.text }}
{{ c.auto }} See all checks
Your fix plan
{{ FX.progress }}
{{ FX.blurb }}
Nothing failed and nothing is flagged. There is no plan to make.
{{ r.label }}
+{{ r.gain }}
{{ r.fix }}
Fix it myself · free
{{ r.aiLabel }}
Fix it in the builder
Every finding here maps to something you can change. The builder opens with this resume already in it, on 200 designs, with the same two checks running live as you type.
Open it in the builder
Send feedback
About the free Resume Checker. It goes to the person who builds Resume Guide, with your account email ({{ fbEmail }}) so you can get an answer.
Thank you - it has been sent. If it needs an answer, one comes to your email.
Close
{{ k.label }}
{{ fbBtnLabel }}
Your message, your email, the tool's name and your browser's version are sent. Nothing from your resume is.
{{ fbErr }}