How to write X posts that get shared, not just liked
Most advice about X still counts likes. X's own ranking code does not. When the feed decides how widely to show a post, it predicts what each reader will do with it and adds those predictions up with weights, and a like is one of the lightest actions on the list. A reader copying the link to send your post to someone is worth many times more. A reader muting you or marking the post "not interested" costs more than almost anything else earns.
This guide walks through the method the generator above follows: open on a moment, carry one idea, leave room for a real reply, and keep the post clean. Then it explains how to read the score the tool gives you. Use it to write by hand, or to check a draft before you post it. The tool is free, needs no signup and gives you two free runs once you accept cookies.
What X's ranking actually pays for
X published the code that ranks its feed. The weights below come from that code (the file is called param.rs), read in September 2026. They are relative: what matters is how each action compares with the others, not the exact number.
| What a reader does | Weight |
|---|---|
| Copies the link to send the post to someone | 20 |
| Replies | 5 |
| Quotes the post | 5 |
| Shares it by direct message | 5 |
| Follows the author | 4 |
| Reposts | 1 |
| Likes | 0.5 |
| Mutes the author or marks "not interested" | about minus 43 |
- What a reader does
- Copies the link to send the post to someone
- Weight
- 20
- What a reader does
- Replies
- Weight
- 5
- What a reader does
- Quotes the post
- Weight
- 5
- What a reader does
- Shares it by direct message
- Weight
- 5
- What a reader does
- Follows the author
- Weight
- 4
- What a reader does
- Reposts
- Weight
- 1
- What a reader does
- Likes
- Weight
- 0.5
- What a reader does
- Mutes the author or marks "not interested"
- Weight
- about minus 43
Why a send is worth more than a like
A like costs nothing. People tap it while scrolling, often without reading past the first line. Sending a post to a friend is different: the reader decided it was useful or funny enough to put their own name next to it. That is the signal the feed trusts most, and it is the one to write for.
So ask every draft "who would someone send this to, and why?" A bakery owner's post about the morning a wedding cake collapsed an hour before delivery gets sent to every friend who runs events. "Quality matters in baking" gets sent to nobody.
The negative row matters just as much: one mute erases dozens of likes. Sales pitches, tired opinions and engagement bait are what readers mute, so a post that earns a little and annoys nobody often wins.
The first line decides everything
On X, the first line is most of what a scrolling reader sees. Open on a moment, not a lesson. "Three tips for better customer service" announces homework. "A customer walked back into the shop to return a tip she said was too big" puts the reader inside a scene and leaves them wanting the rest.
A good opening has a person, a moment you could film, and one concrete detail. The lesson can still be there; it just arrives inside the story instead of in front of it. Avoid openings that start with "Here's why", "Unpopular opinion" or a rhetorical question. Readers have seen them thousands of times and skip them on sight.
If you want more opening ideas to test, the hook generator writes several from one idea.
One idea per post
A post that tries to say three things says none of them. Before you write, finish this sentence: after reading this, the reader will know that... If the answer needs an "and", you have two posts. Keep one and save the other for tomorrow.
One idea is also easier to send: someone forwarding it can say "this is exactly what happened to us" in one breath.
Write for a reply without asking for one
Replies carry real weight, but asking for them outright works against you. Endings like "Thoughts?", "Agree?" or "Drop a comment below" are engagement bait. Readers recognise them, and they are exactly the kind of thing people mute.
A post earns replies by leaving room for them. Take a clear position someone in your field might push back on. Tell a story that makes readers think of their own version. Share a decision and the reason behind it, so people who decided differently want to say why. A gardener who writes "We stopped planting lawns for clients this year, and the one who argued hardest now sends us her neighbours" will hear from every reader with an opinion on lawns, without asking for a single comment.
Line breaks, links and the clean post
Short lines with a blank line between beats are easier to read on a phone than a single block. Break where the thought turns, not after every sentence: a column of one-line fragments reads like a slogan.
Every link counts as 23 characters on X, whatever its real length, so it eats into a short post. Many accounts also report that posts with a link in the body seem to travel less than the same post without one. We cannot confirm that from X's code, but the generator leaves links out either way. If you need to point somewhere, a common habit is to put the link in a reply under your own post.
The generator also leaves out hashtags, @mentions and emoji. They only add noise to a short post. Most of all, it invents nothing: no clients, no quotes, no statistics. A made-up figure is the fastest way to lose the trust that makes people send your posts.
Length: standard and Premium
A standard X account can post up to 280 characters. X Premium allows posts of up to 25,000 characters, but past a few lines the feed folds the text behind "Show more", and most readers never open it. The generator writes to the standard 280 so the whole post fits on screen and anyone can publish it.
Shorter is not always better. A post should be as long as its one idea needs. To check a draft of your own, paste it into the X character counter, which counts the way X does.
One post or a thread
A single post is right when the idea fits: one moment, one point, one turn. A thread is right when each step can stand on its own, such as a process with several stages or a story with distinct parts. The first post of a thread must work alone, because most people who see it never open the rest.
This generator writes one post, on purpose. If your idea needs more room, the X character counter can split a longer text into a numbered thread.
How to read the score
After writing the post, the tool scores it with the same judge Quetzal runs on every X post it writes. Three simulated readers from the audience you describe each predict how likely they are to take every action in the table above. The code takes the median of the three, so one odd reading cannot swing the result, and turns it into a score from 0 to 10 with X's weights.
If the first draft scores under 6, the tool rewrites it once and keeps the new version only if it scores higher; the page then says it was raised from the first score. You will also see which actions the post is predicted to earn, a warning if readers might mute it, and on the English page up to two changes that would lift it.
Treat the score as a check, not a forecast of your views. A low score usually points to one fixable thing: a lesson where a moment should be, a second idea, or an ending that begs.
- High score, no mute warning: post it.
- Middle score: read the suggestions and change the one that makes the post more specific.
- Mute warning: remove anything that sounds like selling or bait before anything else.
Doing this every week
One good post is easy to write when you have a free afternoon. Writing several every week, on X and everywhere else, is where most small businesses stop. Quetzal is our product, and it does that part: it writes, schedules and publishes posts like these on X and five other networks every week, each X post scored by the same judge before it goes out. For small accounts it keeps X text first, because plain posts from small accounts tend to travel further than designed images.
To see a week of posts made for your own business, try the free demo.