5 free per dayNo signup to try

✍️Cover Letter Generator

Paste your resume into the first box, paste the job description into the second, and get back three cover letter variants written in different tones: professional and formal, friendly and conversational, enthusiastic and bold. Each variant cites real experience from your resume and quotes specific requirements from the JD. None of them lead with the cliched "I am writing to apply for..." opening, none of them use the words passionate, dynamic, or results-driven, and none of them invent achievements you did not put on your resume. Pick the variant that best matches the company culture, edit for personality, and send.

Three tone variants, formal, friendly, enthusiastic
Cites specific JD requirements and your real resume bullets
No clichés, no "I am writing to apply" openings
Edit-ready in 60 seconds
0 chars
0 chars · combined 0

Why cover letters still matter (when written well)

Half of hiring managers admit they skim or skip cover letters, but the other half use them as the deciding factor between two otherwise comparable candidates. The skip-rate is mostly a function of how bad most cover letters are. A generic letter that opens with "I am writing to apply for the role of..." and lists the same skills that are already on the resume gives the reader no new information, so they skip to the resume. A good cover letter does three things: it shows you read the JD beyond the title, it tells a 60-second story that the resume cannot, and it signals fit with the company in a way that ranked bullet points cannot. The tool aims at exactly those three jobs.

The opening of each variant tries to do work. Variant one (formal) opens by naming the role and a specific requirement that maps to a specific piece of your experience. Variant two (friendly) opens with a hook drawn from the company or product. Variant three (enthusiastic) opens with a strong stance or specific accomplishment that connects to the role. None of them open with the standard "I saw your posting" or "I am writing to apply for" phrasing, both of which immediately mark the letter as a template. The middle of each letter cites two to three resume achievements that map to JD requirements with the kind of specificity that the resume bullet alone cannot show.

Tone matching matters more than candidates realize. A formal letter sent to an early-stage startup reads as stiff and signals you did not research the culture. A casual letter sent to a Fortune 100 financial services firm reads as unprofessional. The three variants exist so you can pick the one that matches the company. Read the JD for tone cues. Words like "team", "we", "you will", and "growth mindset" lean toward variants 2 or 3. Words like "shall", "will be responsible for", "qualifications include" lean toward variant 1. When in doubt, variant 2 (friendly and professional) is the safe middle ground.

The output is plain markdown that you paste into Google Docs, Word, or your application form. Address fields use [Hiring Manager Name] as a placeholder, which you fill in from LinkedIn or the company website (and you should, addressing the letter to a specific person significantly increases response rate). The closing uses [Your Name] which you replace with your actual name. The rest of the letter is ready to send. Spend the saved time on personalization, not on the structure.

How to use Cover Letter Generator

  1. 1

    Paste your resume

    Copy the full text of your resume into the first box. The letters cite specific bullets from your resume, so the more complete the source, the more specific the citations.

  2. 2

    Paste the job description

    Copy the full posting into the second box including responsibilities, requirements, and any "about us" company section. The letters quote specific JD requirements, richer JD text produces sharper letters.

  3. 3

    Click Run Cover Letter Generator

    The tool sends both inputs to Claude with strict instructions to vary tone across variants, cite specific resume content, and never use clichés. Generation takes 25 to 35 seconds.

  4. 4

    Read all three variants and pick one

    The three variants are genuinely different in voice, not paraphrased. Read all three even if you have a strong gut preference. Sometimes the variant you would not have written is the right match for the company.

  5. 5

    Edit and personalize

    Replace [Hiring Manager Name] with the actual name (LinkedIn, company website, or the JD if listed). Tweak one or two sentences to add personality. Re-read for any phrase that sounds canned and rewrite it. Send.

Real-world use cases

Senior engineer applying to a Series A startup founded by a known investor

The candidate picks variant 3 (enthusiastic) because the company writes in a casual, bold voice on their blog. The letter opens by naming a specific technical challenge from the JD and connecting it to a recent project on the candidate's resume. The hiring manager mentions the opening line specifically in the interview.

