Skip to the checker
CLColdLint

ColdLint

AI email detector for cold outreach

Highlight the lines that read like a model wrote them, then take the suggested edit. The detector is a fixed rule list, so the same email always gets the same score.

Lint a sequence

3 free checks a day

Separate steps with a line that only contains ---. ColdLint scores the worst step.

Optional on a copy check. SPF, DKIM, DMARC, and MX are looked up live.

102 words

Ctrl+Enter

The verdict shows up here.

Scores run from rules on the server, so the same paste always lands in the same place. Nothing is sent to a model unless you later press Rewrite, and that button stays hidden until a key is configured.

  • AI-slop, with a concrete edit for each flagged line
  • Spam triggers, links, caps, and broken merge tags
  • SPF, DKIM, DMARC, and MX in plain language

What reads as generated

Cold email written by a model tends to open with a stock greeting, praise the company without naming anything, and close by asking for 15 minutes. The vocabulary repeats: delve, leverage, synergy, landscape, game-changer, seamless, robust, best-in-class. A stack of em dashes is its own tell.

One mild phrase does not fail the email. “I wanted to reach out” is a small hit. A paragraph that combines a fake compliment, a superlative, and a vague ask crosses into “do not send.” Each flagged line comes with a replacement: delete the opener, or swap the buzzword for a concrete noun.

Phrases and patterns

  • I hope this email finds you wellStock opener
  • Hope you're doing wellStock opener
  • in today's fast-paced worldThroat-clearing
  • in today's digital landscapeThroat-clearing
  • game-changerEmpty hype
  • delveAI verb
  • I love what you're doingFake personalization
  • your company is doing great thingsFake personalization
  • impressed by your workFake personalization
  • I came across your profileFake personalization
  • I noticed your companyVague personalization
  • I wanted to reach outEmpty opener
  • I am reaching outEmpty opener
  • allow me to introduceStiff opener
  • My name is Alex and IStiff opener
  • we are a leading providerBoilerplate
  • just circling backTemplate follow-up
  • bumping this to the topTemplate follow-up
  • touch baseTemplate follow-up
  • as per my last emailTemplate follow-up
  • pick your brainCliché ask
  • 15 minutes of your timeCliché ask
  • hop on a quick callVague ask
  • quick questionFake brevity
  • leverageAI verb
  • synergyBuzzword
  • cutting-edgeEmpty hype
  • state-of-the-artEmpty hype
  • unlock your potentialAI verb
  • elevate your workflowAI verb
  • take it to the next levelEmpty hype
  • seamlessAI adjective
  • robustAI adjective
  • holistic approachBuzzword
  • streamline yourAI verb
  • utilizeStiff verb
  • fosterAI verb
  • empowerAI verb
  • harnessAI verb
  • bespokeBuzzword
  • paradigmBuzzword
  • plethoraAI noun
  • myriadAI noun
  • pivotalAI adjective
  • underscoreAI verb
  • a testament toFake praise
  • ever-evolvingAI adjective
  • landscapeAI noun
  • tapestryAI noun
  • in the realm ofAI phrasing
  • it's worth notingThroat-clearing
  • don't hesitate to reach outStock closer
  • feel free to reach outStock closer
  • looking forward to hearing from youStock closer
  • excited to connectStock closer
  • furthermoreEssay glue
  • moreoverEssay glue
  • in conclusionEssay glue
  • moving forwardFiller
  • at the end of the dayFiller
  • not only, but alsoEssay rhythm
  • transformativeEmpty hype
  • revolutionaryEmpty hype
  • visionaryFake praise
  • innovative solutionBoilerplate
  • tailored solutionBoilerplate
  • best-in-classEmpty superlative
  • world-classEmpty superlative
  • next-generationEmpty hype
  • industry-leadingEmpty superlative
  • pain pointsSales jargon
  • deep diveSales jargon
  • resonate with youAI verb
  • incredible opportunityEmpty hype
  • don't miss thisHype
  • the future of innovationEmpty hype

Merge tags such as {{firstName}} are left alone. Broken ones, including single braces and [First Name], are flagged because they ship as literal text. That is a different failure from sounding generic, and it blocks a “ready to send” verdict on its own.

Scores do not call a model. Rewrite is a separate Pro action, and it only appears when the server has an API key. The prompt tells the model to keep your merge tags and not invent numbers or customer names.

For the rest of the pre-send check, including spam risk and the sending domain, use the main ColdLint checker.