May 1, 2026 · 11 min read
How to Pass the Greenhouse ATS: A Practical 2026 Guide
Greenhouse parses thousands of resumes per role at Airbnb, Stripe, Shopify, and most YC companies. Learn exactly how it reads your file, what kills you in the funnel, and the seven fixes that get you past the keyword filter.
TL;DR. Greenhouse parses your resume in three steps (extract, map to fields, score keywords), and the most common reason qualified candidates get filtered out is structural parse failure, not weak skills. Fix seven things: single-column layout, standard section headings, real text instead of images, exact phrase match to the job description, quantified bullets, PDF export from Word or Google Docs, and zero keyword stuffing. Do those, and your draft will start at a meaningful match score instead of a dead 0%.
What Greenhouse actually does with your resume
Greenhouse is the ATS used by Airbnb, Stripe, Coinbase, Shopify, Pinterest, and roughly 7,000 other tech employers. When you submit, three things happen in the first 200 milliseconds, before any human or AI screener sees your file:
1. Parsing. Greenhouse runs your PDF through a structured-data extractor that pulls out name, email, phone, work experience, education, and a flat keyword list. The extractor is conservative. It expects standard headings, top-to-bottom reading order, and selectable text.
2. Field mapping. It tries to map each section of your resume to a Greenhouse profile field. If your "Work Experience" header is styled as an image, sits inside a two-column layout, or uses a non-standard label like "Career Highlights," the mapping fails and the text gets dumped into a single "Notes" blob. Notes are not searched by recruiter keyword filters.
3. Keyword scoring. Recruiters configure keyword filters per role: required keywords, nice-to-have keywords, and (sometimes) disqualifying keywords. Your file is scored on presence and proximity of those keywords in the mapped sections. The score is what determines whether you appear in the recruiter's daily candidate list at all.
The single biggest reason qualified candidates get filtered at this stage is structural parse failure, not lack of skills. Your experience could be a perfect match, but if Greenhouse cannot find the section it lives in, the keyword filter sees an empty resume.
How to verify your resume parses correctly (60-second test)
Before you fix anything, run this test:
1. Open your PDF in any browser.
2. Try to highlight and copy your name. If it copies as text, good. If it copies as nothing or as an image, your name is rasterized. Fix immediately.
3. Use a free resume parser (Greenhouse, Lever, and several SaaS tools offer demos). Upload your PDF. Look at the structured output: is your name in the name field? Is each role in the experience section, with the right title and dates? Are your skills extracted as a list?
4. If anything is missing or wrong, the issue is structural, not content. The seven fixes below address every common failure mode.
The seven fixes that actually move the needle
1. Single-column layout
Two-column resumes look beautiful in design tools (Canva, Figma, Notion templates) and break catastrophically in ATS parsers. Greenhouse's extractor reads top-to-bottom, left-to-right. A sidebar with your skills and a main column with your experience produces interleaved garbage that no keyword filter can score.
Use one column. Always.
2. Standard section headings
Use exactly: Experience, Education, Skills, Projects. Optional but safe: Summary, Certifications, Publications. Do not use clever variants like "Where I've Built Things," "My Toolkit," or "Adventures." The parser pattern-matches on standard English headings, and clever variants produce parse failure.
If you want personality in your resume, put it in the bullets. Keep the headings boring.
3. Real text, never images
Never embed your name, headline, or bullets as images. Common offenders:
- A custom-styled name in the header that turns out to be a PNG.
- A "Skills" rating bar that is actually a graphic.
- A logo or icon row that wraps your contact info as part of the image.
If you cannot highlight and copy text from your PDF, neither can the parser. Run the highlight test on every section.
4. Match the job description's exact phrases
If the JD says "React.js," put "React.js" in your resume. Not "React" or "React 18." If it says "Customer Success Manager," do not write "CSM." If it says "AWS S3," do not write "S3" alone. Recruiters configure filters from JD vocabulary verbatim, and the parser does not normalize synonyms.
This is the single highest-leverage fix once your structure is clean. Spend 15 minutes per application reading the JD and mirroring its exact terminology in your bullets and skills section. Do not stuff. Just mirror.
5. Quantify your bullets
Greenhouse does not score numbers. Recruiters do. Once your file has been surfaced by the keyword filter, a human reads it for an average of six seconds. Numbers are what they remember.
"Reduced p99 latency by 38% by introducing read-through caching" beats "Improved performance" every time. Aim for at least one quantified result per role: percentages, dollar amounts, user counts, latency improvements, headcount, anything concrete.
6. PDF export from Word or Google Docs
Greenhouse accepts PDF, DOC, DOCX, RTF, and TXT, but PDF parses most reliably across the strange combinations of OS, browser, and exporter that real applications go through. Avoid:
- Pages exports. Often produce non-standard PDF structures that confuse Greenhouse.
- Notion exports. Hit-or-miss; Notion's PDF export occasionally rasterizes text.
- Canva exports. Beautiful, often image-heavy or two-column.
- "Print to PDF" from a styled web page. Unpredictable.
Use Word or Google Docs. Export to PDF. Open the PDF and run the highlight test.
7. No keyword stuffing
White-text keyword stuffing (writing "React TypeScript Node.js Python AWS Kubernetes" in 1pt white font at the bottom of the page) is detected by every modern ATS and many recruiter eyes. Greenhouse's scorecards show recruiters the exact keywords you matched, so stuffing makes your matches look suspicious. The recruiter sees a candidate whose top match is "Kubernetes" but whose bullets never mention it, and your application is dropped immediately.
Match keywords through real, contextual usage. If you have not used a tool, do not list it.
How AI tools should help (and how they should not)
A good AI resume tool reads the job description, scores your draft against ATS heuristics, and rewrites bullets to use the JD's exact vocabulary while preserving your real experience. Fursa's AURA pipeline does this in up to three iterative passes per role: generate, score, refine. The target is 90%+ compatibility against parser-aware heuristics for Greenhouse, Lever, Ashby, Workday, iCIMS, and Workable.
What an AI tool should never do: invent companies, dates, technologies, or accomplishments you did not have. If your tool fabricates, walk away. Recruiters spot fabricated bullets in the first interview, and the trust cost is permanent.
TL;DR checklist
- Single column, top to bottom
- Standard section headings (Experience, Education, Skills, Projects)
- Real text, no images of text
- Exact phrase match to the JD
- At least one quantified result per role
- PDF export from Word or Google Docs
- Zero keyword stuffing
- Highlight test passes (you can copy every word as text)
- Parser test passes (free demo extracts every section correctly)
If you can tick all nine, your draft is starting at a real match score on Greenhouse instead of a dead 0%. Everything else (which roles to apply to, how to write a cover letter, how to negotiate the offer) is downstream of getting past this filter.