CV parsing with AI

CV-Transformer's CV parser reads a CV in any format, including scans and two-column PDFs, and extracts the details your layout or your own schema asks for: personal details, work experience, education, skills and anything else in the CV. Recruiters get the result as a branded CV; developers get it as JSON through the API.

CV parsing with AI

Files it reads

  • Documents: PDF, Word (.doc, .docx), RTF, OpenDocument text

  • Text: Plain text, Markdown

  • Spreadsheets: Excel (.xls, .xlsx), OpenDocument spreadsheet, CSV

  • Presentations: PowerPoint (.ppt, .pptx), OpenDocument presentation

  • Data: JSON, YAML

  • Images: BMP, GIF, HEIC, HEIF, JPEG, PNG, SVG, TIFF, WebP

Scanned CVs and photos of CVs are read as images. A candidate can have several files, such as a CV, a LinkedIn profile and a vacancy, and the parser uses all of them.

What it extracts

Unlike a parser with a fixed set of fields, CV-Transformer extracts what you ask for. Out of the box that covers:

  • Personal details: name, photo, address, date of birth, nationality, email address, phone number and LinkedIn profile

  • Profile: the introduction or personal summary

  • Work experience: job titles, employers, dates and descriptions

  • Education: degrees, schools, dates and descriptions

  • Courses and certifications

  • Skills, languages and achievements

  • Volunteer work, interests and references

Need something else, such as security clearances, driving licences or rates? Add a field to your layout, or to your schema in the API, and the parser fills it in. It writes in the candidate's language, or translates when you ask.

Parsing versus formatting

A CV parser turns a CV into structured data, usually for an ATS. A CV formatter also puts that data into a designed document you can send to a client. CV-Transformer does both: it parses the CV into your layout's fields, and the layout turns them into a branded PDF, Word document or weblink. See CV formatting software.

CV parsing API

Parse CVs from your own software in three calls:

  1. POST /candidates creates a candidate.

  2. POST /candidates/{candidate_id}/attach uploads the CV.

  3. POST /candidates/{candidate_id}/extract takes a JSON Schema and returns the CV's data in that shape.

Send the schema of exactly the data you need, for example:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "email": { "type": "string" },
    "work_experience": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "employer": { "type": "string" },
          "start": { "type": "string" },
          "end": { "type": "string" }
        }
      }
    }
  }
}



See the API reference and API keys. AI assistants can parse CVs through the MCP server.

Data protection

CVs are stored in Frankfurt, Germany, and deleted after 90 days by default, or after the period you set. The default AI model, Mistral, is configured not to use your data for training. See Security and privacy.

Frequently asked questions

What is CV parsing?

CV parsing is reading a CV automatically and turning it into structured data, such as name, work experience, education and skills, so nobody has to retype it.

Can CV-Transformer parse scanned CVs?

Yes. Scans and photos of CVs are read as images, as are image-only PDFs.

Can I parse CVs into my own data format?

Yes. Send a JSON Schema to the extract endpoint and you get the CV's data back in that shape.

Stop formatting, Start placing