Skip to main content
#ATS#resumes#ChatGPT#career#PDF·6 min·October 10, 2026

The Invisible ATS Trap in AI-Generated Resumes: Letter-Spacing and Broken Parsing

Why ChatGPT, Claude, and Gemini produce PDF resumes that look visually pristine to humans but extract as disconnected glyphs in enterprise applicant tracking systems like Greenhouse and Workday.

Written by Published

The CV looks immaculate, but the parser is blind

If you used ChatGPT, Claude, or Gemini to build your CV, there is a technical defect you might be overlooking. You cannot see it by opening the PDF, and it is silently hurting candidates applying for internships, graduate schemes, and engineering roles.

Generative AI has made it effortless to generate clean, modern resume markup. But human eyes and automated document parsers do not read files the same way. A resume can look completely professional to you, yet arrive completely fragmented in an enterprise Applicant Tracking System (ATS) like Greenhouse, Ashby, Lever, or Workday.

The letter-spacing pitfall: how 'EDUCATION' becomes 'E D U C A T I O N'

While developing the deterministic ATS diagnostics engine for Ravina, we ran automated extraction benchmarks on hundreds of AI-generated HTML/CSS resume templates. A recurring pattern appeared in styling section headers:

In the rendered PDF viewer, the heading looks crisp and balanced. But underneath, the HTML-to-PDF print engine (whether headless Chromium, WeasyPrint, or wkhtmltopdf) translates that CSS letter-spacing into individual character offsets in the PDF content stream.

When an ATS parser extracts text from that stream without advanced kerning reassembly, it records every glyph as an isolated character separated by whitespace. Instead of recognizing the string EDUCATION, the parser indexes:

  • E D U C A T I O N instead of EDUCATION
  • E X P E R I E N C E instead of EXPERIENCE
  • P R O J E C T S instead of PROJECTS
  • S K I L L S instead of SKILLS

Why this breaks section segmentation

Applicant tracking systems do not simply read text from start to finish. They segment your document into structured semantic buckets: contact information, work experience, education, certifications, and skills.

This segmentation relies on standard section headings and regex patterns. When the parser encounters 'E D U C A T I O N', its heading recognition dictionary fails to trigger. As a result:

  • Your degree, university, and GPA are either dumped into an unclassified block or appended to the preceding job entry.
  • Core coursework and qualifications fail to map to recruiter search filters.
  • Automated keyword scanners looking for required degrees return zero matches, even though the text is clearly visible on your screen.
  • Your application is marked as incomplete or filtered out before a human recruiter opens the PDF.

Other hidden CSS and layout hazards from AI prompts

Letter-spacing is not the only layout issue that corrupts parsing. AI models asked to design a 'modern' resume frequently introduce other print artifacts that look great on screen but degrade extraction reliability:

Design patternWhy it breaks in ATSSafe alternative
letter-spacing: 2pxExtracts as spaced-out single lettersNormal font kerning (letter-spacing: normal)
Two-column CSS grid/flexInterleaves left and right column linesClean, single-column top-to-bottom layout
Sidebars for contact infoContact block moves to the end of streamContact header directly at top of page
Icons for email and phoneOmits plain text labels in parsersClear text labels (Email:, Phone:, GitHub:)
Skills inside styled table cellsTable cells emitted out of reading orderComma-separated bullet points under SKILLS

The copy-paste test: see what the ATS actually sees

You can verify your existing resume in less than ten seconds without uploading it to third-party tools. Open your resume PDF in any standard browser or PDF viewer, press Ctrl+A (or Cmd+A) to select everything, copy it, and paste it into a plain text editor like Notepad or a code editor.

Review the pasted text carefully. If your headings read as spaced-out letters, if columns are scrambled together, or if your contact info is missing, that is exactly what the ATS database has stored for recruiter searches.

The exact prompt to fix AI resume generation

When asking ChatGPT, Claude, or Gemini to format or code your resume, include explicit constraints against typography and layout tricks. Copy and paste this prompt snippet into your instructions:

Recommended AI Resume Prompt Constraint
Use a clean, single-column, ATS-friendly layout. Do NOT use CSS letter-spacing, text-spacing, or manually inserted spaces between characters in section headings. Use normal text such as "EDUCATION", not "E D U C A T I O N". Avoid tables, multi-column layouts, sidebars, text boxes, floating elements, icons, or complex layout structures that disrupt PDF text extraction and reading order. Keep all resume content as standard, selectable text in a logical top-to-bottom reading order. Use standard section headings: EXPERIENCE, EDUCATION, SKILLS, and PROJECTS.

How Ravina guarantees ATS formatting natively

In Ravina, our 13 ATS resume templates enforce this deterministically in code. We verify font metrics, zero-out artificial kerning splits, and guarantee single-page rendering so you never have to wonder whether an automated parser extracted your credentials.

Frequently asked questions

Does this affect resumes exported from Google Docs or Word?

Standard Google Docs and Microsoft Word templates generally do not inject letter-spacing or kerning gaps into PDF export streams. The issue primarily happens when AI tools write custom HTML/CSS, LaTeX with microtype letterspacing, or design canvas tools (like Figma or Canva) that position each letter as an independent coordinate.

Will modern AI-powered ATS systems handle spaced headings better?

Some modern platforms (such as Ashby) use OCR and LLM-assisted reassembly that can reconstruct spaced headings. However, hundreds of thousands of companies still rely on legacy rule-based parsers like Sovren, RChilli, or standard Greenhouse/Workday text scrapers. Designing for strict compatibility guarantees your resume parses correctly everywhere.

Can I use ALL CAPS for my resume section headings?

Yes. All-caps headings like 'EDUCATION' and 'EXPERIENCE' are completely standard and parsed accurately by every major ATS. The issue is purely artificial spacing between the letters ('E D U C A T I O N'), not capitalization.

Related resources and tools
AH
Founder & sole developer, RYUN

Builds and maintains RYUN (Study Hush, Nativra, Ravina) as a solo developer. Writes about applicant tracking systems, behavioral interview preparation, and comprehensible-input language learning from the perspective of someone shipping the tools.

The Invisible ATS Trap in AI-Generated Resumes: Letter-Spacing and Broken Parsing | RYUN