A resume has your name, phone number, address and work history. Most "free ATS checkers" ask you to upload it to their server first. I didn't like that, so I built one that does everything in the browser.
It's here if you want to try it: ATS Resume Checker. No sign-up, no AI, nothing leaves your device.
What it does?
You upload a PDF, DOCX or TXT file (or paste text), and optionally paste a job description. It gives you a score out of 100 and a short list of things to fix:
•Which keywords from the job post are in your resume and which are missing
•Whether standard sections like Experience, Education and Skills can be found
•Contact details, bullet points, action verbs and numbers
•Garbled text, scanned pages and mixed date formats
To be clear about the limits: real ATS systems like Workday or Greenhouse have private rules, so this is a health check, not a copy of any employer's system.
How it works without a server?
Reading files. PDFs are read with pdf.js, DOCX files with mammoth, and TXT files with plain FileReader. The libraries only load when you pick a file, so the page stays light.
Checking the file is real. I don't trust the extension. A PDF must contain %PDF- near the start, a DOCX must start with the PK zip signature, and a TXT file must not contain null bytes. Files over 10 MB are rejected.
Getting keywords from the job post. No AI here, just a few simple rules: lowercase the text, drop filler words, keep repeated terms and known skills, count two-word phrases like "machine learning", and treat "managed" and "managing" as the same word. Then check each keyword against the resume.
Scoring. With a job description, keywords count for the biggest part of the score. Without one, the score is about structure only, and the tool says so.
What surprised me
1.PDF text comes out in odd order. pdf.js returns text chunks with positions, so I group them into lines by their vertical position. Without that, everything came out as one long line.
2.Scanned PDFs return almost nothing. That's useful, because it's exactly what a real ATS would also struggle with. The tool warns about it.
3.A plain-text preview helps users more than the score. Showing what the parser actually read makes layout problems obvious.
Try it and tell me what's wrong
If a PDF reads badly or a keyword is missed, tell me in the comments and I'll improve the rules. What would you want a tool like this to check?
