Skip to content

LaTeX CV with Overleaf and Jake's Resume: how the PDF parses

Jake's Resume, the LaTeX template many people open in Overleaf, gave a one-page, one-column PDF whose text CitedCV's reader got in reading order in our test. One other extractor moved a date, so paste-test your own export.1

Written 13 October 2026. CitedCV. How we write our guides

First, keep the two lines that make the text readable

Open the template from Overleaf's gallery page for Jake's Resume with the Open as Template button. The page names Jake Gutierrez as author, publishes it under the MIT License and shows a last update six years ago. The GitHub repository it comes from, jakegut/resume, says the Overleaf copy is not updated and that the design is based on sb2nov/resume.

Near the top of the source sit two lines worth leaving alone: \input{glyphtounicode} and \pdfgentounicode=1. The template's own comment says they are there so the generated PDF is machine readable and ATS parsable.

What those two lines do

The pdfTeX manual (revision 979, covering pdfTeX 1.40.29) explains the mechanism. By default pdfTeX writes no /ToUnicode resource, the table that maps each glyph in a font to a Unicode character. Without it, the PDF reader decides how text search behaves: plain ASCII usually works, but anything beyond it, ligatures such as fi included, is likely to fail. Setting \pdfgentounicode to 1 adds the table, and the glyphtounicode file supplies its entries.

Copying text out of a PDF and a parser reading it depend on the same mapping. So our reading of the manual is that a CV built without these lines can come out with broken ligatures in words like certified or office. We did not build a pdfLaTeX version to prove it; the paste test further down shows you whether your own file has the problem.

How Overleaf compiles the file

  • Overleaf offers four compilers: pdfLaTeX, LaTeX, XeLaTeX and LuaLaTeX. Its documentation calls pdfLaTeX the default and most frequently used one.
  • The compiler and the TeX Live version are set per project: open the settings from the gear icon at the bottom left of the editor or from the File menu, then choose Compiler. Overleaf recommends the most recent TeX Live in most cases and advises against legacy versions for new projects.
  • Fast [draft] mode skips image processing and replaces every image with an empty box. Turn it off before you download the PDF you will send.
  • Free projects have a 10-second compile timeout, according to Overleaf's post of 16 June 2025; premium plans keep 4 minutes.

Switching to XeLaTeX or LuaLaTeX

The two Unicode lines are pdfTeX commands. When we built the unmodified template with Tectonic, which runs the XeTeX engine, it stopped at line 7 of glyphtounicode with Undefined control sequence. If you change compiler to use a system font, comment out both lines. In our XeTeX build every embedded font carried a Unicode map, as Poppler's pdffonts tool reported.

Filling in the template's commands

CommandIts slots, in orderWhat to watch
\resumeSubheading under EducationSchool, city, degree, datesThe dates sit at the right edge of the second line
\resumeSubheading under ExperienceJob title, dates, employer, cityThe title comes first and the employer second
\resumeProjectHeadingProject name and stack, datesName and stack are split by a vertical bar
\resumeItemOne bulletWrite the result, not the duty
The centred header blockName, phone, email, LinkedIn, GitHubEvery link has a target and a visible text

The sample header links the email to x@x.com while the text shows jake@su.edu, and the LinkedIn and GitHub links point to placeholders. Change both parts of every link. The extractors we used read only the visible text, while a recruiter who clicks lands on the target.

Our test: Jake's Resume through two text extractors

We compiled the template as published, with its sample content, and read the PDF the way the CitedCV free checker reads an upload. The method, so you can repeat it:

StepWhat we used on 13 October 2026
Templateresume.tex from github.com/jakegut/resume, master branch (MIT License)
BuildTectonic 0.16.9 (XeTeX engine), with the two pdfTeX-only lines commented out and nothing else changed
ReaderThe checker's PDF reader (apps/web/app/lib/extract.client.ts) with pdfjs-dist 6.3.289
AuditauditCvText from packages/engine-core, English rules, US region
Cross-checkPoppler pdftotext 26.02.0, in its default mode and in raw mode

This is not Overleaf's default build: Overleaf would compile with pdfLaTeX, which we did not have locally. Treat the numbers as one data point about this template, not a verdict on yours.

What came out

CheckResult
Pages and columns1 page, 1 column
Pages that are pictures0
Filled shapes such as skill bars0
Words read398
Headings filed as sectionsEducation, Experience, Projects, Technical Skills
Contact detailsPhone and email found on the second line
Date styleOne style throughout, such as Aug. 2018 – May 2021
Reading order in the CitedCV readerEach title with its dates on one line, employer and city on the next, then the bullets
Audit score66 of 100, in the 50 to 74 band the checker calls workable

Why 66 and not higher

The file raised no layout finding at all. The score comes from the sample wording: language 60, structure 100, contact 100 and evidence 40. Evidence is the share of bullet lines that carry a number, and 4 of the 20 sample bullets do. Three bullets were flagged as having no number, name or scope, for example Communicate with managers to set up campus computers used on campus. Your own lines will score differently.

Two things that did not read as intended

  • Poppler's default mode, which rebuilds the layout from positions, moved the date Sep. 2018 – Present below the next job title. In raw mode, which follows the order the text was written into the file, every date stayed on its line. The template sets dates at the right edge of a full-width row, and right-hand text is what a position-guessing reader can split off.
  • CitedCV's checker merged two roles into one. Both Southwestern University jobs share the same employer line under different titles, and the checker files bullets under the last plain line above them, so it reported 9 bullets for one entry where the roles have 3 and 6. That is a limit of our checker, and it shows something about the layout: the employer line, not the job title, sits directly above the bullets.

Greenhouse's help page lists tables and columned layouts among the causes of an unsuccessful parse. The template builds each entry header with a LaTeX table, yet both extractors found ordinary lines of text in the PDF. What decides the outcome is the order the text comes out in, which you can check yourself.

