Tools
Free tool / no signup

Hook Line Tester

Paste up to 5 candidate opening lines and rank them by fold fit, number, question, curiosity gap and stock openers, with editable weights and an export.
Weights (points added when the signal is present)
Rank 1

Nobody tells you what a 3pm calendar slot costs

90
of 100

47 characters. Instagram fits, LinkedIn fits, X fits, TikTok fits.

  • Fits the fold of the chosen network+15
  • Contains a number+15
  • Asks a question
  • Speaks to "you"+15
  • Has a concrete noun (approximate)+15
  • Opens a curiosity gap (nobody tells you)+20
  • Reads at grade 8 or lower (grade 6.3)+10
  • Starts with a stock opener
  • Uses passive voice
Rank 2

I lost 12 clients before I learned what Monday invoices do

75
of 100

58 characters. Instagram fits, LinkedIn fits, X fits, TikTok fits.

  • Fits the fold of the chosen network+15
  • Contains a number+15
  • Asks a question
  • Speaks to "you"
  • Has a concrete noun (approximate)+15
  • Opens a curiosity gap (before and after, I spent / I lost / I paid)+20
  • Reads at grade 8 or lower (grade 4.8)+10
  • Starts with a stock opener
  • Uses passive voice
Rank 3

Why do your best posts get skipped after the first line?

70
of 100

56 characters. Instagram fits, LinkedIn fits, X fits, TikTok fits.

  • Fits the fold of the chosen network+15
  • Contains a number
  • Asks a question+10
  • Speaks to "you"+15
  • Has a concrete noun (approximate)
  • Opens a curiosity gap (why X (unexplained))+20
  • Reads at grade 8 or lower (grade 1.6)+10
  • Starts with a stock opener
  • Uses passive voice
Rank 4

A new post format has been introduced by the platform

15
of 100

53 characters. Instagram fits, LinkedIn fits, X fits, TikTok fits.

  • Fits the fold of the chosen network+15
  • Contains a number
  • Asks a question
  • Speaks to "you"
  • Has a concrete noun (approximate)
  • Opens a curiosity gap
  • Reads at grade 8 or lower (grade 4.8)+10
  • Starts with a stock opener
  • Uses passive voice-10
Rank 5

Exciting news! We're thrilled to launch our new scheduling feature

0
of 100

66 characters. Instagram fits, LinkedIn fits, X fits, TikTok fits.

  • Fits the fold of the chosen network+15
  • Contains a number
  • Asks a question
  • Speaks to "you"
  • Has a concrete noun (approximate)
  • Opens a curiosity gap
  • Reads at grade 8 or lower (grade 7.2)+10
  • Starts with a stock opener ("exciting news")-30
  • Uses passive voice

Export the ranking

How to use the Hook Line Tester

  1. Write your options. Put one candidate first line on each row. Up to five are scored, so keep only the ones you would honestly post.
  2. Pick the fold. Choose Instagram, LinkedIn, X or TikTok. The tester checks whether the whole line is visible before the "more" cut.
  3. Read the signals. Each line shows which of nine signals it has, how many points each added or removed, and the total out of 100.
  4. Change the weights. If you think a question matters more than a number for your audience, edit the points. The ranking reorders at once.
  5. Export and decide. Copy the ranking as plain text for your notes. The score ranks drafts against each other. It does not predict reach.

How the hook line tester scores a line

The nine signals and their default points

Fits the fold 15, contains a number 15, speaks to "you" 15, has a concrete noun 15, opens a curiosity gap 20, asks a question 10, reads at grade 8 or lower 10. Two signals subtract: a stock opener takes away 30 and passive voice takes away 10. The total is clamped between 0 and 100.

A concrete noun is a heuristic: a word from a short list of everyday objects and roles, or a capitalised word that is not the first word, which usually means a name, place or brand. Passive voice is a "to be" verb followed by a past participle. Grade is the Flesch-Kincaid grade of the line.

Sources and what is approximate

The 280 character figure for X comes from X's documentation on counting characters. The Instagram, LinkedIn and TikTok fold points are approximate observations, not published limits. The weights are editing judgement, not network rules.

Limitations

English only. The pattern lists catch common phrasings and will miss clever ones. The grade formula is unreliable for a single short line, so a score of 0 to 3 only means the line is plain. A high score means the line has more of the known signals, not that it is good.

Frequently asked questions

How is this different from the caption readability checker?

The caption readability checker scores a whole caption and gives a four-point hook checklist for its first ten words. This tool is about the first line only: it compares up to five alternatives side by side, checks each against where the "more" cut falls on four networks, tests for curiosity gap patterns and stock openers, and lets you edit the weights.

Where do the fold numbers come from?

X is 280 characters, the standard post length in X's documentation. That is a post limit, not a fold, so a line over 280 is cut off rather than collapsed. Instagram (about 125), LinkedIn (about 210) and TikTok (about 80) are observed, approximate cut points, because those networks do not publish a fold number. The cut also shifts with screen width and font size, so treat them as a guide.

What counts as a curiosity gap?

A line that promises information it does not hand over yet. The tester looks for 20 phrasings such as "nobody tells you", "I stopped", "unpopular opinion", "the real reason" and "I spent $". It is a pattern match, so a line can open a gap in words the list does not cover.

Why do stock openers lose points?

Openers like "Exciting news" or "I'm thrilled to announce" use the most valuable characters on a phrase that tells the reader nothing yet. The tester checks 50 of them at the start of the line and subtracts points when one is there. Change the weight to zero if your audience likes them.

Is the score a prediction of how the post will perform?

No. It is a transparent checklist, not a model trained on engagement. Use it to choose between your own drafts and to notice what a line is missing, then let real results correct the weights you trust.

Does it use AI or send my lines anywhere?

No. Every signal is a fixed rule that runs in your browser, so the same line always gets the same score and nothing is uploaded.