ATS resume checker

See the text and fields a parser pulls from your PDF or Word resume, and what goes wrong.

PDF or Word (.docx). Read on your device; nothing is uploaded.

Or try a sample:

Opening a sample resume…

In short

Drop in a PDF or Word resume and see what an applicant tracking system’s text extraction gets back: your page with the reading order numbered on it, the plain text in that order, and the name, contact details, jobs, dates, education and skills a parser fills from it. Each problem is outlined on the page with what happened, why it matters and how to fix it. There is no score, and nothing is uploaded.

What resume parser is

The part of an applicant tracking system that turns an uploaded resume into a record: it extracts the text from the file, then guesses which line is the name, which block is a job and which string is a date. Every system differs in the guessing; all of them depend on the extraction, which is the step this tool shows.

What this tool does that others do not

  • The page and the text, side by side

    Your PDF is drawn with a numbered box over every piece of text in the order a parser reads it, next to the text that comes out and the fields filled from it. Where the order jumps between columns, the numbers zigzag across the page, so the problem is visible rather than described.

    The broken sample switches between its two columns 27 times when read straight across, and reads in order column by column.

  • Each finding is something the file shows

    Every finding comes from pdf.js output or the Word file’s own XML: no text layer, columns read across, contact details only in a tagged header, icon-font characters, ligatures stored as one character, spaced-out capitals, grids, text boxes, dates in a form a parser misses, missing headings, an email split over two lines, type under 7pt, a password, or fonts with no character map. Nothing is inferred from how the page looks.

    Each detector is tested on a real file built with the defect and on the same file without it.

  • No score, on purpose

    No tracking system publishes how it ranks a resume, so a percentage would be invented. The verdict is a sentence about what extraction returned: in order or not, which key fields came back, and how many problems are likely to scramble it.

    On the resume builder’s own PDFs (16 templates × 16 example fields) the one-column templates raise no findings and the 4 sidebar templates raise only the columns finding.

  • Fix it in the builder, without retyping

    One button passes the file to the resume builder in this browser, which imports it into editable sections in a one-column template. The file never leaves your device on the way.

How to use it

  1. Open your resume

    Choose or drop the PDF or Word file you send to job portals. It is read in this tab and not uploaded; a sample opens on its own so you can see what the page does first.

  2. Compare the page with the text

    Follow the numbered boxes down the page and the lines under “What the parser reads”. If the numbers jump between columns, switch the reading order to see what a parser that finds columns would get.

  3. Check the fields

    Name, email, phone and every job should be found, each job with a date. A field marked Not found is one a recruiter cannot search on.

  4. Work through the findings

    Start with the ones marked Will scramble. Each says what happened, why it matters and how to fix it, and Show on the page outlines the place in your file.

Worked examples

Real input, real figures.

A two-column designer resume

You give it

Sidebar of skills and languages beside the experience, headings letter-spaced, dates written ’19 – ’23

You get

Read straight across, 27 switches between the columns and no Experience heading found; column by column, both jobs found but no dates, and the company of the first job read as “’19”. Ten findings in all, one of them marked Will scramble.

A plain one-column PDF from the resume builder

You give it

Marketing example, Meridian template, A4

You get

A parser reads it in order and finds all the key fields: name, email, phone, two jobs with their dates, education and skills. No findings.

Against a typical ATS resume checker

AspectThis toolA typical checker
ResultThe extracted text, the fields and the findingsA score out of 100
Where it shows a problemOutlined on your own pageA line in a report
Reading orderDrawn on the page, both ways for two columnsRarely shown
Your fileRead in your browser, never uploadedUploaded, often behind a sign-up
Keyword match to a job adNot offeredUsually the main feature

Guide

What it will not do

  • Every tracking system differs. This shows generic text extraction, the step all of them share, and the fields a capable parser fills from it; a particular employer’s system may do better or worse.
  • It does not compare your resume with a job advert. Keyword matching depends on the advert and on how a recruiter searches, which no tool can see.
  • A scanned PDF gets a finding, not a reading: there is no OCR here, so it cannot say what the picture says.
  • A Word file has no fixed page, so it is shown as the paragraphs it holds rather than drawn.

Extraction comes first, and every system does it

Applicant tracking systems differ in almost everything a candidate cannot see: which parser they license, how they weigh a field, what a recruiter searches for. They share one step. Before any of that, the system pulls the characters out of your file and puts them in an order. Whatever is lost or shuffled there is lost for every later step.

That step is what this page runs, with pdf.js, the same open-source library Firefox uses to show PDFs. The fields are then filled by the resume builder’s own importer, which is a capable parser: it rejoins spaced-out headings and broken emails. So a field marked Found here is the good case, and a finding says where a simpler system would do worse.

Why the page shows two reading orders

A PDF stores each run of text at a position, not in a sentence order. A parser has to decide the order. The simple rule reads every row straight across the page, which is right for one column and wrong for a sidebar: a skill from the left ends up between a job title and its dates on the right. Better parsers look for the gutter first and read each column whole.

You cannot tell which kind an employer uses, so when a page has two columns the checker shows both, and the fields under each. If the straight-across version loses a job or files a skill as an employer, send a one-column version to portals. The resume builder downloads every sidebar template as one column as well.