Auto-parsing a JD from PDF
Already have a job description as a PDF or Word doc? Upload it and we'll extract title, requirements, skills, and description automatically. You confirm; we save.
Key takeaways
- Click *Scan JD* on the new-job form, upload your PDF/DOCX, wait 5–15 seconds.
- The platform extracts title, location, experience level, skills (Required + Preferred), and JD text.
- You review each field, edit anything wrong, and save.
- Skills lists are usually the field that needs the most cleanup — review them carefully.
Before you start
Most teams already have a JD written somewhere — in Notion, in a Google Doc, in a PDF a hiring manager sent over. Rather than retype it into the new-job form, you can upload it and the platform extracts the structured fields automatically.
How to do it
What gets extracted
- Title — usually the first prominent line of the document.
- Location — city/country/Remote, if the JD mentions it.
- Employment Type — Full-time/Contract/etc.
- Experience Level — derived from years and seniority language in the JD.
- Years of Experience — a number or range.
- Skills (Required) — extracted from must-have language (required, essential, minimum qualifications).
- Skills (Preferred) — extracted from nice-to-have language (preferred, desired, bonus).
- Job Description — the full prose; sometimes lightly reformatted.
What does NOT get extracted:
- Compensation — even if it's in the JD, we don't parse it (sensitive field; recruiter should set it intentionally).
- Interview duration / mode — these are platform-level settings, not in the JD.
- Cultural values — same reason; set intentionally.
Things to double-check
The parser is good but not perfect. Spend 60 seconds reviewing before you save.
WARNING
Skills lists are the #1 thing to verify. We sometimes split *React.js* and *React* into two skills, or extract *team player* as a hard skill. Tighten the list by hand — keeping only the 5–10 most relevant Required skills produces sharper AI evaluations later.
Other quick checks:
- Is the title specific enough? Software Engineer might come out of a JD that's actually for a Senior Backend role. Edit if needed.
- Is Experience Level right? The parser uses heuristics that can mis-classify. Lead in a startup might be a Senior in your taxonomy; Senior in a big company might be your Mid. Use your own scale.
- Did the Job Description prose come through cleanly? Sometimes a PDF with tables produces messy line breaks. Clean them up — the AI reads this text when planning the interview.
After save
The job is created identically to one you typed in manually. There is no difference downstream — the platform doesn't track whether a job was parsed or typed.
Next: start inviting candidates.
Frequently asked questions
What file formats are supported?
PDF and DOCX (Word). Plain text and markdown files also work. Image-only PDFs (a scanned JD with no embedded text) may not parse well — OCR is best-effort.
How accurate is the parser?
Title, location, employment type, and JD text usually extract cleanly. Skills are the trickiest — the parser sometimes lumps soft skills with hard skills, or splits a single skill (*React.js* and *React*) into two entries. Always review the skills before saving.
Can I parse a JD I copied from LinkedIn?
Yes — paste the text into the JD field of a new job and the same extraction logic runs on the text. Or save the LinkedIn JD as a PDF first (browser → Print → Save as PDF) and upload it.
Does parsing cost credits?
Yes — JD parsing costs 0.05 credits per upload. Negligible at small scale (50 JDs = 2.5 credits, equivalent to half an interview) but worth knowing if you regularly bulk-create jobs.