I Tested 6 AI Cover Letter Generators With the Same Job Post
A cover letter is the one part of a job application almost nobody wants to write, which is exactly why AI tools have swarmed it. Paste a job description, click generate, get 300 polished words in four seconds. The promise is that the robot writes a better letter than you would at 11pm the night before a deadline.
I wanted to know if that's true — and more specifically, whether six different tools fed the same inputs would produce six different letters or one letter wearing six hats. So in early June I ran a controlled test: one real job posting, one real candidate background, six AI cover letter generators, same afternoon, no edits between runs.
Four of the six opened with a near-identical sentence. That turned out to be the whole story.
The setup
The job was a real public listing — a Customer Success Manager role at a mid-size B2B SaaS company, scraped from a careers page on a Friday. 410 words. It asked for 3+ years in customer-facing SaaS, CRM experience (Salesforce or HubSpot), onboarding ownership, and "a bias toward proactive communication."
The candidate was a composite I've used before for these tests: 4 years of account management, one prior CS role, HubSpot experience, no Salesforce. Real enough to be plausible, fictional enough that I'm not pasting a friend's life into six third-party servers.
Every tool got the same three inputs where it allowed them: the full job description, the candidate's three-line background, and the target company name. I generated one letter per tool, copied it verbatim, and changed nothing. Here are the six:
- ChatGPT (free tier) — generic prompt: "Write a cover letter for this job based on this background."
- Claude (free) — same prompt, same inputs.
- Teal's cover letter generator — free tier, structured inputs.
- Kickresume AI cover letter — free generation, template-based.
- Rezi AI cover letter — free tier.
- Charlie Morrison's Cover Letter Generator — the free one I built (included for honesty, not as a benchmark).
The openings, side by side
Before anything else, the first sentence — because that's the line a recruiter actually reads before deciding whether to read the second one.
| Tool | Opening line (verbatim) |
|---|---|
| ChatGPT | "I am excited to apply for the Customer Success Manager position at [Company]." |
| Claude | "When I read that your team measures success by whether customers renew without being asked, I recognized the job I've actually been doing for four years." |
| Teal | "I am writing to express my strong interest in the Customer Success Manager role at [Company]." |
| Kickresume | "I am thrilled to apply for the position of Customer Success Manager at your esteemed company." |
| Rezi | "I am excited to submit my application for the Customer Success Manager position." |
| Cover Letter Generator (mine) | "I am writing to apply for the Customer Success Manager role — here is the onboarding metric I'd own in the first 90 days." |
Four of six opened with some variant of "I am excited / thrilled / writing to express my interest to apply for [job] at [company]." That sentence is the single most common opening in the history of cover letters, AI or human. It says nothing. It uses your first and best line — the one with the most attention behind it — to confirm that you are, in fact, applying to the job you applied to.
Only Claude opened with something a human would actually keep. Mine landed in the middle: it still said "I am writing to apply," but at least bolted a concrete promise onto the end. Honest assessment of my own tool — that opener is better than the boilerplate four, weaker than Claude's, and the reason is structural, which I'll get to.
Why four tools wrote the same letter
It's not laziness in the models. It's that "write a cover letter" is one of the most over-represented tasks in their training data, and the median cover letter on the internet opens with "I am excited to apply." When you give a model a generic instruction and a generic format, it returns the statistical center of that format. The center of "cover letter" is beige.
The tools that produced beige all shared one trait: they asked for almost nothing beyond the job description. Paste job post → click generate. With no angle, no specific candidate story, no instruction about what to lead with, the model has nothing to work with except the format's gravity. So it produces the format.
Claude's opener was different for one reason: the prompt I gave it (the same one I gave ChatGPT) was three sentences, and Claude did more with the candidate's background line — it found the overlap between "renew without being asked" in the job post and "account retention" in the background, and led with that. The structured tools never had the chance, because their templates don't have a "what's your strongest specific overlap with this role" field. They have name, company, job title, and a vibe selector.
This matches what every credible career source has said for a decade. Harvard's career services guide tells students to open with the connection between you and the role, not a statement of intent — and the Harvard Business Review's own guidance is even blunter: cut the first paragraph that announces you're applying, because the reader already knows.
The screenshot — my tool's full output
Here's what the free generator I built actually produced for the same inputs, so you can judge it against the four beige letters yourself rather than take my word for it.
- Opens with a concrete metric the candidate would own, not "I am excited"
- One quantified result (41 → 22 days) instead of adjectives
- Addresses the missing requirement (Salesforce) head-on instead of hiding it
- Still uses "I am writing to apply" — a half-step, not a clean hook
- Closing line is standard; could be a forward-looking ask instead
- 277 words — inside the one-page range recruiters skim
My own tool's output for the same inputs. Better than the boilerplate four, not as sharp as Claude's lead. The honest verdict: a structured tool can kill the worst habits, but the single best opener still comes from a model given room to find your specific overlap.
The rest of the letter mattered less than I expected
Once you get past the opening, the six letters converged again — and this time that's fine. The body of a competent cover letter is genuinely a solved problem: state your relevant experience, tie it to one or two requirements, name a result if you have one, close politely. All six did that adequately. The differences were cosmetic: Kickresume over-used "esteemed" and "passionate"; Rezi padded with a paragraph of soft skills; Teal was clean but anonymous.
What separated the letters was entirely front-loaded. The opening line, and whether the tool found one specific, checkable overlap between the candidate and the role. Everything downstream was interchangeable.
That has a practical implication: you do not need the "best" AI cover letter tool. You need any tool that gets the body 80% right, and then you rewrite the first two sentences by hand. The first two sentences are 90% of the value and the only part a generator reliably gets wrong.
What to actually do
Three steps, in order:
- Generate the body, not the letter. Use any free tool — including my free cover letter generator — to produce the middle paragraphs. That's the part that's tedious and that AI does fine. Don't ship the opener it gives you.
- Rewrite the first sentence to name one specific overlap. Find the single line in the job post that describes the actual work, and open by connecting your concrete experience to it. "Your posting says X; I spent two years doing exactly that, here's the number" beats "I am excited to apply" every time. If you have a quantified result, that's your opener.
- Cut anything a recruiter already knows. They know you're applying. They know the company is great. They know you're a hard worker. Delete every sentence that survives the "no kidding" test, and your letter gets shorter and sharper for free.
The broader pattern from running these tests across resumes, bullets, and now cover letters is consistent: AI is excellent at the median and bad at the edge, and hiring happens at the edge. Use it to clear the boring 80%, spend your actual attention on the 20% that's specific to you. I keep the rest of the tools I use for this in the free job-search toolkit, and the resume side of the same workflow is in the resume bullets ranking experiment.
Try the free Cover Letter Generator
One of the six tools tested in this post. Paste the job description and your background, get a tailored letter body in seconds — no signup, runs in your browser. Then rewrite the opener yourself, the way this post describes.
Open the Cover Letter Generator →FAQ
Will recruiters know my cover letter was written by AI?
If it opens with "I am excited to apply for [job] at [company]," they'll suspect it — not because AI wrote that line, but because everyone writes that line, and AI defaults to it. The tell isn't AI; it's genericness. A letter that names one specific, checkable overlap between you and the role reads as human regardless of what drafted the body. Fix the opener and the AI question disappears.
Which AI cover letter generator was actually best?
For a single best opening line, a general model (Claude or ChatGPT) given a three-sentence prompt that includes your strongest specific overlap beat all the structured template tools — because templates have no field for "your strongest overlap." For getting a competent body fast with zero prompting skill, the structured tools (including mine) are fine. Best workflow: structured tool for the body, your own hand for the first two sentences.
How long should a cover letter be in 2026?
Shorter than the AI wants to make it. Three short paragraphs, 200–300 words, one page. Every tool in this test except mine ran long; recruiters skim, and a fourth paragraph of soft skills is the first thing that gets skipped. If your letter doesn't fit on a screen without scrolling, cut.
Do I even need a cover letter anymore?
Sometimes no — many applications mark it optional and many recruiters never open it. But when it's required, or when you're applying to a small team where a human reads everything, a sharp three-paragraph letter is a cheap edge. The trick is spending five minutes on the opener, not an hour on the whole thing. That's what AI is for: removing the hour so you can spend the five minutes.
Methodology note: tests run June 2026. One real public job posting (lightly redacted) and one composite candidate background used across all six tools, same afternoon, free tier or trial of each. Letters copied verbatim, no edits between runs. No affiliate relationship with any of the generators named.
Related read: I Tested 8 ATS Resume Scanners With the Same File — the same "one input, many tools, wildly different output" pattern, on the resume side.
The whole job-search workflow in one kit
Job Search AI Toolkit — the prompts and templates behind the cover letter, resume, LinkedIn, and salary steps I run these tests on. If the five minutes you save per cover letter is worth anything, the same approach applied to every step of the search is the real unlock — fewer hours, sharper applications, one place to keep it all.
One-time $12 · instant download · lifetime updates · model-agnostic (Claude, GPT, Gemini).
Get the Job Search AI Toolkit →Related read: I Collected 60 ATS Rejection Reasons — 47 Cited the Same 3 Triggers — the screen your cover letter has to survive before a human ever reads the opener.
← Back to all posts