1. Copy the text out of your resume file
Open your resume (PDF or Word), select all the text (Ctrl+A / Cmd+A), and copy it (Ctrl+C / Cmd+C). Do not retype it — the whole point is testing what a mechanical extraction produces, not what you meant to write.
2. Paste it here
Paste your resume text above and click Check my resume.
What was found
3. Optional: match it to a job posting
Paste the full text of one job posting. This reads the skills, tools and qualifications the posting leans on and shows which your resume already covers and which it never mentions, most important first. It is a wording check, not a promise of an interview — only add a term if you genuinely have that experience.
Uses the resume text from step 2 and the posting above. Nothing is sent anywhere unless you add an AI key in the wording-changes box below the result.
How your resume covers this posting
Mentioned in the posting, missing from your resume
Already covered
The percentage is this page's own weighted coverage of the terms it could read from the posting (repeated, required and title terms count more; "nice to have" terms count less). It is not an applicant tracking system's score. Plain-word and phrase matching cannot tell that two different words mean the same thing unless it knows the pair.
Suggest wording changes (optional)
Without a key you get, for each missing term, the line of your resume closest to how the posting uses it, and a plain instruction. With your own key from Anthropic, OpenAI, Google Gemini or any OpenAI-compatible endpoint, a model rewrites up to five of your existing lines. Your resume text and the posting are then sent from this browser to the provider you choose, and nowhere else; the key stays in this tab and is not saved. Suggestions are drafts: keep a change only if it is true.
To keep everything on your own computer, run a model locally with Ollama, LM Studio or llama.cpp and pick it below: no key, no cost per use, and the text goes only to your machine. Name a model you have downloaded (for Ollama, ollama list shows them). The local server must allow this page: start Ollama with OLLAMA_ORIGINS=https://duncan-haywood.github.io set, or switch on CORS in LM Studio's server settings. Your browser may ask whether this site may reach devices on your network.
What this does and doesn't check
Steps 1–2 read the text you paste for symptoms that are documented to break ATS text extraction: icon-font characters standing in for bullets, corrupted text, missing standard section headings, missing or buried contact information, missing dates, and signs of a multi-column layout collapsing into one line. Step 3 separately compares your wording with one job posting you paste. It does not check achievement phrasing or grammar — and it cannot see your file's actual visual layout (columns, text boxes, images), only what copied out as text, which is exactly what most parsers see too.
More on the technique: what the ATS copy-paste test is and why it works. Wondering how the keyword match differs from a paid scanner? See how this checker compares to Jobscan. Wondering if you even need a tool for this? See what an eyeball scan of the pasted text usually misses.
Common questions
What is the ATS copy-paste test?
Copy all the text out of your resume file (Ctrl+A, Ctrl+C from the PDF or Word document — never retype it) and look at what comes out. Applicant tracking systems extract resume text the same mechanical way, so a garbled, out-of-order, or incomplete copy is a strong sign the same content will not parse correctly.
Does this tell me whether my resume will pass a specific company's ATS?
No. ATS products differ in how they extract and score text, and this tool has no visibility into any specific employer's system. It reports evidence from the text you pasted — formatting symptoms that are documented to cause parsing problems across most systems — and leaves the decision to you.
Why paste text instead of uploading my resume file?
Uploading a file means a server somewhere reads your resume's contents. Pasting text you already copied keeps everything in your browser — nothing about your resume ever leaves your device — and it doubles as the copy-paste test itself: if the paste comes out garbled, that is the finding.
What if my resume is already text and copies out perfectly?
Then the format check will likely report no findings, which is a good sign for the checks it runs — but format is only half of it. Step 3 compares your wording with a job posting you paste; it still does not judge achievement phrasing or grammar.