Skip to main content

Upload a résumé PDF. The sanitizer flattens multi-column layouts, repairs broken glyph/CMap encoding, strips graphics and form fields, rebuilds a clean single-column document, and audits it against five ATS parsers — all in your browser.

Choose a résumé PDF to begin.

ATS Resume Sanitizer

Applicant Tracking Systems parse résumés by extracting a linear text stream — and they fail in predictable ways: they interleave multi-column layouts, mis-read ligatures and broken font encodings as garbled characters, drop content locked inside form fields or images, and truncate anything in a header. The ATS Resume Sanitizer reverse-engineers those failure modes and rebuilds your résumé as a deterministic, single-column, machine-readable document — entirely in your browser. Your file never leaves your device.

What it does

  • Spatial linearization: a recursive XY-cut engine detects column gutters and block gaps in the page geometry and flattens multi-column layouts, sidebars and visual tables into one unambiguous reading order.
  • Glyph & CMap repair: expands ligatures (fi, fl, ffi…), neutralises Private-Use-Area characters from broken/custom CMaps, and folds exotic bullets, dashes, quotes and whitespace to ASCII-safe primitives.
  • Artifact stripping: the output is rebuilt from text only, so raster images, skill bars, decorative vectors, AcroForm/XFA fields and annotations — everything that triggers OCR fallback or locks a parser out of the content stream — are gone by construction.
  • Semantic restructuring: content is bucketed into canonical sections (Contact, Summary, Experience, Skills, Education, Certifications…) with a keyword-anchored heading detector.
  • Dual-target output: a clean, fully-searchable text PDF (real selectable text, ISO core fonts, classic cross-reference table) plus an unstyled semantic DOCX and Markdown — ready for any parser.
  • Headless ATS audit: a built-in mock parser re-tokenizes the output and scores machine readability, projecting the result onto five real ATS pipelines (Workday, Taleo, Greenhouse, Lever, iCIMS).

An honest note on PDF/A

The PDF output is a clean, single-column, fully-searchable text PDF using ISO core fonts, with real selectable text and a classic cross-reference table — it satisfies every text-extraction property an ATS relies on. It is deliberately not stamped as certified PDF/A-1b/2b: true PDF/A conformance requires embedded colour profiles, XMP metadata and a validating toolchain that a 100% client-side tool cannot guarantee. We build the document that actually parses correctly rather than claiming a badge we cannot verify in your browser.

FAQ

Is my résumé uploaded anywhere?
No. Text extraction, layout analysis, rebuilding and the audit all run in your browser via a Web Worker. The file never leaves your device.
Why does my two-column résumé confuse ATS parsers?
Many parsers read the raw content stream or sort text top-to-bottom across the full page width, which interleaves the two columns and scrambles your experience. The sanitizer detects the column gutter with an XY-cut and emits one clean reading order.
What are ligatures and PUA characters, and why do they matter?
Ligatures fuse letter pairs like “fi” into a single glyph; a broken or custom font CMap can decode glyphs into Private-Use-Area code points that extract as garbage. Either way, an ATS can read “certied” instead of “certified”. The sanitizer expands ligatures and neutralises PUA residue so every word extracts intact.
Should I submit the PDF or the DOCX?
Both parse cleanly. Some portals prefer DOCX and some prefer PDF — the sanitizer gives you a clean version of each, plus Markdown for any plain-text field.
Does it change my wording?
No. It never rewrites, adds or removes your content — it only repairs encoding, fixes reading order, strips non-text artifacts and re-lays-out the same words in a parser-friendly structure.