Marketing director applying to a Fortune 500 consumer goods company

The candidate picks variant 1 (formal) because the company's tone is corporate and the JD uses phrases like "will be accountable for" and "must demonstrate". The letter cites two specific resume accomplishments that map to the JD's growth and brand-strategy requirements. The letter passes the company's ATS review and reaches a human reader.

Career changer (teacher → corporate L&D)

The candidate picks variant 2 (friendly) because the JD emphasizes "growth mindset" and "we love teachers turned trainers". The letter opens with a specific moment from the candidate's teaching career that shows transferable skill, cites the JD's requirement for curriculum design, and addresses the obvious career-change question head-on. The recruiter calls.

Recent graduate applying to entry-level analyst roles

The candidate generates letters for three roles in one afternoon. Each variant for each role takes 30 seconds to generate and 5 minutes to personalize. The candidate sends six well-tailored letters in the time it would have taken to write one generic letter. Two interviews result, both from variants where the candidate edited the opening line to mention something specific about the company.

Pro tips

💡 Always find the hiring manager's name

Replace [Hiring Manager Name] with the actual name from LinkedIn or the company website. A cover letter addressed to "Hiring Manager" reads as a template, the same letter addressed to "Maria Lopez" reads as effort. Five minutes of LinkedIn research per application makes a real difference.

💡 Read your chosen variant aloud before sending

If a sentence sounds canned when you say it out loud, rewrite it. Cover letters that read smoothly out loud read well silently too. Cover letters that read poorly out loud get skipped by the reader.

💡 Match the tone variant to the company voice

Check the company blog, social media, or careers page for tone cues. A formal letter to a casual company reads stiff. A casual letter to a formal company reads unprofessional. Variant 2 is the safe middle when you cannot tell.

💡 Run resume-tailor first if you have not yet

A tailored resume gives the cover-letter generator stronger raw material to cite. Run /ai/resume-tailor on your resume + JD first, then run the cover letter generator on the tailored output and the same JD.

Frequently asked questions

Will the letter invent achievements I did not include in my resume?

No. The system prompt instructs Claude to cite only experience present in the resume input. If your resume does not mention a specific project, the letter will not cite that project. If you want a specific story in the letter, add it to your resume input first.

Why three variants instead of one?

Companies have different cultures, and a letter that works for an early-stage startup will be wrong for a Fortune 500 firm. Three variants let you pick the right tone after reading the JD and the company voice. Generating one variant assumes the AI can read the company culture from the JD, it cannot reliably.

How long are the letters?

Variant 1 (formal) runs 280 to 350 words. Variants 2 and 3 run 250 to 300 words. All three fit on one page in standard formatting and meet the implicit "one page" expectation for cover letters in most industries.

What about ATS systems that filter cover letters?

Most ATS systems scan cover letters for keyword presence but do not reject letters on the same basis as resumes. The bigger filter is the human reader. Write the letter for the human, the keyword overlap with the JD is high enough by default because the letter cites JD requirements directly.

Can I edit the variants and run them through the generator again?

Run the generator once, then edit by hand. Running edited output back through the generator tends to flatten the personality you added in editing. The first generation produces the best starting point.

How do I handle a JD with no listed hiring manager?

The variants use [Hiring Manager Name] as a placeholder. Find the name on LinkedIn (search "company name" + "recruiter" or "head of hiring"), on the company team page, or in the LinkedIn job posting itself. Last resort: "Dear Hiring Team," (not "Dear Sir/Madam," which reads dated).

Will my resume and JD be stored?

No. Both inputs are sent to Anthropic Claude for the generation step only. We do not store the resume, the JD, or the output. Each session is independent.

Should I send the same variant to multiple companies?

No. Each variant cites specific requirements from a specific JD. Sending the same letter to multiple companies misses the entire point of tailoring. Generate fresh letters per application, it takes a minute per round.

Related tools