Check your own Overleaf PDF in five minutes

  1. In Overleaf, turn off Fast [draft] mode, recompile and download the PDF.
  2. Open it and try to select a line. If nothing highlights, there is no text layer for any parser to read.
  3. Select all, copy and paste into a plain text editor. Check that every date sits beside its own job title and not under the next one.
  4. Search the pasted text for words containing fi, fl or ff and check that they pasted whole.
  5. Upload the PDF to the CitedCV free checker, which runs in your browser with no account and reports columns, picture pages, missing headings and dates it cannot read.
  6. On the employer's form, read the parsed fields before you submit. Greenhouse's candidate FAQ says parsing can make mistakes and asks you to review and edit your information first.

Sources, read on 13 October 2026

SourceDate on the pageUsed for
Overleaf template gallery: Jake's ResumeLast updated six years agoAuthor, licence, Open as Template
Overleaf docs: selecting a TeX Live version and LaTeX compilerNone shownThe four compilers, the default, the settings path
Overleaf docs: recompiling your projectNone shownFast [draft] mode and empty image boxes
Overleaf blog: changes to free compile timeout16 June 202510 seconds free, 4 minutes premium
pdfTeX user manualRevision 979, pdfTeX 1.40.29What \pdfgentounicode and the ToUnicode table do
GitHub: jakegut/resumeMIT License, 2020The source file we compiled
Greenhouse: unsuccessful resume parseUpdated 2 March 2026Tables and columns among parse problems

When LaTeX is the wrong tool

  • You need a Word file. Overleaf gives you a PDF; if a recruiter or agency asks for a DOCX to edit, you will be rebuilding the CV somewhere else.
  • You have a deadline and have never used LaTeX. One missing brace stops the compile, and fixing errors can take longer than the layout saves.
  • You want a two-column or sidebar template. We tested one single-column template; any other needs the paste test before you trust it.

What our test does not show

It does not show how Workday, Greenhouse or any other employer system reads this file, because each runs its own parser. It shows what two widely used extractors and the CitedCV checker got from one build of one template.

Other ways to get the same clean layout

OptionStrengthLimit
Overleaf with Jake's ResumeConsistent typography and a one-column layout that read in order in our testPDF only, LaTeX to learn, compile errors to fix
A Word templateEditable by anyone and exportable to both DOCX and PDFSome templates use tables, headers or text boxes, which Greenhouse lists among parse problems
CitedCVWrites the CV from the facts you give it in single-column templates; exports PDF, DOCX and TXT, each read back by a text extractor and measuredCosts credits after the signup bonus; you choose a template instead of editing layout code

If you are still choosing a file type, the guide to PDF or Word for ATS covers that decision, and the guide to a resume that is not parsing covers what to do when a form comes back empty.

Questions people ask

Is a LaTeX resume ATS friendly?

It can be, when the PDF has a text layer and the text comes out in reading order. In our test of Jake's Resume the CitedCV reader got every line in order, while one Poppler mode moved a date. Paste-test your own file.

Is Jake's Resume ATS friendly?

In our test it read as a one-page, one-column PDF with four standard headings, contact details and dates found and no layout findings. We built it with XeTeX, not with the pdfLaTeX Overleaf uses by default.

Should I compile my resume with pdfLaTeX or XeLaTeX?

Keep pdfLaTeX for Jake's Resume, because its two Unicode lines are pdfTeX commands. Overleaf names pdfLaTeX as its default; moving to XeLaTeX means commenting out those lines first.

Why does my Overleaf resume fail with Undefined control sequence?

One common cause is a pdfTeX-only command under XeLaTeX or LuaLaTeX. In Jake's Resume the glyphtounicode input and the pdfgentounicode line stop a XeTeX build; switch back to pdfLaTeX or comment them out.

What does pdfgentounicode do in a resume template?

It makes pdfTeX write a ToUnicode table into the PDF. The pdfTeX manual says that without one, searching for anything beyond basic ASCII, ligatures such as fi included, is likely to fail.

Is Overleaf free for making a resume?

Yes, Overleaf has a free plan. Its post of 16 June 2025 set the free compile timeout to 10 seconds, with 4 minutes on premium plans; check the current limits on Overleaf's own pages.

Do right-aligned dates cause parsing problems?

They can with some readers. Poppler's default mode moved one right-aligned date in Jake's Resume below the next job title, while the CitedCV reader and Poppler's raw mode kept it in place.

How do I check what an ATS reads from my LaTeX PDF?

Copy all the text from the PDF into a plain text editor and read it top to bottom, then run the file through a free checker. On the employer's form, review the parsed fields before you submit.

Sources

  1. Overleaf template gallery: Jake's Resumewww.overleaf.com/latex/templates/jakes-resume/syzfjbzwjncs
  2. Overleaf docs: selecting a TeX Live version and LaTeX compilerdocs.overleaf.com/getting-started/recompiling-your-project/selecting-a-tex-live-version-and-latex-compiler
  3. Overleaf docs: recompiling your projectdocs.overleaf.com/getting-started/recompiling-your-project
  4. Overleaf blog: changes to free compile timeout (16 June 2025)www.overleaf.com/blog/changes-to-free-compile-timeout
  5. The pdfTeX user manual (CTAN)mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf
  6. GitHub: jakegut/resumegithub.com/jakegut/resume
  7. Greenhouse Support: Unsuccessful resume parsesupport.greenhouse.io/hc/en-us/articles/200989175-Unsuccessful-resume-parse
  8. Greenhouse Support: MyGreenhouse FAQ for Candidatessupport.greenhouse.io/hc/en-us/articles/43418495049499-MyGreenhouse-FAQ-for-Candidates