Original research

Letter-Spacing Shreds Resume Headings

Our extraction study shows letter-spaced headings break into single characters, destroying the section labels ATS software needs most.

By ATSPrep Editorial · July 31, 2026 · 11 min read

Among 12 formatting conditions tested across 108 resume PDFs, letter-spaced section headings produced the lowest word recovery of any document that still had a text layer. The body text was perfect. The damage was entirely in the headings that define a resume's structure: EXPERIENCE, SKILLS, EDUCATION. Two carefully designed conditions let us prove the exact mechanism, and it is not what most advice assumes.

The short version

  • Letter-spaced headings scored 96.9% word recovery, the lowest of any condition with a text layer.
  • The damage is in the headings only. Body text extracted perfectly in both letter-spacing conditions.
  • The cause is the added tracking, not glyph-by-glyph drawing. Two conditions prove this mechanistically.
  • Section headings are exactly what software uses to segment a resume. Losing them is not losing ordinary words.

What letter-spacing does to a PDF

Letter-spacing is a typographic property that adds uniform horizontal space between every pair of characters in a run. In CSS it is one declaration. In a PDF it changes the coordinates at which each glyph is drawn, and those coordinates are the only thing a reader has to work with when it tries to reconstruct words.

A recruiter sees the visual result and it looks elegant: wider, more open headings that give the page a polished feel. A PDF reader sees something else entirely. It sees a sequence of individually positioned glyphs, each one separated from the next by a gap that it must classify as either part of a word or the boundary between two words.

That classification is the hinge. The reader measures the horizontal distance between consecutive fragments and compares it to a threshold. If the gap is smaller, the fragments belong to the same word. If it is larger, a space is inserted. Letter-spacing pushes every gap wider, and when the gaps cross the threshold, every character becomes its own word.

NORMAL SPACINGSKILLSgaps under threshold — one wordWITH LETTER-SPACINGSKILLSevery gap crosses it — six wordsThe threshold scales with font size, so bigger headings tolerate less tracking.
The same heading with and without added tracking. The threshold scales with font size, which is why large letter-spaced headings are the most fragile text on a resume.

What the study measured

We generated 9 complete fictional resumes and rendered each under 12 formatting conditions using pdf-lib, producing 108 PDF files. Every file was then extracted with PDF.js using the same line-grouping rules the product ships. Two of those conditions tested letter-spacing directly.

The first, per-character-tracking, drew only the section headings glyph by glyph with added tracking. The body was drawn normally. The second, per-character-body, drew every line in the entire document glyph by glyph with the same tracking applied. Both were scored against the control, a simple single-column resume that scored 100% recovery and 100% order.

The question was whether the damage came from drawing text one glyph at a time or from the extra space the tracking inserted. The two conditions were designed to distinguish these two hypotheses cleanly.

Keep in mind

The corpus is synthetic. We generated all 108 files rather than collecting real applicant resumes, because a collected corpus can only show that a file failed, never which property caused it. One variable moves at a time and the intended text is known exactly. No one's personal data is involved.

Both conditions scored identically

Per-character-tracking scored 96.9% word recovery. Per-character-body also scored 96.9%. The numbers were identical across every axis we measured: recovery, reading order, welded lines.

This is the result that proves the mechanism. If glyph-by-glyph drawing were the cause, the second condition would have been far worse than the first, because it applied that drawing to the entire document rather than just the headings. It was not worse. The body text in both conditions extracted perfectly.

The damage was confined to the headings in both cases, because the headings are where the tracking was applied. In the per-character-body condition, the body was also drawn glyph by glyph, but without extra tracking the natural glyph advance fell under the threshold and every word survived. The tracking is the cause. The splitting is not.

  • Single column (control)100%
  • Per-character tracking (headings)96.9%
  • Per-character body (all text)96.9%
  • Scanned image (no text layer)0%
Word recovery for the two letter-spacing conditions against the control. Both scored identically despite one applying glyph-by-glyph drawing to the entire document.
ConditionWordsOrderWeldedAvg items
Single column100%100%0%30
Per-character tracking96.9%96.9%0%30
Per-character body96.9%96.9%0%30
Full comparison of the two letter-spacing conditions. Every metric is identical.

What the extracted text looks like

Numbers tell part of the story. The raw output tells the rest. Here is verbatim extraction from the per-character-body condition. The body text is perfect. The headings are not headings any more.

