Tools
Free tool / no signup

Social Post CTA Checker

Paste a post to find its calls to action, count and classify them, check link placement per network, and flag engagement-bait phrases. Free, in your browser.
4
CTAs
2
engagement
2
conversion
  • Likeengagement, near the end
  • shareengagement, near the end
  • sign upconversion, near the end
  • Link in bioconversion, near the end

What to fix

  • 4 calls to action found ("Like", "share", "sign up", "Link in bio"). Keep one. Each extra ask splits the readers who act.
  • The post asks for engagement and a conversion together. Pick the one that matters for this post.

Where your link works, by network

  • X. The link is clickable in the post and X wraps it in a t.co link that counts as 23 characters. Per X's developer documentation on counting characters, checked October 2026.
  • Instagram. Links in an Instagram caption are plain text and cannot be tapped. Remove the URL and say "link in bio", then keep the bio link current. Widely documented behaviour, not re-verified against an official page this month.
  • LinkedIn. The link is clickable and LinkedIn shows a preview card built from it. Widely documented behaviour, not re-verified against an official page this month.
  • TikTok. TikTok captions generally do not make a URL tappable. Use the bio link and say so in the video or caption. Widely documented behaviour, not re-verified against an official page this month.
  • Threads. Links in a Threads post render as links. A text post can carry up to 5. Per Meta's Threads API documentation (links per text post), checked October 2026.
  • Bluesky. Bluesky renders links in the post. The URL counts toward the 300 character limit unless you attach a link card. Widely documented behaviour, not re-verified against an official page this month.
  • Mastodon. Mastodon renders links in the post and counts each as 23 characters regardless of length. Widely documented behaviour, not re-verified against an official page this month.

One CTA pattern for your goal

One verb, one benefit, one destination, matched to where links work.

Get the template: link in bio.

On networks where captions do not link, point to the bio and keep the URL out of the text.

How to use the Social Post CTA Checker

  1. Paste the whole post. Include any link and any "link in bio" line. Links are read for placement but are not counted as asks on their own.
  2. Count the asks. The checker lists each call to action it finds, labels it engagement or conversion, and warns when there is more than one.
  3. Check the link. It reports whether your link is in the text, in the bio or in the first comment, and what that does on X, Instagram, LinkedIn, TikTok, Threads, Bluesky and Mastodon.
  4. Clear the bait. Phrases that push people to react, share, tag or comment for reach are flagged so you can ask a real question instead.
  5. Use the pattern. Choose your goal and copy the single CTA pattern and example line that suits it.

How the CTA checker reads a post

What it detects

Twenty phrase families: comment, share, save, follow, like, tag, repost, reply, vote, "tell me", "drop a", DM, link in bio, link in the comments, sign up or subscribe, download, buy or book, click or visit, learn more and use code. Verbs count only at the start of a clause or after a lead such as "please", "and" or "you can", so "market share" and "I save money" do not trigger it.

A CTA is marked near the end when it falls in the last two lines or the last 30 percent of the post.

Where the link advice comes from

X counts every link as 23 characters through t.co, per X's documentation on counting characters, checked October 2026. Threads allows 5 links or fewer in a text post, per Meta's Threads API documentation, checked October 2026. The rest, such as Instagram and TikTok captions not linking and LinkedIn previewing the first link, is widely documented behaviour that we did not re-verify against an official page, and each line says so.

Limitations

English only. A pattern list cannot read intent, so "share" in an unusual sentence can be missed or caught. Treat the count as a prompt to reread, not a verdict. The bait list is ours, and no network publishes a list of banned phrases.

Frequently asked questions

Why is more than one call to action a problem?

Each extra ask gives readers another thing to do instead of the thing you want. A post that says "like, share, comment and sign up" usually gets a weak version of each. The checker flags two or more and tells you which phrases it matched so you can pick one.

What is the difference between an engagement and a conversion CTA?

An engagement CTA asks for something inside the network: comment, save, share, follow, reply. A conversion CTA asks the reader to leave or commit: sign up, buy, download, book, DM, click the link. Mixing them in one post splits attention, so the checker warns when both appear.

Which networks make a link in the caption clickable?

Widely documented behaviour: X, LinkedIn, Threads, Bluesky and Mastodon render links in the post text. Instagram captions and TikTok captions generally do not make a URL tappable, so those use the bio link. Meta's Threads documentation limits a text post to 5 links, and X's documentation says links are wrapped in t.co and count as 23 characters.

What counts as engagement bait?

Meta's newsroom post "Fighting Engagement Bait on Facebook" describes posts that push people to react, comment, share, tag or vote just to boost reach, and says Facebook demotes them. The checker uses its own phrase list written from those categories, such as "like if you", "share to win" and "tag a friend". It is a pattern match, not Meta's detector, and the same advice is sensible on other networks.

Is "comment GUIDE and I will send it" bait?

It is a gray area. It asks for comments, but in exchange for something the reader wants, and tools exist to deliver it. The checker flags it as the "comment a word to get it" pattern so you decide. If you use it, send what you promised.

Does it send my post anywhere or use AI?

No. The detector is a list of phrase patterns that run in your browser, so the result for the same post never changes and nothing is uploaded.