How we rank
Activity-first and size-normalised. A 200-member group with 40 daily posters can outrank a bought crowd of a quarter million. Nothing here is a secret, and nothing here can be bought.
The activity score
Every group gets a score from 0 to 100, recomputed on each crawl:
score = 0.35 · posters7d_norm
+ 0.2 · msgs_per_day_norm
+ 0.15 · online_ratio_norm
+ 0.15 · growth_30d_norm
+ 0.15 · behaviorEach input is normalised on a log scale and capped, so the first few dozen posters count for more than the next few hundred: norm(x) = ln(1 + x) / ln(1 + cap), clamped to 1.
| Input | What it measures | Cap | Weight |
|---|---|---|---|
| Unique posters, 7 days | Distinct people who sent a message in the last week. The one number that separates a community from a bought crowd. | 200 | 0.35 |
| Messages per day | Estimated from date-windowed history, not from a burst of the last hundred messages. | 2000 | 0.2 |
| Online ratio | Members shown online divided by total members. A secondary signal, treated as a time series. | 0.3 | 0.15 |
| Growth, 30 days | Member growth from hourly snapshots. Zero until a group has enough history. | – | 0.15 |
| Behavior | Click-through and join conversion from this site. Zero until there is traffic to measure. | – | 0.15 |
Because growth and behavior are still zero for every group, the practical ceiling today is 70. Scores will rise as those two signals switch on; the order between groups will change less than the absolute numbers.
A worked example
A group with 2,000 members, 160 online, 300 messages a day and 40 unique posters this week:
posters ln(1+40) / ln(1+200) = 0.700 msgs/day ln(1+300) / ln(1+2000) = 0.751 online ln(1+0.08) / ln(1+0.3) = 0.293 score 100 · (0.35·0.700 + 0.20·0.751 + 0.15·0.293) = 43.9
Alive
A group is alive when its last message is at most 7 days old and it had at least 3 unique posters in the last 7 days. Alive is a gate, not a score: the Trending list and the category counts only include alive groups, and an indexed stub only gets a Google-indexable page once it is alive.
What the counts on this site mean
“Alive groups” is the one number the header, the home page and the Trending board all show, and it is the same number in all three because all three read it from the same place. It counts public groups that are alive by the rule above, that people can actually talk in — not read-only, not an ad board, and a channel’s comments section only once at least ten people have posted in it in a week — and that we are still refreshing. Groups flagged for bought members are left out. Adult groups are counted: they are listed, blurred until you confirm your age, so a count that left them out would not describe the board it links to. “Groups tracked” is the same set without the alive rule, so it is always the larger number.
“Members online across all groups” is a sum, not a headcount. Telegram reports how many members are online in each group and we add those numbers up — so somebody who is in five groups is in that total five times. There is no way to count distinct people across groups, because Telegram never tells us who they are, and we would rather name the unit than imply a number we cannot measure. Groups whose online figure is implausibly high are left out of the sum entirely.
Fake members
A group is flagged when it has more than 5,000 members, fewer than 3 unique posters in 7 days, and more than 5% of members shown online. That pattern means bought members or a broadcast channel disguised as a group. Flagged groups are excluded from rankings and featuring and carry a warning on their own page. Telegram's own scam and fake flags are shown too, but they catch almost nothing on their own.
Chat types
Telegram calls a lot of different things a “group”. On every crawl we record how a chat is joined, who may post in it and what role it plays, and the site uses those four classes everywhere: in the badges on a row, in the Join, Posting and Type filters, and in the one plain sentence at the top of a chat page.
| Class | Values | What it means |
|---|---|---|
| Join | open, approval, invite, invite_approval | Whether a public handle lets you in instantly, an admin has to approve the request first, or the chat can only be reached through an invite link. |
| Posting | members, limited, admins | Whether every member can post, members can post text but not media or links, or only admins can post. A “broadcast group” (gigagroup) is always the last one. |
| Forum | is_forum | Topics are enabled, so the group is split into separate threads instead of one stream. |
| Comments group | is_discussion | The group holds the comment threads under a channel’s posts. It is not a conversation you join on its own, and we link it to the channel it belongs to. |
The default board is standalone communities. Read-only groups and channels’ comments groups are left out of it: the first is a broadcast wearing a group’s clothes, the second is a comment section. Both still have their own pages, both are still found by search, and the Type and Posting filters bring them back in one click. Channels have a section of their own at /channels, with posts per day and subscribers instead of unique posters, and count as active when they posted within 7 days — a channel has no unique posters to count beyond its admins.
Two smaller flags are shown as badges when Telegram reports them: Protected (content cannot be forwarded out of the chat) and Members hidden (admins have hidden the member list).
These values come from the last crawl of each chat. A chat we have not re-checked since we started recording them has no type at all, and unknown never means excluded: such a chat keeps its place on the board and shows no type badge. It only drops out of a list when you explicitly filter for a value it does not have.
Private groups we only know through an invite link have no chat id at all, so they carry a title, a member count and a description and nothing else. They are listed separately, under the public results, never mixed into the ranking.
Silence and refresh
- Active: posted in the last 7 days. Refreshed daily, with hourly online snapshots for the top of each niche.
- Dormant: silent for more than 7 days. Refreshed weekly.
- Silent: more than 30 days. Refreshed monthly; the page is noindexed and the card leaves browse, but exact-name search still finds it.
Bumps and sponsorship
Bumps exist only for claimed groups with the bot inside, decay over 24 hours, and are small enough to break ties only. Sponsored slots are labeled, capped at six on the home page and three per category, require bot verification plus an alive score, and never change the organic order.
What we store, and never store
Chat id, username, title, description, flags, member and online counts, hourly snapshots, messages per day, unique posters, last message time, detected languages, peak hours and the recommendation graph between chats. Message text is discarded after language detection. We never keep member lists or any per-user data.