$ cv --match-job
Work and moneyRésumé Analyser
Paste the job ad and your résumé side by side and see, before you send it, which terms from the ad are missing — no AI, no upload and no promise of an “ATS score”.
- your résumé never leaves your browser
- no AI
- free, no sign-up
Privacy: both texts stay in your browser. No upload, nothing sent to any AI, nothing stored.
Paste the job ad and your résumé to see the analysis.
What this tool does — and what it does not
There is an entire genre of website promising to “show your ATS score”. It is advertising. An ATS is the company’s recruiting system — Workday, Greenhouse, Gupy, SAP and dozens of others — each with a closed scoring rule that none of them publishes. There is no ATS score computable from the outside.
What does exist, and what actually changes your chance of a reply, is the distance between the job vocabulary and your résumé vocabulary. Both automated and human screening look for literal matches: if the ad asks for “version control with Git” and you only wrote “source management”, the match is lost on both ends. This page shows exactly where that happens.
How to use it in three steps
- Paste the whole ad — requirements, responsibilities and nice-to-haves. The more complete it is, the better the term extraction.
- Paste the text of your résumé. If it is a PDF, open it, select everything and copy. If the text cannot be selected, the file is an image — and that alone is grounds for rejection in any screening.
- Attack the “Missing” column first. Every term there is a competence the job asked for that your text does not name. Rewrite the sentences you already have using the job’s words — do not invent experience you do not have.
The three weights of the score, declared
- 70% — job terms. It weighs most because it is what screening looks for, human or automated.
- 20% — expected sections. Experience, education, skills, languages and courses. A résumé without named sections forces the reader to dig, and nobody digs.
- 10% — format signals. Email, phone, profile link, dates on experiences, at least one result with a number, and length between 200 and 900 words.
The costliest mistake: describing tasks instead of results
“Responsible for customer service” and “cut response time from 8h to 2h, raising satisfaction by 22%” describe the same job. The second one gets hired. That is why the analysis looks for at least one number with a %, a currency symbol or a scale — not because numbers are magic, but because they force the sentence to say what changed because of you.
If the text got too long after rewriting, the character counter helps size each block. And if the photo weighs more than the text, the image compressor fixes it without uploading anything.
Before you send: is the job worth what it promises?
A high match only matters if the job is good. It is worth checking the range before investing time in the process: the tech salary base brings the medians by role, and the net salary calculator converts the advertised gross into what actually lands in your account.
Privacy: a résumé is a personal dossier
Full name, phone, email, the companies you worked for and for how long — pasting that into a tool that ships the text to a third-party server hands over a complete profile with no idea where it ends up. Here nothing is sent: the entire comparison happens in your browser, with no network request, no call to an AI model and no storage. Close the tab and it is gone.
## faq
Frequently asked questions
Does this tool really simulate an ATS?
No, and be sceptical of anyone who claims to. An ATS is the recruiting system the company uses — Workday, Greenhouse, Gupy, SAP and dozens of others — each with a closed, unpublished scoring rule. Nobody outside can reproduce the real score. What can be done honestly is what a recruiter does in the first thirty seconds: compare the job vocabulary with the résumé and check the basics are there. That is exactly what this page does.
How is the match score calculated?
From three components, with declared weights: 70% comes from the job terms that appear in your résumé, 20% from the presence of the expected sections (experience, education, skills, languages, courses) and 10% from format signals (email, phone, profile link, dates, a numeric result and text length). The weights are written down on purpose: a score without an explicit rule is a guess wearing the costume of precision.
Why should I repeat the job wording in my résumé?
Because both automated and human screening look for literal matches. If the ad asks for "version control with Git" and your résumé only says "source management", the match is lost on both ends. This is not about stuffing keywords — it is about describing the same competence with the vocabulary the company used. Only include what you actually know: lying on a résumé surfaces at the first technical question.
Does it understand multi-word terms?
Yes, and that is the part that matters most. It extracts expressions of one to three words — "core web vitals", "data warehouse", "customer service" — respecting punctuation so that different requirements are not glued into one term. And it counts a term as present when its words appear in the résumé even if separated: if the ad asks for "React and TypeScript" and you wrote "React, TypeScript and Next.js", that counts as covered.
Does my PDF résumé work?
The tool works with text, so open the PDF, select everything (Ctrl+A or Cmd+A), copy and paste it here. If the text cannot be selected, your PDF is an image — and that is a serious problem in itself: an image résumé is unreadable to any screening system, and was probably discarded before anyone read it. In that case, rebuild the file by exporting from a text editor.
How many words should a résumé have?
Between 200 and 900 works for most roles — the equivalent of one or two pages. Below 200 the text cannot support any claim; above 900 it becomes a dossier and the last part goes unread. Academic and research CVs are the known exception, because publications count.
Is my résumé sent to a server or an AI?
No. The whole analysis runs in your browser, in JavaScript, with no network request — no upload, no call to any AI model and nothing stored. This matters because a résumé is a document with your full name, phone, email and employment history: pasting it into a tool that ships the text to a third-party server hands over a personal dossier with no idea where it ends up.
## other tools