A parser looking for the word EXPERIENCE in order to find where work history begins will not find it. It will find E, X, P, E, R, I, E, N, C, E as ten separate words. Even a fuzzy matcher would need to be specifically designed for this failure mode, and most are not.

The structural consequence is disproportionate to the word count. The three shredded headings account for a small percentage of total words, which is why recovery is still high. But those three words are exactly the ones that define what everything below them means.

  1. 01Jordan Rivera
  2. 02Senior Backend Engineer
  3. 03jordan.rivera@example.com | 555-0142 | Austin, TX
  4. 04E X P E R I E N C E
  5. 05Senior Backend Engineer, Northwind Systems
  6. 062022 - Present
  7. 07- Migrated 47 services from virtual machines to Kubernetes across three regions.
  8. 08- Cut median checkout latency from 840ms to 210ms by reshaping the pricing query.
  9. 09Backend Engineer, Cobalt Retail Group
  10. 102019 - 2022
  11. 11S K I L L S
  12. 12Go, Kubernetes, PostgreSQL, Terraform, gRPC, Kafka
  13. 13E D U C A T I O N
  14. 14BS Computer Science, University of Texas at Austin, 2019
Verbatim extraction from the per-character-body condition. Body text is intact. Section headings are shredded into individual characters.

Why headings are the most fragile text

The word-boundary threshold scales with font size. Specifically, a space is inserted between two fragments when the horizontal gap exceeds the greater of 1.1 points and 0.22 times the character height. Headings are set in a larger font than body text, so their threshold is higher in absolute terms, but the tracking that templates apply also tends to scale with the font.

In practice, template designers apply letter-spacing to headings far more often than to body text, and the visual effect they want demands enough spacing to be noticeable at the heading's font size. That amount of spacing is almost always enough to cross the threshold. The result is a consistent pattern: the text that looks most polished to a human is the text most likely to break under extraction.

This is not a subtle trade-off. Section headings are the structural skeleton of a resume. They are the labels that tell software whether the lines below describe work experience, skills, education or something else. A resume that loses its section headings does not lose a small fraction of its words. It loses the ability to be parsed into fields at all.

Where this sits in the wider study

Across all 12 conditions, only the scanned image scored worse on recovery than the two letter-spacing conditions. The scanned image had no text layer at all and returned 0%. Every other condition with a text layer returned at least 96.9%, and most returned 100%.

The conditions that most advice warns about, including two-column layout and table grids, scored higher recovery than letter-spacing: 97.9% and 97.6% respectively. Their damage was in reading order and line welding rather than word loss. Letter-spacing is unique in this study in that it causes outright word loss in a text-layer document.

The distinction matters. A two-column resume returns garbled sentences but the words are present and a sufficiently patient parser could untangle them. A letter-spaced heading returns characters that no longer form the word they were meant to be. The information is not rearranged. It is destroyed.

Keep in mind

One reader was tested: PDF.js, the same library the X-ray runs. Employer systems use other extractors and may differ. Findings describe how these formatting choices behave under extraction, not how any particular company screens.

  • Single column (control)100%
  • No space characters99.8%
  • Two columns97.9%
  • Table grid97.6%
  • Letter-spaced headings96.9%
Word recovery across conditions with a text layer. Letter-spacing is the only text-level effect that reduces it.

What to do about it

The practical advice is narrow and specific. Do not apply letter-spacing to your section headings. If a resume template adds it, remove it. The headings that define your resume's structure are exactly the text most at risk.

Body text is safe. Both conditions in this study drew the body glyph by glyph and it extracted perfectly, because natural character advance without added tracking stays under the word-boundary threshold. You do not need to worry about how your PDF tool internally encodes body text.

If you want to check whether your resume is affected, open the PDF and copy-paste a section heading. If it pastes as individual characters with spaces between them, the tracking has already crossed the threshold and extraction will produce the same result.

  • Remove letter-spacing from section headings in any template that applies it.
  • Body text is unaffected even when drawn glyph by glyph, so do not change your body formatting.
  • Copy-paste a heading from your PDF as a quick check. If spaces appear between characters, extraction will see them too.
  • The risk scales with font size. Larger headings with tracking are more fragile than smaller ones.

Sources and further reading

Test the actual file

See what your resume gives back.

Drop your PDF in and ATSPrep reads it back with a real text extractor, so you see what a parser recovers from it. No account, no upload, and no opaque compatibility score.

Scan my resume

Keep reading

Related guides

All articles →