Resume Parser
Guide

What is resume parsing?

Resume parsing is the automated extraction of information from a resume or CV into structured fields: name, contact details, job titles, employers, dates, education and languages. Recruiting software uses the result to create candidate records, fill in application forms and search applicants without retyping anything.

Updated 2026-11-10 by the Resume Parser team at Herizon, Helsinki. Field names and limits on this page come from our API docs.

What a parser returns

A parser reads one document and returns one record. The exact fields differ by vendor. This is what our API returns for every resume, with a fixed schema:

GroupFieldsNotes
Personal detailsfirstName, lastName, emailAddress, phoneNumber, linkedInLinkLeft out of the response when the resume does not contain them.
Locationlocation, locationCity, locationState, locationCountryEach part is returned on its own when found. State is often missing, for example on Finnish CVs.
Work experiencetitle, organization, location, startMonth, startYear, endMonth, endYear, isOngoing, skillsDescriptionOne entry per role. Months and years are numbers; the description is kept as markdown.
Educationdegree, school, year, endYear, notes, locationThe degree is kept as written on the CV.
LanguagesfluentLanguages, languages (language and level)The language skills the candidate lists, with the level when one is given.

How resume parsing works

  1. 1. Read the text out of the file

    A PDF stores positioned pieces of text for printing. They are often split mid-word and out of reading order, so the parser first has to rebuild words, lines and paragraphs. A PDF with no text layer, such as a scan or a photo, has nothing to read without OCR.

  2. 2. Rebuild the layout

    Columns, sidebars and tables have to be read in the order a person would read them. Visual cues such as bold headings, lines and spacing tell a human where one job ends and the next begins; a parser has to infer the same structure from the text and its styles.

  3. 3. Label each piece

    The parser decides which text is a name, an employer, a job title, a date range or a degree, and groups it into entries. Older parsers use rules and keyword lists for this. Newer ones use a language model that reads the whole document.

  4. 4. Normalize and return data

    Dates written as "Jan 2020", "01/2020" or "2020-01" become the same month and year numbers. Casing is fixed, empty fields are dropped, and the result goes back as JSON that an ATS, a CRM or your own database can store.

The first two steps are where most errors start. We wrote about them in converting PDFs into readable text and visual cues only a human sees.

Parsing, screening and matching

These three steps are often sold together, but they answer different questions. Parsing comes first: screening and matching need structured data to work on.

StepQuestion it answersOutput
ParsingWhat does this resume say?Structured fields: contact details, jobs, education, languages
ScreeningDoes this candidate meet the requirements?Pass or fail against rules, or a shortlist
Matching or scoringHow well does this candidate fit this job?A score or a ranking per job

Our API does the parsing step only. See candidate screening automation and job matching for how parsed data feeds the next steps.

Where parsers get it wrong

  • Scanned or photographed resumes

    There is no text layer, so a parser without OCR sees an empty page. Our API returns error 422 for these files.

  • Text inside images or icons

    A phone icon instead of the word "Phone", or a skill bar drawn as a graphic, carries no text. The meaning is lost.

  • Unusual reading order

    Two columns, a sidebar and a timeline on one page can make text from different sections run together.

  • Headings that only look like headings

    When a section title is marked only by colour or size, the parser has to guess where the section starts.

  • Mixed date formats

    "Spring 2021", "03/21" and "2021 - now" on one CV are easy for a person and ambiguous for software.

How to check how your resume parses

If you are applying for jobs, you can run the same checks a parser depends on in a minute:

  1. Export the resume to PDF from Word, Google Docs or LaTeX. Do not scan or photograph it.
  2. Open the PDF and select all text. If nothing gets selected, the file is an image.
  3. Paste the text into a plain text editor. Check that each job title sits next to its employer and dates, and that columns do not run into each other.
  4. Write labels such as Email and Phone as words. Icons carry no text.
  5. Use one date format throughout, for example “Mar 2021 to Jun 2023”.

Developers who want to see the structured output can parse their own files with the 50 free parses a month. The PDF resume parser page lists what the API accepts.

Questions

What is resume parsing?

Resume parsing is the automated extraction of information from a resume or CV into structured fields, such as name, email, phone number, job titles, employers, dates, education and languages. The output is usually JSON or XML that recruiting software can store, search and filter.

What does it mean when a resume is parsed?

It means software has read the file and copied its contents into separate fields. When you upload a resume to a job application and the form fills in your name, employers and dates by itself, the resume has been parsed.

Is a resume parser the same as an ATS?

No. An applicant tracking system (ATS) manages candidates and job openings. Many ATS products include a resume parser, or call an external parsing API, to turn uploaded resumes into candidate records.

How can I check if my resume can be parsed?

Open the PDF and try to select and copy the text. If you cannot select it, the file is an image and most parsers cannot read it. Paste the copied text into a plain text editor: if the sections come out in a sensible order, a parser will have an easier time too.

Can a parser read Word files and scanned PDFs?

That depends on the parser. Our API accepts PDF files with a text layer up to 5 MB. It does not accept DOCX and has no OCR, so convert Word files to PDF and avoid scanned copies.

Is resume parsing GDPR compliant?

A resume is personal data, so the company using a parser needs a legal basis for processing it and a data processing agreement with the parsing vendor. Our API runs in Helsinki, Finland, does not store the PDF or the parsed result, and uses OpenAI (US) as a subprocessor. See our privacy policy for the details.

More answers in the resume parsing FAQ, the GDPR FAQ and the privacy policy.