Telegram post analyzer

Paste a public Telegram channel and this reads up to 100 of its posts, scores each one against what a post of the same age normally does on that channel, and shows what the strong ones had in common: media, link cards, length, emoji, formatting, forwards, hashtags and the hour they went out.

Free, no account. We read the channel's public post archive on t.me and compare each post against the channel's own posts of the same age, never against Telegram at large.

What it reads, and what it refuses to conclude

PlayerSells reads a public Telegram channel's post archive on t.me - up to 5 pages of 20 posts, about 100 in total. Each post gives up an exact UTC timestamp, a view counter, a reaction bar, the text, and markers for media, link previews, forwards and replies. No API key, no bot token, no account, and nothing that is not already visible to anyone who opens the channel.

Every verdict is internal to the channel and corrected for post age. Telegram view counters only ever go up, so the oldest posts win any raw comparison automatically; each channel's own accumulation curve is fitted from its own posts and each post is scored as a ratio against what its age predicts. A post is called above or below normal at 25% either side of typical, which is deliberately loose: t.me abbreviates view counts above a thousand to three significant figures, so a few percent of any gap is rounding rather than reach.

Format effects are medians, not averages, and they come with their sample sizes attached. One post going viral would otherwise decide the answer for whichever half of a split contained it. A split whose halves sit within 10% of each other is reported as no real difference; a split with fewer than 4 scored posts on either side is reported as not enough data. Both are printed as rows in the table, because a table showing only the confident findings hides how thin the rest of the evidence was.

Posts under 6 hours old are listed but carry no verdict. A post's first hours accumulate faster than any single exponent describes, and measured on @nexta_live on 3 September 2026 the four newest posts in an 84-post sample scored 0.57 to 0.86 while the age band around them averaged 1.01 - they were young, not weak. Without that floor the "fell shortest" panel on a busy channel is its four most recent posts, every single time.

The floors are 12 posts with usable timestamps before the tool answers at all, and 8 carrying view counters before anything is ranked. A channel that publishes no view counts is refused with that stated as the reason, because substituting zero would report a working channel as having reached nobody.

Reactions are read from the reaction bar Telegram renders under a post. Not every channel enables them, so the result reports how many of the posts it read actually showed one rather than treating an absent bar as zero reactions.

How to read the result

  1. 1Start with the findings block. It only prints the splits that actually reached a readable difference on your sample, so if it is short, that is the honest state of the evidence rather than a gap in the tool.
  2. 2Check the format table's sample sizes before acting on a row. Two posts either side of a split is not a finding no matter how large the percentage next to it looks.
  3. 3Read the over-performers as a group, not one at a time. What matters is what several of them share; a single post that went further than the rest usually went there for a reason nothing in the markup can see.
  4. 4Look at the age correction block at the bottom. If no curve could be fitted, the ordering is weaker and the page says so, and the fix is a channel with a wider spread of post ages rather than a different tool.

What this cannot tell you

It cannot separate a format from what was published in it. If a channel puts its strongest material in videos, video will look like a strong format. The age correction removes the calendar from the comparison; nothing removes content quality, and no amount of arithmetic over view counts can.

It cannot see forwards out of the channel, joins, mutes, or anything else Telegram keeps to the channel owner. It sees what the public archive shows: views, reactions and the post itself. A post that drove a hundred joins and a post that drove none look identical from outside.

It cannot compare two channels. Nothing here is a cross-channel benchmark, because Telegram publishes no aggregate against which one could be built. Every ratio on the page is against the channel’s own posts.

Frequently asked questions

What does it compare a post against?

The same channel's other posts, of the same age. Nothing is compared across channels: 1,400 views is a hit on a channel whose typical post gets 900 and a failure on one whose typical post gets 900,000, so a cross-channel benchmark would give the same verdict to both. A post is called above or below normal when it sits more than 25% either side of what a post of its age normally does on that channel.

Why does post age matter so much?

Because Telegram view counters never reset. A post from three weeks ago has had three weeks to collect views, so without a correction the oldest posts always look like the best ones. This tool measures each channel's own accumulation curve from its own posts and scores every post as a ratio against what its age predicts. The fitted exponent is shown with the result so the correction can be checked rather than trusted.

How does it decide that a format helps?

By splitting the scored posts in two and comparing the median performance of each half. Medians, not averages: one post going viral would otherwise decide the answer for whichever group happened to contain it, and on Telegram that post is often ten times the size of the rest. A gap under 10% is reported as no real difference, and a split with fewer than 4 scored posts on either side is reported as not enough data. Both of those appear as rows in the table rather than being hidden.

Which signals does it read?

Per post: the exact timestamp, the view counter, the reaction bar and its total, the text and its length, whether media is attached and of what kind, whether Telegram rendered a link preview card, how many outbound links, hashtags, mentions and emoji the text carries, whether it uses bold, italic, code or quoted text, whether the post is a forward from another channel and from where, and whether it replies to another post.

Can it tell me why a post did well?

It can tell you what that post had in common with the channel's other strong posts, which is not the same thing. A channel that happens to put its best material in videos will show video as a strong format, and the arithmetic cannot separate the format from the material. Treat a strong signal as something worth testing deliberately, not as a proven cause.

Why do some posts show no score?

For one of two reasons, and the label says which. Telegram printed no view counter under it, in which case there is nothing to score. Or it went out less than 6 hours ago, in which case it has not finished collecting views and comparing it against a day-old post would call it weak for being new. Either way the post is still listed with everything else that was read and takes no part in any ranking. Substituting zero would drag every median it touched downwards and report a working post as having reached nobody.

Does it work on private channels or groups?

No. Private channels, groups, bots and channels with the web preview switched off publish no post archive, so there is nothing to read, and groups have no per-message view counter at any level. The tool names which of those it hit instead of showing an empty result.

PlayerSells is not affiliated with Telegram. Post text, timestamps, view counts and reaction totals on this page are read from Telegram’s own public channel preview at the moment you run the tool, and are not edited. The age correction, the over- and under-performance thresholds and the evidence floors are ours and are enforced in code. Telegram abbreviates view counts above one thousand, so every figure derived from them carries three significant figures.